現在、市場に出回っている 2 つのモデルがあります。
- ブレンドされた UI。サーバーはまだ UI 構築作業に関与していますが、その多くは JavaScript にオフロードされています。これは、多くの JavaScript ツールキット (dojo、extjs などを除く) が機能する方法です。
- 分離された懸念。サーバーは、データの保存と同期の手段としてのみ扱われます。アプリは完全にクライアント側で実行され、場合によってはローカル ストレージでも実行されます。これがフレックスの仕組みです。
2 番目のモデルに移行すると思います。これは、サーバーで UI の状態を追跡する必要がないことを意味し、アーキテクチャが大幅に簡素化されるためです。私は ExtJS と Flex をいじっていますが、開発エクスペリエンスはデスクトップ アプリを構築するのとよく似ていますが、派手なドラッグ アンド ドロップ IDE はありません。このように、3 層デスクトップ アプリと Web アプリの大きな違いを考えるのは困難です。
したがって、私のアドバイスは次のとおりです。Web アプリを作成していると考えるのはやめてください。何かがサーバーに属しているかどうかを常に疑ってください。新しいモデルでは、そうでないことが多いためです。また、アプリがクライアント側の場合、すべてのコードを毎回ダウンロードすると時間がかかりすぎるため、ギアまたはブラウザー キャッシュを効果的に使用してください。