WinJS

WinJSはオープンソースのJavaScriptライブラリであり、マイクロソフトによって開発されている。
第一の目的はWindows 8向けWindowsストアアプリをHTML5とJavaScriptを使って簡単に開発できるようにするためであり、XAMLフレームワーク、C#、VB.NET、C++ () などの従来の開発手法の代替とするためである。

WinJS はWindowsストアアプリに限定された技術として開始されたが、しかしあらゆるウェブブラウザで動作する狙いで発展してきた。2014年4月、Microsoft Build developer conferenceの間、WinJSはApache License下の自由ソフトウェアとしてリリースされた。マイクロソフトプラットフォーム自体よりもそれ以外への移植を意図してである。このライブラリのデモンストレーション用サイトも公開された。

 概要 
WinJSはHTML5とJavaScriptを使ったWindowsストアアプリ開発を容易にする補助を提供する。
このライブラリはJavaScriptのコード記述の作法に従った方法でモジュールおよびWindowsランタイムの機能を公開する。WinJSはWindowsのUIコントロールをHTML内に作成することを可能にする。
これはデータバインディングおよびテンプレートエンジンのサポートに伴ったものである。

他のJavaScriptフレームワーク、例えばJQueryなどはWinJSと協調して動作可能である。
このライブラリはTypeScriptを使った豊かな開発経験から追加の宣言ファイルもともに提供される。
TypeScriptはJavaScriptの注釈の付いた厳格なスーパーセットである。
TypeScriptによってJavaScriptとの互換性をメンテナンスしながらコードの完全性およびリファクタリングを可能にする。

 特徴 
 タッチ、マウス、キーボードの基本的なサポートのあるUIコントロール
 自動生成 (Scaffolding)

 Version 履歴 

 WinJS 1.0 
WinJSの最初のバージョン。Windows 8とともにリリースされた。

 WinJS 2.0 
WinJSは人気のあるGitHub上のApache License下のオープンソース・ソフトウェアとしてリリースされた。
このプロジェクトはクラスプラットフォームおよびブラウザ上での互換性を狙っている。

WinJS 2.0から、これらの配布形態が派生している:
 WinJS 2.0 for Windows 8.1
 WinJS Xbox 1.0 for Windows
 WinJS Phone 2.1 for Windows Phone 8.1

 WinJS 3.0 
WinJS 3.0は2014年9月にリリースされた。このバージョンは以下の特徴がある。

 Apache CordovaのようなHTMLベース実行環境のみならず、主要なデスクトップブラウザ・モバイルブラウザにまで及ぶクロスブラウザ・クロスプラットホームのサポート
 Javascriptをモジュール化し、パフォーマンスの最適化するとともにライブラリが必要なときにロードされるようになった
 共通管理設計の改善

 WinJS 4.0 
WinJS 4.0プレビュー版が2015年3月27日にリリースされた。

 Universal app controls
 様々なコントロールに対し共通の方法でキーボードショートカットの割り当てができるようになった。これは様々なスクリーンサイズやアスペクトや入力方法をサポートする
 AngularJSとの相互運用性
 新しいAngularJS-WinJSラッパーを用意し、相互運用性を高めた。WinJSのコントロールをAngularのdirectiveで使用でき、Angularの２方向データバインドをサポートする。
 ListViewの拡張
 SplitView
 WinJS Toolber
 コマンドに連動する新しいツールバー
 Content dialog
 XVFocus
 Pivot control

 参考 
 Windowsランタイム
 Windows 8
 Windowsストア
 HTML5
 JavaScript

 参照 

 外部リンク 
 WinJS project on GitHub
 Developing Windows Store apps (HTML)
 WinJS Namespace
 WinJS Playground

Category:JavaScript
Category:Windows 8
Category:マイクロソフトのAPI
Category:マイクロソフトのフリーソフト