マイクロソフトのJavaScriptライブラリー「WinJS」について知っておくべき5つのこと

写真拡大

マイクロソフトが提供する、新しいオープンソースのウェブアプリ開発用フレームワークをみてみよう。

これまでマイクロソフトの Build カンファレンスは、開発者の中でも特にマイクロソフトのプラットフォーム用に製品を開発する保守的な開発者を対象としていた。先日同社が既存の JavaScript フレームワーク「WinJS」のオープンソース化を発表したことで、このカンファレンスはウェブやモバイルの開発者も対象としていくことになるだろう。

関連記事:マイクロソフトが「.Net Foundation」を設立し、オープンソースへの取り組みを本格化

WinJS は、HTML/CSS/JS アプリケーションの開発を支援する JavaScriptツールキットだ。これによって開発者は、ウェブやAndroid、iOS といった Windows 以外のプラットフォーム向けにも Windows アプリを開発することができる。今回 WinJS がオープンソース・プロジェクト化されたため、開発者は WinJS を利用したコードを GitHub 上に提供することも可能になった。

Angular、Backbone、EmberJSと同様に WinJS もフレームワークの一つであり、開発者はプロジェクト単位で WinJS が自分のニーズを満たしているかを判断し、使うかどうかを決めることができる。Windows アプリを配信するためには WinJS を必ず使用しなければならないという訳ではない。

関連記事:Angular, Ember, Backbone:どのJavaScriptフレームワークを選ぶべきか?

そのためマイクロソフトは、WinJS が既存のどのフレームワークよりも魅力的であるという可能性に希望を託している。以下が、マイクロソフトが開発者たちの検討材料になるだろうと期待している、WinJS の5つの特徴だ。

・WinJS は、ウェブ・ベースのアプリ(もちろん HTML5 も含む)構築のサポートを目的としている。豊富なコンポーネントが用意されており、リストやグリッド等の便利な機能の定型コードを供給してくれるため、開発者はアプリ開発の時間を短縮することができる。記事上部の写真は、ライブラリがカバーしている範囲を簡単に示したものだ。WinJS プレビューでは、このライブラリの機能のいくつかを、ビルド作業を行わなくても確認することが可能だ。

・WinJS の究極のゴールとは何だろう? Windows の主任ソフトウェア設計エンジニア、ジョシュ・ウィリアムズによると、それは現在の消費者がアプリに期待するのと同様の見栄えを、Windows アプリにもたらすことであるという。「例えば Gmail には、アプリらしい感触と、このアプリ特有のルック・アンド・フィールがあります。人々が期待するのはそういうところなのです」と、ウィリアムズは語っている。

・Node.js は、自分のローカル・マシンに WinJS を構築するための必須コンポーネントだ。恐らく WinJS は、Node 上で動作することによって、アプリ内でのチャットやユーザー・インタラクションのような非同期タスクを適切に処理することができるのだろう。しかし、ほとんどの JavaScript フレームワークが Node と連携するよう設計されているため、これは特別ユニークではない。

・他の多くの JS フレームワークと比較したとき、WinJS にはどのような特徴があるのだろう? WinJS ライブラリーは「特にウェブ上でのビジネス・アプリケーションのニーズを満たします」と、マイクロソフトの主任プログラムマネージャー、ポール・ガスモリノは語っている。また彼は、「WinJS は『ユーザー・インターフェース』にフォーカスしており、複数のデバイス上でも統一された外観を提供することができます」とも述べている。

・もし開発者が、お気に入りの JavaScript フレームワークを使うのを止めたくはないが、同時に WinJS の機能も使いたいと思っている場合、マイクロソフトにはそのための用意がある。Angular、Knockout、jQuery フレームワークのためのアダプターがビルトインで既に用意されているのだ。これによって、例えば Angular を使った開発プロジェクトに WinJS ライブラリーの機能を組み込むことも可能だ。

WinJS は早くも多数の注目を集めている。しかし、WinJS がユーザーに好んで利用されるフレームワークになり得るかどうかを判断することはまだ難しい。WinJS は特に、ビジネス・アプリケーション、複数のプラットフォームを通じた一貫性の提供、ユーザー主体のエクスペリエンスなどに貢献できるとされている。しかし競合である Angular、Backbone、Ember、Knockout にも同じことが言えるのだ。

恐らく WinJS の一番の利点として挙げられるのは、マイクロソフトがこのフレームワークに含めた JavaScript のライブラリ群だろう。このライブラリ群は、複雑なコードを迅速かつ簡単に開発することを可能にしてくれる。トライアル・ページでは美しいインタラクティブなウィジェットが紹介されており、これらは組み込みも非常に簡単だ。そして Angular のような、既に信頼を勝ち取っている他のフレームワークと一緒に WinJS の機能を使えるという事実も、多くの開発者が WinJS を試してみたいと思う動機となるだろう。

写真提供:Dan Rowinski

Lauren Orsini
[原文]