Visual Studio 2013 Preview 対応版 Prism for the Windows Runtime Templates (1.2)、早くも登場!
皆様、こんにちは!
社員総会対応や、所属部門のキックオフ、そして@ITイベント登壇等で、7月最初の週は殆ど Blog 執筆できなかったためw、連投で失礼します(^^;)
以前、このブログの過去のエントリでご紹介しました、Prism for the Windows Runtime Templates、大変便利ですが、早くもそのVisual Studio 2013 Preview 対応版 である Version 1.2 が登場しましたので、もう一度、スクリーンショットもVS2013を使って、使い方も含めご紹介しますね。
※ 次回からは、2012版と2013版の両方を使って、このPrism for Windows Runtime を使った開発の仕方を順次ご紹介していきますので、お楽しみに!
注: Prism for the Windows Runtime それ自体は、 patterns & practices リリースの一つですが、このテンプレートは違います。もし何か疑問点や問題、あるいは将来の開発に関する示唆等がある場合には、 David Brichのブログ にコンタクトをお願いします。
Prism for the Windows Runtimeの内容
Prism for the Windows Runtime が提供するのは、2つのライブラリです。これは、開発者がWindows ストア LOB アプリ開発を簡単に可能にするためのものです。:
このライブラリは、MVVM アプリケーション における BootStrapping や、状態管理、ユーザー入力のバリデーション、ナビゲーション、データバインディング、コマンド、フライアウト、設定コントラクト、そして検索コントラクト等をサポートします。
このポータブルクラスライブラリにより、アプリ内におけるコンポーネント間の通信を可能にします。また、これにより、一つの Visual Studio solution の中のアセンブリー間における依存性を削減することができます。
これら2つのライブラリにより、Windows ストアアプリ開発は迅速に可能となります。たとえば、アプリ開発における MVVM サポートや、疎結合な通信、そして Windows ストアアプリにおいて必要とされるコアサービスの開発、等がその具体例です。
Prism for the Windows Runtimeの利用方法
Prism for the Windows Runtime を簡単に利用するには、Visual Studio のプロジェクトに、アイテムテンプレートを組み合わせて使うのがおすすめです。
このテンプレートは、Visual Studio 2012 と Visual Studio 2013 の(Visual Studio Express for Windows 8 から Visual Studio Ultimate Edition まで)どのエディションでも使用可能です。これらはすべて Windows ストアアプリを開発することができます。このプロジェクトテンプレートを利用すると、2つのタイプのアプリが開発できます。:
- Prism App:
Prism for the Windows Runtime を使用する、Windows ストアアプリのためのシングルページプロジェクトです。
- Prism App using Unity:
Prism for the Windows Runtime およびUnity dependency injection container を使用する、 Windows ストアアプリのためのシングルページプロジェクトです。
Prism App プロジェクトテンプレートは、Windows ストアアプリプロジェクトを作成します。このプロジェクトの中には、Prism.StoreApps library への参照と、一つの View (MainPage) 、一つの関連する View Model (MainPageViewModel) 、そして App クラスが含まれており、このクラスにより、Prism.StoreApps library を使用して当該 Windows ストアアプリを起動します。
更に、Prism App using Unity project テンプレートは、上記に加えて、Unity library への参照を加えた、Windows ストアアプリプロジェクトを作成します。そして、こちらは、Unity dependency injection コンテナーを用いて、当該 Windows ストアアプリを起動します。
これらのアイテムテンプレートにより、下記のアイテムを当該 Prism app に追加できます :
- Page View (Prism): 最小単位の Page ビューで、layout awareness、title、そして back button control を持っています。
- View Model (Prism): 単一の View Model クラスです。
- Model (Prism): 単一の Model クラスで、バリデーションをサポートします。
- PubSubEvent (Prism): 単一の疎結合なイベントです。
- Flyout View (Prism): 単一の Flyout View です.
- Flyout View Model (Prism): 単一の Flyout View Model クラスです。
- UserControl View (Prism): 単一のブランクの UserControl View です。
- Search Contract (Prism): 単一の Prism app コントラクトで search results を表示するものです.
各々のアイテムテンプレートにより、Prism.StoreApps library の中の正しいタイプから継承されたクラスが生成されます。加えて、PubSubEvent (Prism) アイテムテンプレートは、当該プロジェクトに対して、Prism.PubSubEvents library への参照を追加します。ただしこれらのアイテムテンプレートは、いずれかの Prism app プロジェクトテンプレートで生成されたものでしか、稼働しないことに注意してください。
検索コントラクト (Search Contract (Prism)) アイテムテンプレートは、3つのアクションを持っています :
- SearchResults ページをプロジェクトに追加する。
- App class にある OnSearchApplication メソッドをオーバーライドする。
- パッケージマニフェストファイルに Search declaration を追加します。
以上です。Prism for the Windows Runtime について、更に詳しくは、Developing a Windows Store business app using C#, XAML, and Prism for the Windows Runtime と、 Prism for the Windows Runtime codeplex site を参照してください。
次回から、この中身について、少しずつご紹介していきたいと思います(PDF側の方)。
以上です。それではまた!
鈴木章太郎