SlideShare une entreprise Scribd logo
1  sur  37
・テクニカルエバンジェリスト
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/
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 コントロールを使用
Windows 8.1 version で更新された点
MVVM (Model-View-ViewModel)
パターンの利用
•
•
• MVC
• Presentation
Model pattern
• XAML
デザイナー担当 開発者が担当
View
ViewModel
Model
UI、XAML
ロジック、状態
データソース
Data Model
View
XAML
分離コード
View Model
State +
Operations
Change
Notification
Data-binding and
commands
独自の
“MVVM” モデル
BindableBase Data Model
View
XAML
分離コード
View Model
State +
Operations
Change
Notification
Data-binding
and commands
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/ja-
jp/library/windows/a
pps/hh465029.aspx
http://code.msdn.mic
rosoft.com/windowsa
pps/Authenticate-
Account-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 )にデモの詳細解説 & ソースコードをリンク
Windows 8.1 におけるストア ビジネスアプリの設計と開発

Contenu connexe

Similaire à Windows 8.1 におけるストア ビジネスアプリの設計と開発

つかってみよう!Yeoman 〜riaビルドツール超入門+α〜
つかってみよう!Yeoman 〜riaビルドツール超入門+α〜つかってみよう!Yeoman 〜riaビルドツール超入門+α〜
つかってみよう!Yeoman 〜riaビルドツール超入門+α〜
Masakazu Muraoka
 
【XP祭り2010】 ライトニングトークス 「マイクロソフトとアジャイル
【XP祭り2010】 ライトニングトークス 「マイクロソフトとアジャイル【XP祭り2010】 ライトニングトークス 「マイクロソフトとアジャイル
【XP祭り2010】 ライトニングトークス 「マイクロソフトとアジャイル
智治 長沢
 

Similaire à Windows 8.1 におけるストア ビジネスアプリの設計と開発 (20)

Microsoftの開発環境
Microsoftの開発環境Microsoftの開発環境
Microsoftの開発環境
 
User groupandfuture
User groupandfutureUser groupandfuture
User groupandfuture
 
Smfl20201001
Smfl20201001Smfl20201001
Smfl20201001
 
xR Developerなら知っておきたいカメラの基礎知識
xR Developerなら知っておきたいカメラの基礎知識xR Developerなら知っておきたいカメラの基礎知識
xR Developerなら知っておきたいカメラの基礎知識
 
DOO-006_Mobile DevOps ~モダンなモバイル アプリ開発から障害対応まで~
DOO-006_Mobile DevOps ~モダンなモバイル アプリ開発から障害対応まで~DOO-006_Mobile DevOps ~モダンなモバイル アプリ開発から障害対応まで~
DOO-006_Mobile DevOps ~モダンなモバイル アプリ開発から障害対応まで~
 
Intelligent cloud with Microsoft Graph.
Intelligent cloud with Microsoft Graph.Intelligent cloud with Microsoft Graph.
Intelligent cloud with Microsoft Graph.
 
.NET Gadgeteerで組み込み開発の第一歩
.NET Gadgeteerで組み込み開発の第一歩.NET Gadgeteerで組み込み開発の第一歩
.NET Gadgeteerで組み込み開発の第一歩
 
Visual Studio ~ 過去、現在、そして未来
Visual Studio ~ 過去、現在、そして未来Visual Studio ~ 過去、現在、そして未来
Visual Studio ~ 過去、現在、そして未来
 
Androidが起こしたオープン・イノベーション
Androidが起こしたオープン・イノベーションAndroidが起こしたオープン・イノベーション
Androidが起こしたオープン・イノベーション
 
つかってみよう!Yeoman 〜riaビルドツール超入門+α〜
つかってみよう!Yeoman 〜riaビルドツール超入門+α〜つかってみよう!Yeoman 〜riaビルドツール超入門+α〜
つかってみよう!Yeoman 〜riaビルドツール超入門+α〜
 
そろそろレガシーな.Net開発をやめなイカ?
そろそろレガシーな.Net開発をやめなイカ?そろそろレガシーな.Net開発をやめなイカ?
そろそろレガシーな.Net開発をやめなイカ?
 
Arduino で組み込み開発 - 京都TECH オープンキャンパス2021
Arduino で組み込み開発 - 京都TECH オープンキャンパス2021Arduino で組み込み開発 - 京都TECH オープンキャンパス2021
Arduino で組み込み開発 - 京都TECH オープンキャンパス2021
 
05.日本マイクロソフト(株)_発表資料
05.日本マイクロソフト(株)_発表資料05.日本マイクロソフト(株)_発表資料
05.日本マイクロソフト(株)_発表資料
 
Developers Summit 2013 Summer C3 なぜデバイス向けアプリ開発が失敗するのか
Developers Summit 2013 Summer C3 なぜデバイス向けアプリ開発が失敗するのかDevelopers Summit 2013 Summer C3 なぜデバイス向けアプリ開発が失敗するのか
Developers Summit 2013 Summer C3 なぜデバイス向けアプリ開発が失敗するのか
 
[Japan Tech summit 2017] CLD 005
[Japan Tech summit 2017]  CLD 005[Japan Tech summit 2017]  CLD 005
[Japan Tech summit 2017] CLD 005
 
Bot Framework 最新情報 2018
Bot Framework 最新情報 2018Bot Framework 最新情報 2018
Bot Framework 最新情報 2018
 
