この記事はhttp://docs.sencha.com/ext-js/4-0/#!/guide/mvc_pt1の抄訳・意訳です。
アプリのスケーラビリティ、メンテナビリティ、フレキシビリティはほぼアーキテクチャで決まる。
が、残念なことに最初から考慮されていることはあまりない。
アプリの主要なコンセプトを初期に確認することや、プロトタイピングは大事だ。
Exampleとして書いたコードはほっとくとアプリの色んなところにコピーされる。
プロジェクトの最初の進捗を進めるためにExampleをコピペさせたくなるかも知れないが、メンテナンスコストを増やすのでやめること。
よりよいアプローチはコーディング前に規約に従い、MVC+Storeモデルに沿ったアプリをデザインすること。
これから、実例を元にUIのアーキテクチャをデザインするする方法を議論していく。
Code Organization
アプリケーションアーキテクチャ(フレームワーク)は多くが構造と一貫性に関するものである。
アプリケーションアーキテクチャのメリットは以下。
・すべてのコードが同じように動くので学習コストが下がる
・すべてのコードが同じように動くのでコードの再利用が容易になる
・ExtJSのビルドツールを使ってコードをまとめたり、ミニファイしたりできる
ExtJS4では開発者が従うべき規約を定めている。
一番重要なのはディレクトリ構造だ。ExtJS4ではディレクトリ構造と名前空間を対応させている。
これはベストプラクティスではあるが、規約に従わないことも出来る。
例えば、コントローラクラスはControllerを接尾辞とする、とか。
大事なのはプロジェクトの最初にこういった規約を定め、プロジェクト期間中従い続けること。
ExtJS4標準の規約に従うとSDK Toolで最適化されたりといいことがあるので従うことを強くおすすめする。