ルーティングは、アプリケーションの状態を整理して管理する方法です。 JavaScriptのルーティングフレームワークを使用すると、アプリケーションの永続性を維持しながら、アプリケーションの状態を1つの管理パネルセクションから別の管理パネルセクションに変更することができます。
1つのアプリケーション状態からナビゲートする場合は、別のもの、例えば、 /admin/orders
のように、通常のリンクを使用することもできます。しかし、ブラウザをあるHTMLページから別のHTMLページに移動させることになります。これは、明らかに、Webをナビゲートする通常の方法です。しかし、JavaScriptアプリケーションでは、これはかなり非効率的です!
JavaScriptで複雑なブラウザ内アプリケーションを実行している場合、そのアプリケーションは起動時に多くの作業を行う必要があります。イベントハンドラを登録し、一束のJavaScriptをロードして実行し、ページインターフェイスを動的にレンダリングすることがあります(ExtJSや他のいくつかのライブラリの場合)。これは、ブラウザが/admin/orders
にあるJavaScriptアプリケーションを設定するための多くの追加作業であり、その1つは/admin/users
のものと共通しています。より効率的な方法は、リンクがアプリケーションが監視するイベントを起動し、アプリケーションの状態を変更することによってアプリケーションが応答するようにすることです。ユーザービューを削除または隠し、オーダービューに置き換えるなどです。ルーティングは、トークン(通常は/admin/users
のようなURLフラグメント)を使用して、これらのさまざまなインターフェイスを表現する方法で、ユーザーが自分のインターフェイスにどこにいるかを追跡します。
これにより、アプリケーションは、既に焼き付けられた時間とメモリを使用して作成された動的オブジェクトモデルを維持することができます。ハッシュタグやプッシュステートを使用してURL履歴管理を使用している場合は、ユーザーがブラウザの前後のボタンを使用してアプリの周りをナビゲートすることができます。毎回ページを開き、アプリケーションの状態を消去します。 URL管理では、アプリケーションの一部のページに深くリンクすることもできます。ロード時に、アプリケーションのルータは受信したルート文字列を調べ、トークン化し、ルーティングテーブルで指定したインターフェイスを読み込みます。
ルーティングはないが永続性を管理するためにが必要ですが、それはあなたの永続的な状態を整理するための良い方法です。多くの場合、ルーティングシステムはDavis.jsのようなURL履歴管理と連携して動作します。しかし、URIを混乱させることのないルーティングライブラリもあります。これは、のように、使用するか表示することができる抽象的なトークン化状態を維持します。
優秀な表現。 – orbfish