20160208 power cms_cloud_public
20160208 power cms_cloud_public20160208 power cms_cloud_public
20160208 power cms_cloud_public
 
20160125 power cms_cloud_public
20160125 power cms_cloud_public20160125 power cms_cloud_public
20160125 power cms_cloud_public
 
キャリアコンサルタント向け「企業で求められるITスキルの実態」と実践スキル向上研修
キャリアコンサルタント向け「企業で求められるITスキルの実態」と実践スキル向上研修キャリアコンサルタント向け「企業で求められるITスキルの実態」と実践スキル向上研修
キャリアコンサルタント向け「企業で求められるITスキルの実態」と実践スキル向上研修
 
【XP祭り2010】 ライトニングトークス 「マイクロソフトとアジャイル
【XP祭り2010】 ライトニングトークス 「マイクロソフトとアジャイル【XP祭り2010】 ライトニングトークス 「マイクロソフトとアジャイル
【XP祭り2010】 ライトニングトークス 「マイクロソフトとアジャイル
 

Plus de Shotaro Suzuki

Plus de Shotaro Suzuki (20)

This is how our first offline technical event in three years was able to succ...
This is how our first offline technical event in three years was able to succ...This is how our first offline technical event in three years was able to succ...
This is how our first offline technical event in three years was able to succ...
 
Introducing the new features of the Elastic 8.6 release.pdf
Introducing the new features of the Elastic 8.6 release.pdfIntroducing the new features of the Elastic 8.6 release.pdf
Introducing the new features of the Elastic 8.6 release.pdf
 
NET MAUI for .NET 7 for iOS, Android app development
 NET MAUI for .NET 7 for iOS, Android app development  NET MAUI for .NET 7 for iOS, Android app development
NET MAUI for .NET 7 for iOS, Android app development
 
What's New in the Elastic 8.5 Release
What's New in the Elastic 8.5 ReleaseWhat's New in the Elastic 8.5 Release
What's New in the Elastic 8.5 Release
 
Centralized Observability for the Azure Ecosystem
Centralized Observability for the Azure EcosystemCentralized Observability for the Azure Ecosystem
Centralized Observability for the Azure Ecosystem
 
What's New in the Elastic 8.4 Release
What's New in the Elastic 8.4 ReleaseWhat's New in the Elastic 8.4 Release
What's New in the Elastic 8.4 Release
 
Power Apps x .NET ~ Transforming Business Applications with Fusion Development
Power Apps x .NET ~ Transforming Business Applications with Fusion DevelopmentPower Apps x .NET ~ Transforming Business Applications with Fusion Development
Power Apps x .NET ~ Transforming Business Applications with Fusion Development
 
devreljapan2022evaadvoc-final.pdf
devreljapan2022evaadvoc-final.pdfdevreljapan2022evaadvoc-final.pdf
devreljapan2022evaadvoc-final.pdf
 
elastic-mabl-co-webinar-20220729
elastic-mabl-co-webinar-20220729elastic-mabl-co-webinar-20220729
elastic-mabl-co-webinar-20220729
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
 
Discover what's new in the Elastic 8.3 release - Find, monitor, and protect e...
Discover what's new in the Elastic 8.3 release - Find, monitor, and protect e...Discover what's new in the Elastic 8.3 release - Find, monitor, and protect e...
Discover what's new in the Elastic 8.3 release - Find, monitor, and protect e...
 
Building a search experience with Elastic – Introducing Elastic's latest samp...
Building a search experience with Elastic – Introducing Elastic's latest samp...Building a search experience with Elastic – Introducing Elastic's latest samp...
Building a search experience with Elastic – Introducing Elastic's latest samp...
 
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...
Developing .NET 6 Blazor WebAssemby apps with Radzen Blazor component library...
 
Elastic x Microsoft Azure Integration Evolution - Integrated Monitoring for S...
Elastic x Microsoft Azure Integration Evolution - Integrated Monitoring for S...Elastic x Microsoft Azure Integration Evolution - Integrated Monitoring for S...
Elastic x Microsoft Azure Integration Evolution - Integrated Monitoring for S...
 
Building 3D mobile apps using Power Apps Mixed Reality controls, Azure SQL Da...
Building 3D mobile apps using Power Apps Mixed Reality controls, Azure SQL Da...Building 3D mobile apps using Power Apps Mixed Reality controls, Azure SQL Da...
Building 3D mobile apps using Power Apps Mixed Reality controls, Azure SQL Da...
 
What's New in the Elastic 8.2 Release - Seamless User Experience with Search -
What's New in the Elastic 8.2 Release - Seamless User Experience with Search -What's New in the Elastic 8.2 Release - Seamless User Experience with Search -
What's New in the Elastic 8.2 Release - Seamless User Experience with Search -
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
 
Building Software Reliability through Distributed Tracing.pdf
Building Software Reliability through Distributed Tracing.pdfBuilding Software Reliability through Distributed Tracing.pdf
Building Software Reliability through Distributed Tracing.pdf
 
Building a Flutter Development Environment with VSCode and Useful Extensions
Building a Flutter Development Environment with VSCode and Useful ExtensionsBuilding a Flutter Development Environment with VSCode and Useful Extensions
Building a Flutter Development Environment with VSCode and Useful Extensions
 
Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...Application development with c#, .net 6, blazor web assembly, asp.net web api...
Application development with c#, .net 6, blazor web assembly, asp.net web api...
 

Windows 8.1 におけるストア ビジネスアプリの設計と開発