メインメニューを開く

差分

ASP.NET SPA

1,881 バイト追加, 2012年4月17日 (火) 14:44
編集の要約なし
[[ASP.NET MVC]]も若干使われているが、土台となるHTMLを送り出すだけで、あとは[[jQuery]]と[[Knockout]]を中心とした[[JavaScript]]でゴリゴリと見た目を加工するのが正攻法な使い方らしい。
 
== 基本概念 ==
[[ファイル:ASP.NET SPA概念図.png]]
画像をみてわかるようにハッキリ言ってASP.NET SPAという名前だが、ASP.NETである必要性はない。
サーバーサイドは[[RESTful]]かつ[[JSON]]でクライアントと通信さえ出来れば何でもよいわけで、[[Ruby]]や[[PHP]]なんかを使ってもSingle Page Applicationは実現できる。SPAの開発者がASP.NETの中の人達なのでインテリセンスのコメントの充実度や環境構築の手軽だよ、というだけの話。
 
=== サーバーサイド ===
==== [[ASP.NET MVC]] ====
[[ASP.NET MVC]]である必要性を感じないどころか、静的コンテンツだけで何とかなってしまいそうなくらい。
==== [[ASP.NET Web API]] ====
これ重要。
 
=== クライアントサイド ===
==== [[jQuery]] ====
[[DOM]]による[[HTML]]の加工と、[[AJAX]]による通信の根幹を担うもっとも重要な部分。
 
==== [[upshot.js]] ====
[[MVVM]]、つまりウェブなのにリアルタイムで事あるごとにサーバーと通信しまくる鬼仕様という関係で、ASP.NET SPAでは[[jQuery]]と[[knockout.js]]の間に[[JavaScript]]で書かれたクライアントサイドのデータキャッシュ機構が搭載されている。
 
ASP.NET SPAモドキの独自SPAであれば、キャッシュなどという軟弱なシステムは導入せず、サーバーの増強で乗り切るのが漢。ただし電気の無駄として時代背景に反する諸刃の剣。
 
==== [[knockout.js]] ====
ASP.NET SPAの中でも特に重要な[[MVVM]]を担う部分。
 
==== [[history.js]]と[[nav.js]] ====
ASP.NET SPAであれば純正を使うべきだが、独自SPAであれば[[sammy.js]]を使ってもよい。
というか[[ASP.NET MVC 3]]上でASP.NET SPAモドキを作っているとsammy.jsは捗る。
== 関連項目 ==
匿名利用者