アプリケーションではサーバーを実行する必要があります。これは、一定の可用性、接続性、および無制限の処理能力を前提としています。携帯電話はこれらのどれも提供しません。
携帯電話は、処理と電力の需要を最小限に抑えることで、バッテリ寿命を節約するように設計されています。これらの 2 つの点は、サーバーの実行とは正反対です。
ただし、ランダムなクラッシュやダウンタイムがないという意味で、安定性が必要です。
ソフトウェアが正しく作成されていると仮定すると、クラッシュについて心配する必要はないかもしれませんが、OS は常にシステムをスリープ状態にしようとします。
- CGI スクリプトを実行できる Web サーバーを実行する (vanilla CGI)
- SMS に応答する
- SQLite データベースを処理する
- Python で実行します (Java への移植は時間の制約により実行できないため)。
小規模な仮想サーバーを使用しないのはなぜですか? サーバーは月額わずか 5 ドル (例: DigitalOcean ) で簡単に購入でき、 Twilioを SMS ゲートウェイとして使用できます (SMS あたり数セント)。安価で、入手可能で、信頼性が高く、可用性が高い。プリインストールされた Ubuntu イメージを取得し、そこにいくつかの追加パッケージをインストールすると、Python と SQLite を使用できます。また、モバイル/SMS 側 (信号強度、ネットワークの可用性など) についてまったく心配する必要はありません。上記のすべての点は、このソリューションによって満たされます。
サーバーを外部 (つまり「クラウド内」) で運用したくない場合は、古い PC を使用して Linux をインストールできます。または、プラグコンピューターを使用して、ほとんど目に見えないサーバーを使用することもできます. 携帯電話よりも適したハードウェアの選択肢はたくさんあります。
さまざまな理由から、これを Android フォンで実行すると、既存のセットアップに関するいくつかの問題が解決されます。
どのように?Android が好まれる理由は何ですか? ラップトップのバッテリーの問題について言及している場合、電話は同様の(悪くはないにしても)運命に苦しむでしょう.
要するに、そのようなシステムは安定しますか? コアプログラムが健全であると仮定すると、それを信頼できますか?
おそらく、ずっと OS とハードウェアと戦っていることでしょう。サーバーは常に稼働している必要がありますが、携帯電話は可能な限り稼働していないことを望んでいます。ハードウェアとソフトウェアのスタック全体が、省電力のために最適化されています。モバイルは断続的な充電でバッテリーから動作するように設計されており、その熱管理システムはできるだけ頻繁に CPU を起動しないように設計されています。モバイルをサーバーとして実行しようとすると、ハードウェアがすぐに使い果たされる可能性があります。24 時間 365 日稼働するようには設計されていません。そのようなシステムを実行することができ、おそらくしばらくは機能するでしょうが、そう遠くないうちにハードウェアを交換する必要があると思います。
サーバーを実行するタスクに適したハードウェアを使用してください。最近は古い PC を簡単に手に入れることができるので、無料で手に入れることができるはずです。
また、CGI は本当に要件ですか? WSGI を実際に確認する必要があります。それははるかに効率的です。CherryPi は優れた Python サーバーであり、Flask も一見の価値があります。