2011-08-04 16 views
1

現在、私は複数の画面で構成されたレガシーWebアプリケーションを開発しています。 MVCアプローチを使用して、いくつかの画面をEXTJS 4に変換しています。私の変更の影響を分離するために、アプリケーション全体を一度に変換する時間がないので、2つのスクリーンを2つの別々のEXTJS 4アプリに変換しました。各画面には独自のフォルダがあり、適切なファイル構造とapp.jsファイルを使用してアプリを設定しました。ExtJS 4アプリケーション間でのモデル、ビュー、およびコントローラの共有

私の質問はこれです:開発を続けると、別のアプリで1つのアプリ(画面)のモデルを使用したいことがあります。モデル、ビュー、コントローラをアプリケーション間でどのように共有しますか?最善のアプローチは何ですか? FYI

、私は、のすべてを引き出すためにオートローディングを使用しています。

おかげ

答えて

2

それは多くのHTTPリクエストを生成するので、私は、ページが遅くなり、すべてのファイルを取得するには、生産に自動ロードを使用しないことを負荷速度。これは、Google's Page SpeedYahoo's Best Practices for Speeding Up Your Web Siteによく記載されています。

ベストプラクティスは、アプリケーションのデプロイ時にリソースを事前処理し、単一の(GZIP)圧縮応答で送信されるすべてのものを含む単一のjavascriptファイルを生成することです。この仕事にはいくつかのツールがありますが、ツールチェインに大きく依存しています。例えば、さまざまなコンプレッサーの推奨を得るには、Best JavaScript compressorのような質問をすることができます(私はJammitを使用します)。

柔軟な設定が可能なJavaScript圧縮ツールをツールチェーンに用意している場合、共通ファイルを持つ場所(modelstoreslibsなど)に設定することができます。これらは現在、さまざまなプロジェクトのビルドに含まれています。

単一のjavascriptファイルを提供するのに十分な理由がある場合は、gitのような優れたバージョンのコントロールシステムを使用して、submodulesを使用することができます。このアプローチには、共通ファイルのための別個のリポジトリがあります。これにより、ページ速度が遅くなり、サブモジュールを更新する際のオーバーヘッドが少なくなるという欠点があります。

最後の解決策として、ファイルシステム上でsymbolic linkを使用して、共通フォルダを他のさまざまなプロジェクトにリンクすることができます。

1

はここ咲がSencha Forumsに私に言った:

1ページに複数のアプリケーション、または内線MVC のサブアプリケーションはまだサポートされていない、しかし、開発者はこの 機能に取り組んでいます、私の知る限り。そのような実装では、 (サブ) アプリケーション間でモデル、ビュー、コントローラを再利用するという問題も解決する可能性が最も高いでしょう。複数のアプリケーションを連携に関する

具体的

私はMVCコンポーネントの単なるソフトリンクファイルをだろうが、このケースです。 今のところ論理的または機能的な接続はありません。ただ、私は のファイルを既に再利用したいのですか?

+0

これは私が最後のオプションとして提案したものです:シンボリックリンクを使用してください。 – Netzpirat