SPA
SPA(Single Page Application)とは
- 単一ページによるWebアプリケーション
- ページはDOM(Document Object Model)の操作により切り替える。DOMはヘッダやフッターなど、階層構造のノードにアクセスする仕組み
- サーバとのやりとりはajaxやWebSocketを利用する
- URLは基本的に遷移しないため、遷移による遅延がなくなる
SPAのメリット
- 通信量、遅延の低減
- デプロイがサーバへアップロードするだけ
- ネイティブアプリを上回る機能開発が進んでいる
- クロスプラットフォーム
- 近年HTML5/CSS3/JavaScriptのサポートと機能開発がかなり進んできている
- オンラインアプリの「脱オンライン」化。 クライアントサイドでの処理の実現
SPAのデメリット
- 初期レンダリングに時間がかかる
- JavaScriptの高い技術が必要
RIA (Rich Internet Application )
パーソナルコンピュータ等のソフトウェアの分類の1つであり、ウェブブラウザなどのクライアントの機能を活かした、柔軟なインターフェースをもつウェブアプリケーションのことである
- 表現力の高さ:動画、音声などマルチメディアの活用
- デスクトップアプリケーションと同様なUI:リフレッシュすることなく、バックエンドでサーバとデータの送受信が可能
- ユーザーエクスペリエンス:インタラクティブな操作性
- アプリケーションと実行環境を含むソフトウェアの配布と更新が容易である
- 複数の異なるプラットフォームに対応する
RIAを実現するものとして従来はFlashなどのプラグイン方式が用いられてきたが、最近ではWebベースの形式つまり、SPAが用いられるようになっている。SPAがRIAに入るか、RIAとSPAが別物かは、調べた限りではどちらの考えもあるようだ。
利用されるフレームワーク
ext.js,emben.js,knockout.js,batman.js,Cappuccine.js,Vue.js,React.js,BackBone.js,Knockback.js,Angular.jsなど
事例
-
Google Maps
https://www.google.co.jp/maps -
Google Keep
http://www.google.com/keep/ -
Offline Gmail
https://chrome.google.com/webstore/detail/gmail-offline/ejidjjhkpiempkbhmpbfngldlkglhimk?hl=ja -
Cordova(PhoneGap)を使ったネイティブアプリ事例
http://qiita.com/takeshy/items/18a902289c05de044d50