1

「iframeアーキテクチャ」を使用してExtJSで構築された既存のイントラネットWebアプリケーション(内部のみ)があります。つまり、インデックスページにトップメニューとタブパネルがあり、メインタブパネル内のiframe「タブ」として開く約30の他のWebページがあります.

iframe を使用する特定の理由はありません。すべてが同じドメイン上にあり、これらの他の個別のページのほとんどは、ExtJS ライブラリを使用してほぼ JavaScript のみで記述されています。それらのほとんどすべての html は、空の HTML、HEAD、および BODY タグで構成されています。

ExtJS MVC アーキテクチャを使用してこれをリファクタリングし、iframe を破棄したいのですが、「すべてが機能する」ため、これを行うのに時間をかけることは正当化できません。

私が持っていたがテストできなかった1つの考えは、これらの個別のページのそれぞれに独自のExt.onReadyイベントとビューポートなどがあるため、このWebアプリは開くiframeタブごとに完全なExtJSフレームワークをロードする必要があり、クライアントを真剣に拡大しますリソースの使用。このタイプのアーキテクチャが ExtJS フレームワークでそれを行うことを誰かが確認できますか?

これをリファクタリングする必要がある他の非常に確固たる理由はありますか?

それとも、MVC アーキテクチャへのリファクタリングは、コードのメンテナンスを容易にするだけで、パフォーマンスは向上しませんか? (現在、すべてが意図したとおりに機能しているため)

4

1 に答える 1

1

残念ながら、私はあなたが手元に持っているものに似たプロジェクトを持っていないので、自分でテストすることはできませんが、ここに私の2cがあります... :)

  1. 各ページは ExtJs フレームワークの独自のコピーを開始すると思いますが、影響があるのは CPU とメモリの使用だけだと思います。コア ExtJs ファイルがキャッシュされるため、ネットワーク トラフィックはそれほど変わらないはずです。

  2. このアプリの実行中にネットワーク トラフィックをチェックすることをお勧めします。ブラウザーがこれらすべてをどのように処理するかを正確に確認できるからです。フレームワークが実際に複数回インスタンス化されているかどうかを確認するために、いくつかのロジックをコア ExtJs 関数に追加することをお勧めします。

  3. エンド ユーザーが何らかのパフォーマンスの問題を経験した場合、リファクタリングを正当化するのは非常に良いポイントかもしれません。そうでなければ、それはちょっと難しいです。もちろん、近い将来に機能を拡張する計画があり、このアプリケーションの作業を続ける予定がある場合を除きます。

于 2012-04-19T23:48:51.327 に答える