2011-07-18 11 views
1

私は、典型的な "ダッシュボード"ページに複数のモジュールを持つウェブサイトを持っています。それらのすべては、同じデータベースと同じセットのテーブルと通信します。そのうちのいくつかは、書き込みやディスプレイなどの仕事を行います。モジュラーウェブアプリケーションを整理する方法

これを達成するためにiframeを使用するか、または他のオプションがありますか?

これらのモジュールは、クライアント側のjavascriptレベルで相互にやり取りすることができます。たとえば、モジュールAのボタンをクリックすると、モジュールBのテキストボックスが非表示になります。

さらに、モジュールAを使用してデータベースに書き込むと、モジュールBは新しいデータを再度フェッチすることがわかるようにどのように達成しますか?

答えて

1

、必要に応じてそれらを再表示するために一定間隔でサーバーを(あなたは右、AJAXを使用している?)照会しますジあなたのウェブページのさまざまな部分がお互いに通信する必要がある場合、私はiframeが素晴らしいアイデアだとは思わない。 (私は何かが欠けている可能性があります)

あなたはBackbone.jsを見てほしいかもしれません。モデルの変更時にビューを自動的に再レン​​ダリングすることで、すべてのモジュールを簡単に同期させることができるように、JavaScriptでモデル/ビューフレームワークを提供します。

基本的に、データベースオブジェクトをページの読み込み時にBackbone.jsモデルに複製してから、発生した変更をサーバーに繰り返しポーリングするのではなく、オンページモジュールをBackbone.jsモデルと同期させますとにかくページの右にある。

+1

ありがとうございます。それは私にいくつかの指示を与える! –

+0

@ウィリアム:あなたは大歓迎です!私はしばらくの間、Backbone.jsを使う何かを見つけようとしてきました。あなたは素晴らしい候補者を持っているように見えます。 –

+0

私は今、熱心にBackbone.jsを読んでいます。私が構築しているアプリケーションはかなり洗練されています。だから、フレームワークはこれが助けてくれるのが好きですが、現時点でどのように動作するのかは不明です。 –

1

これを達成するためにiframeを使用するか、すべてのコードを組み合わせる必要がありますか、それとも別のオプションがありますか?

ベター:テンプレート駆動型のWebサイト

また、どのように私は、データベースに物事を書くために、モジュールAを使用する場合、モジュールBは、それが再び新しいデータを取得する時間です知っているだろう、というように実現します。

方法の多くは、例えば、ある:

  1. 行が( が変更した場合、それ以外の場合は0、1を想定)が変更されたか否かをマークするために、ブール列「フラグ」を追加
  2. モジュールBは、 それらの「フラグ」をチェックし、それらを取得し、0に設定し、その後、もし
1

説明した内容でiframeを使用する理由はありません。 jQueryのようなJavascriptのUIライブラリは、マークアップをきれいに保ちながら、ウェブページのさまざまな要素を操作することから汗を流します。

異なるモジュール間での通信の問題を解決できない場合は、Backbone.jsをご覧ください。これは、モデル(あなたのケースではデータベースコード)をデカップリングするのに役立つJavascriptモデル/ビュー/コントローラライブラリです。データを送信したり、更新イベント(ダッシュボードウィジェット)に応答するビュー

関連する問題