PHPで開発されたWebアプリケーション(レストラン向けのロイヤルティプラットフォーム)があります。しかし、これらの商人のほとんどは、常にインターネットに接続していません。それで、マーチャントモジュールのみをデスクトップアプリケーションに変換して、マーチャントがスタンドアロンで動作し、インターネット接続があるときはいつでもWebアプリケーションに同期する方法はありますか.
4 に答える
はい、可能ですが、魔法使いの仕事とは異なります。
PHP しか知らない場合は、Titaniumを使用してデスクトップ アプリをデプロイできます。ローカル データベース、XML、jSON、または SQLite を使用できます。インターネットへの最初の接続時に、ローカル データベースをクリアしてリモート データベースを更新できます。
私は同様のプロジェクトに取り組んでおり、私の場合は以下のアプローチに従っています。
- Web アプリケーションは PHP と MySQL
- デスクトップ アプリケーションは、SQL Lite を使用した .net アプリケーションです。
- Windows サービスはインターネット接続をチェックし、バックグラウンドでデータベースを同期します
私の場合、ユーザーは数日または数週間オフラインになる可能性があり、データは私にとって重要であり、HTML 5 のオフライン コンテンツは最適な選択肢ではないと感じました。
いいえ。デスクトップ PHP アプリの設計は Web PHP アプリの設計とは大きく異なり、大量の再設計が必要になります。
そうは言っても、Web サーバーをクライアントのマシンにデプロイして、そこで Web PHP アプリを実行させることができます。ただし、同期を機能させるには、まだ再設計が必要です。
使い慣れた .net または Java でデスクトップ アプリケーションを開発し、SQLite などのデータベースを使用してデータをローカルに保存します。ユーザーがオンラインになるたびに、オンライン データベースに接続してデータを同期する必要があります。
同じデータが異なるユーザーによって更新される可能性がある場合は、どちらのデータを使用する必要があるかのデータ レコードが両端で更新される場合など、競合するシナリオの処理を計画する必要があります。同時更新が不可能な場合は、ユーザーがオンラインになったときにデータをアップロードする必要があります。