3

このテクニックの名前がいろいろあります...そして、それを実装する人々が何らかのリソースを持っているのではないかと思います。ハイブリッド伝統/プッシュステートアプリケーションとは何ですか?

ページがあるとしましょう.Githubに非常に似ています。 JavaScriptをサポートするブラウザでは、

http://www.github.com/username/project 

UI and inner content load simultaneously, the pre-AJAX way 
- or - 
UI wrapper loads, inner content loads via AJAX  

をロードし、静的スケルトンとすべてのモジュールをAJAX経由で読み込みます。あるいは、ページ全体を静的にロードすることもできます。

次に、あなたは、いくつかのナビゲーション要素をクリックして、私はこのページが全体的に保ち、プッシュ状態を使用してAJAXと内部モジュールの更新を有する「訪問」することができることを知っているこの時点で

http://www.github.com/username/project/first_dir 

With previously loaded UI 
    Inner content navigation causes full page refresh 
    - or - 
    Inner content navigation causes inner content reload via page refresh 
    - or - 
Completely new page with UI and inner content loads, same as first example 

を訪問してみてください静的なサイトのクロム。しかし、何らかの理由でJavaScriptがサポートされていない場合、またはページが完全リフレッシュを使用してロードされた場合、ページは完全に静的にロードされます(または、最初のURLのようにスケルトンがロードされた後にAJAXを介して部分的にロードされます)。

この技術とは何ですか?これは、サーバーのMVCモデルとクライアントのMVCモデルを貫通する統一モデルのようです。私はそれが肘のグリースをたくさん使って行うことができることを知っていますが、誰かが既にこのテクニックを調査していて、2つのモデルを構造的に同期させる方法に関するガイドラインを開発しているのだろうかと思っていました。

+0

楽しい事実は、GitHubでのUIは動作しません。したがって、個々のURLはJSスタイルのルーティングで動作しますが、古い世界/ no-JSモデルをサポートしていません(少なくとも一貫してはありません)。 –

+1

申し訳ありませんが、正確にここで尋ねられるものは何ですか?このテクニックの名前?またはそれを使用するガイドラインを見つける場所 – raina77ow

+0

理想的には、私はそれにもっと多くのリソースが欲しいですが、私はそれの名前を知らないので、検索するのは難しいです。名前は良いスタートになるでしょう。 –

答えて

0

まあ、このテクニックの名前はどういうことか分かりませんが、MVCアーキテクチャに基づいて、私たちがプロジェクトで同様の動作をどのように実装しているかを知ることができます。

ポイントは、ヘルパー(またはパーシャル)を使用して、ページ全体のさまざまな部分を構築しています。たとえば、サイドバーは、1つのHelperオブジェクト、いくつかのアイテムのコレクションを表すテーブル、別のアイテムなどで構築されます。このヘルパーは、ソートのミニビューに名前を付けることができます。非常に特別な方法です。

これらのヘルパーは、スタンドアロン(結果はAJAXプロセッサでページの一部をリフレッシュするために使用される)として、またはより複雑なプロセスの一部として呼び出される準備ができていますレイアウトテンプレートの一種)。

0

raina77owと同様に私はこれがどのように呼び出されているかもわかりませんが、私はモバイルアプリ/ウェブページ(以前のオペラ/ IEバージョンでも同様に動作していました)のためにこれを少し前に実装しました。私たちがやったことは、最初に多かれ少なかれ純粋なHTMLページを構築し、次にすべてをというタグに置き換えて、ページ全体を取り出したajax呼び出しでjavascriptを使って機能を置き換えました(jQueryには)関連性のある部分(これはAJAXベースのページをフルに活用するものではなく、さまざまな資産のリロードを防止します)。これにより、JSON および HTMLを返すことができる必要がある複雑な「同期」の問題やAPIも防止されます。

MVCモデルを採用し、いくつかのアプリケーションで実装した場合、HTMLはビュー(静的)、JSはAJAXデータをサーバーから要求するコントローラです。サイドモデル。これは、フロントバックエンドのための別個のMVC構造を想像するよりもはるかに理にかなっています。

+0

フルダウンロードからコンテンツを切り詰めるのは一種のようですか? –

+0

AJAXベースのページを十分に活用しているわけではありませんが(まだ多くはありますが)、下位互換性とjsレスシステムは非常に簡単にサポートされています。 (そして、もしあなたがjqueryを使っていれば、この '$ .get( '/ path/to/foo.html #base' ... 'のように大きなHTMLから特定の要素をリクエストするだけで、有能な) –

関連する問題