SPA用JavaScriptライブラリ×5選

はじめに(SPAについて)
昨今注目の技術にSPAという技術があります。SPAとはSingle-Page-Applicationの頭文字です。SPAの利点は、ユーザがアプリケーションを使っている間、Webページ全体をリロードする必要がないためレスポンスが高速ということです。RIA(Rich Internet Application)に変わる技術として注目を集めています。
代表的なJavaScriptのライブラリにAngular.jsや、Backbone.jsなどがありますが、今回はSPA専用のJavaScriptライブラリとして以下の5つを紹介します。
- Senna.js
- pager.js
- sonnyJS
- RomanSPA
- durandaljs
Senna.js
Senna.jsの読み方はセナあるいはセンナです。こちらのサイトによると、F1レーサーではなく、下剤に使われる漢方薬の元の植物の名前からとられています。
Senna.jsは他と比べると外部ライブラリへの依存がなく、非常に軽量なSPA用JavaScriptライブラリとなります。仕組みとしては、XMLHttpRequestを介して、履歴APIページを更新せずにURLを更新することができます。公式サイトには3種類のサンプルが公開されています。
ライセンスはBSD Licenseです。
pager.js
jQueryとKnockoutJSをもとにしたSPA専用JavaScriptライブラリーがpager.jsです。pager.jsを使うには、Node.js、Grunt、QUnit、PhantomJS、RequireJSが必要です(via Getting Started)。
そして、pager.jsはcssのフレームワークと合わせて使うこともできます。デモはこちらで確認できます。
ライセンスは、MIT Licenseです。
sonnyJS
sonnyJSはミニマルシングルページアプリケーションエンジン・HTMLプリプロセッサです。特徴としてはテンプレートのネストと継承、ダイナミック同期テンプレートルーティング、クロスウィンドウ通信などがあげられます。
デモページのリンクも切れており、GitHubの更新も止まっておりますが、SPA専用JavaScriptライブラリとして、まだまだ開発に活用することができます。
RomanSPA
RomanSPAは、ASP.NET MVCとJavascript SPAの良いところを合わせたフレームワークです。HttpContextBase拡張メソッドを使い、ビューとモデル・キャッシングをキャッシングする方法をRomanSPAでは用いてます。こちらも2年前から開発が止まってしまっていますが、使いどころはまだまだありそうです。
Durandal.js
読み方はデュランダルです。jQuery、KnockoutをRequireJSを利用して開発されています。特徴は豊富な機能で、MVCモデルでもMVPモデルでもMVVMモデルでも対応できてしまいます。また、内部でRequire.jsを使用しているので、モジュラリティが高く、多様なライブラリを使用できます。
ライセンスは、MIT Licenseです。
今後Webアプリケーションの開発を行う上でSPAは無視できない要素になってきます。今回紹介したようなライブラリを使い、効率的な開発を行ってください。
コメントは受け付けていません。