プレゼンテーション ツールとして ExtJS を使用して RIA の構築を開始しました。ExtJS 4.x を使用すると、JS コードを通常の方法または MVC の方法に分解できるという質問があります。
どのアプローチをとるべきか、またどのような状況下で行うべきか?
JavaEE REST Web サービス (json) をデータ ソースとして使用します。はい、私たちのアプリケーションはデータ集約的でモジュール化されます (複数の高レベル モジュールがあり、12 以上あります)。
プレゼンテーション ツールとして ExtJS を使用して RIA の構築を開始しました。ExtJS 4.x を使用すると、JS コードを通常の方法または MVC の方法に分解できるという質問があります。
どのアプローチをとるべきか、またどのような状況下で行うべきか?
JavaEE REST Web サービス (json) をデータ ソースとして使用します。はい、私たちのアプリケーションはデータ集約的でモジュール化されます (複数の高レベル モジュールがあり、12 以上あります)。
コードとアプリケーションの特定の機能をより適切に分離するには、MVC アプローチを使用することをお勧めします。
これにより、新しい開発者は、特定の機能を探す場所 (導入のスピードアップ) と、新しい機能を配置する場所を知ることができます。
Ext ローダーを使用すると、多くのファイルを簡単に操作できます。ファイルが多すぎることが問題であると思われる場合は、展開する前にそれらを 1 つのファイルに圧縮してください。
私の本では、小さなファイルがたくさんあるほうが、大きなファイルが少ないよりも常に好まれます。
最初からコードを実装している場合、MVC パターンのような推奨されたよく知られた手法を使用しない理由がわかりません。
Senchaチームも推奨しています。
私は常に ExtJS 4 (またはその他のフレームワーク) を使用した MVC 開発へのモジュラー アプローチを選択します。ExtJs 4 のドキュメントを見ると、複数のエンタープライズ レベルの単一ページ Web アプリケーションを作成したことがない人は、ExtJS で使用できる唯一の設計パターンは次のように書くことだと信じるようになる可能性があります。
しかし、十分な経験を積んだ人なら誰でも、それはまずい設計パターンだと言うでしょう。
モジュラー MVC 設計パターンは、ローカルおよびグローバル レベルのイベンティングに依存することで、懸念事項の強力な分離を増幅します。Web アプリケーションを管理しやすい小さな部分 (ユーザーの資格情報に基づいて最下層から渡された JSON 構成オブジェクトに基づいて大きなアプリケーションを作成するためにまとめられた小さなアプリケーション) に分割します。他の既存の機能を損なうことなく、大規模なアプリケーションに新しい機能を追加できます。これにより、バグ修正がより集中的なタスクになります。また、実際の前または後の単体テストを非常に簡単にする共通パターンも作成します。
ExtJS 4 を使用したモジュラー デザイン パターンの実装に関する記事はまだあまり見たことがありません。その方法は、ESRI の Javavscript API を使用した 6 年間のプログラミングから学びました。それは私の人生をずっと楽にしてくれました。また、エンタープライズ レベルのシングル ページ Web アプリケーションの Javascript 開発が楽しくなりました。
答えは、Ext JS の能力のレベルに大きく依存します。フレームワークに慣れていて、動的読み込みがどのように機能するかを理解している場合は、おそらく MVC をうまく使用できるでしょう。
ただし、Ext JS を使い始める場合 (またはサードパーティ製ツールの成熟度を高める必要がある場合) は、通常の Ext JS を使用する必要があります。MVC でできることはすべて、MVC なしで行うことができます。MVC は、学習曲線に追加される構造化ファイルの新しいパターンを導入します。
Ext JS 4.x の新しいバージョンへのアクセスも考慮する必要があります。4.1.3 (または新しい 4.2 ベータ版) を入手できれば、4.1.0 以前を使用した場合よりも MVC でより多くの成功を収めることができます。リリース ノートによると、MVC だけで 14 のバグが 4.1.2 と 4.1.3 で修正されました。