>100 Views
March 22, 14
スライド概要
MVP Community Camp 2014 品川会場でのランチセッションです。サンプルソースコードや解説は、後程MSDN Blogに上げますので、お楽しみに!
FPT ジャパン エグゼクティブエバンジェリスト 独立行政法人 国立印刷局 デジタル統括アドバイザー兼最高情報セキュリティアドバイザー Microsoft で13年間、テクニカルエバンジェリストとして .NET、C#、Visual Studio、Windows、iOS、Android、Microsoft Azure 等の開発者向け技術啓発活動 (DevRel) 。Dell、Accenture、Elastic、VMware 等での DevRel 後、2024年11月1日より現職で DevRel 活動を開始。NVIDIA との戦略的協業 AI GPU クラウド、Azure/AWS/GC 上の AI &データ関連サービスのマーケティング、プリセールス、教育、関連新規サービス開発。元内閣官房 IT 総合戦略室 政府 CIO 補佐官(兼務)、元デジタル庁 ソリューションアーキテクト(兼務)。
・テクニカルエバンジェリスト http://blogs.msdn.com/b/shosuz ・MTC アーキテクト http://www.microsoft.com/ja-jp/business/mtc/ads.aspx ・呟きネタは主に、Windows 8、Windows Azure、 Windows Phone, RIA, HTML5, MVVM, iOS/Android x Windows Azure 連携, Guitar … 等 ・ASPIC 執行役員、情報社会学会運営委員(2005-) ・早稲田大学大学院(2005-2012)非常勤講師、 中央大学(2008-2010)非常勤講師、 東京工業大学大学院(2013-)非常勤講師 ・Microsoft 軽音楽部広報担当(Guitar/Keyboard)
本セッションの目的 Windows ストア ビジネスアプリ を Prism for Windows Runtime を用いて で開発する方法を ご理解いただくこと
設計・開発に必要な要素 の
Windows ストア ビジネス アプリ開発者のタスク http://msdn.microsoft.com/ja-jp/library/windows/apps/dn535962.aspx
http://code.msdn.microsoft.com/windowsapps/Prism-for-the-Windows-86b8fb72/
Windows 8.1 version で更新された点 Adventure Works Reference Implementation •論理アーキテクチャ図提供 •AutoRotatingGridView Grid コントロールを作成 •IncrementalUpdateBehavior Blend ビヘイビアの使用 •ポップアップに替え、Flyout/MenuFlyout を使用 •FlyoutViews を SettingsFlyout を使うように変更 •Watermark に標準のコントロールを使用 •Blend ビヘイビアを多用 •SearchBox 及び 新しいサーチ API を使用 •更新された Top アプリバー/Bottom アプリバーを使用し CommandBars と Action Button を配置 •System.Net.Http.HttpClient → Windows.Web.Http.HttpClient に変更 Prism for Windows Runtime •VisualStateAwarePage → ページサイズと縦横の向きに反応するよう更新 •FlyoutService と FlyoutView → 削除 •SearchPaneService と SearchQueryArguments → 新しい SearchBox コントロールを使用
MVVM (Model-View-ViewModel) パターンの利用
デザイナー担当 開発者が担当 • • • • MVC Model pattern • XAML Presentation View ViewModel Model UI、XAML ロジック、状態 データソース
View XAML 分離コード Data-binding and commands View Model State + Operations Change Notification Data Model
“MVVM” モデル 独自の View XAML 分離コード Data-binding and commands BindableBase View Model State + Operations Change Notification Data Model
Demo
Demo
http://msdn.microsoft.com/ja-jp/library/windows/apps/xx130640.aspx
• MVVM パターンを使い、ページ(View)を作成 • XAML データバインディングを用いて、各ページを ViewModel オブジェクトにリンク • 横向き、縦向き、最小限のレイアウトに合わせページを設計、 Microsoft.Practices.Prism.StoreApps - VisualStateAwarePage クラスでビューを管理 • クラスがナビゲーション操作に参加できるように利用 Microsoft.Practices.Prism.StoreApps – INavigationAware インターフェイス クラスがナビゲーションをサポートできるように利用 Microsoft.Practices.Prism.StoreApps - FrameNavigationService クラス
Demo
アプリケーション データの管理 http://msdn.microsoft.com/ja-jp/library/windows/apps/xx130650.aspx
アプリケーション データの管理 • アプリケーション データ API を使いアプリケーション データ を操作し、データの物理的記憶域が、システムによって管理 されるようにする • ユーザーがアプリに正常にサインインし、パスワードの保存 を選んだ場合にのみ、パスワードを資格情報保管ボックスに 格納する • ASP.NET Web API を使って、さまざまな種類のコンテンツを 渡すことができる、リソース指向の Web サービスを作る
ストア ビジネスアプリのデータアクセス • • • • • • • a • • • • • • • • • • • • • • • •
http://msdn.microso ft.com/jajp/library/windows/a pps/hh465029.aspx http://code.msdn.mic rosoft.com/windowsa pps/AuthenticateAccount-827dd37b
中断、再開、アクティブ化の処理 http://msdn.microsoft.com/ja-jp/library/windows/apps/xx130647.aspx
中断、再開、アクティブ化の処理
中断、再開、アクティブ化の処理 • アプリが中断された時点でアプリケーションデータを保存 • 必要に応じて、保存済みのアプリケーション データを使って アプリを復元 • Microsoft.Practices.Prism.StoreApps ライブラリで提供される MvvmAppBase クラス、VisualStateAwarePage クラス、 RestorableState カスタム属性を使って、ビューとビュー モデ ルはそれぞれに関連する状態を保存し、復元できる
Demo 中断、再開、 アクティブ化の処理
疎結合コンポーネント間の通信 http://msdn.microsoft.com/ja-jp/library/windows/apps/xx130639.aspx
疎結合コンポーネント間の通信 Microsoft.Practices.Prism.PubSubEvents
Demo http://msdn.microsoft.com/ja-jp/library/windows/apps/xx130644.aspx
ユーザー入力の検証 http://msdn.microsoft.com/ja-jp/library/windows/apps/xx13659.aspx
• クライアント側での検証を行うために、 Microsoft.Practices.Prism.StoreApps ライブラリ内にある ValidatableBindableBase クラスからモデルクラスを派生させる • プロパティに DataAnnotation 属性を追加することで、モデル プロパティの検証規則を指定 • ValidatableBindableBase.ValidateProperties メソッドを呼び出し、 ValidationAttribute 属性から派生する属性を持つ モデルオブジェクトのすべてのプロパティを検証
Demo http://msdn.microsoft.com/ja-jp/library/windows/apps/xx130660.aspx
本セッションの目的 Windows ストア ビジネスアプリ を Prism for Windows Runtime を用いて で開発すると シンプルに明確に開発できます! ・http://slideshare.net/shosuz にスライド公開 ・MSDN Blog (http://blogs.msdn.com/b/shosuz )にデモの詳細解説 & ソースコードをリンク