JuniorはBackbone.jsやRatchetを使って

スマートフォン向けにコンテンツを提供する方法は主に二つあります。一つはネイティブアプリ、もう一つはWebアプリです。Juniorはネイティブ並みのWebアプリを開発するためのフレームワークを提供します。

[![](http://images.moongift.jp/2013/01/Screenshot 2013-01-06 20.51.04_thumb.1357476581.png)](http://images.moongift.jp/2013/01/Screenshot 2013-01-06 20.51.04.1357476581.png)
右側にあるのがデモアプリです。横スクロール可能なスライドはflickable.jsを使っています。

[![](http://images.moongift.jp/2013/01/Screenshot 2013-01-06 20.51.13_thumb.1357476586.png)](http://images.moongift.jp/2013/01/Screenshot 2013-01-06 20.51.13.1357476586.png)
こんな感じで写真が切り替わります。

[![](http://images.moongift.jp/2013/01/Screenshot 2013-01-06 20.51.18_thumb.1357476589.png)](http://images.moongift.jp/2013/01/Screenshot 2013-01-06 20.51.18.1357476589.png)
ネイティブ風のUIはRatchetを使っています。

[![](http://images.moongift.jp/2013/01/Screenshot 2013-01-06 20.51.31_thumb.1357476593.png)](http://images.moongift.jp/2013/01/Screenshot 2013-01-06 20.51.31.1357476593.png)
Pushstate APIを使っているのでBackボタンなどがちゃんと動きます。

Juniorはその他、ビューやルーティングについてBackbone.jsを使うなど単体で特別な機能を提供するのではなく優れたライブラリを上手に組み合わせて提供しています。しかしこれらのライブラリを組み合わせることで手早くスマートフォン向けのWebアプリが開発できるようになるでしょう。

JuniorはJavaScript製のオープンソース・ソフトウェア(MIT License)です。

MOONGIFTはこう見る

車輪の再発明は決して嫌いではありませんが、それはソフトウェアを開発するという目的においてです。サービス開発において既にある素晴らしい素材を使わずに自分たちの力だけでやり遂げる意味は殆どないケースが多いのではないでしょうか。

問題はそれらの素材をどうピックアップし、どう組み合わせるのが良いのかを判断するかです。各ライブラリには特性があり、干渉があるかも知れません。優れたもの同士であっても組み合わせによってはうまくいかないこともあるでしょう。今後はそうした既存のライブラリの構成力も求められるようになるでしょう。

Junior - A front-end framework for building HTML5 mobile apps with a native look and feel.

justspamjustin/junior · GitHub