SlideShare a Scribd company logo
1 of 35
Download to read offline
Microsoft Architect Forum 2013
Enterprise Windows 8 開発
- 今やるWindows ストアLOB アプリ開発のための設計手法
鈴木 章太郎
テクニカルエバンジェリスト
日本マイクロソフト株式会社
中田 光昭
シニアコンサルタント
日本マイクロソフト株式会社
Microsoft Architect Forum 2013
新しい時代の Microsoft の Vision -
Devices + Services
今までも、これからもひき続き
「ひと」中心のコンピューティング実現のために
Microsoft Architect Forum 2013
本日お持ち帰りいただきたいこと
 Windows ストア LOB アプリに求められるもの
 MVVM(Model-View-ViewModel)の考え方
 社内外のデータソースの選択肢とその利用方法
 Windows Azure 連携 アプリ開発の方法





アジェンダ
Windows アプリの分類
デスクトップアプリWindows ストアアプリWindows ストアアプリ デスクトップアプリケーション
Microsoft Architect Forum 2013
ストアアプリの企業導入に伴う課題
既存アプリケーション
との住み分け
アプリケーション化
のターゲット
開発リソース確保、
技術研修
配布の方法
百貨店の店舗用商品カタログのフロー例
SharePoint Site
http://sharepoint/url
se
ar
ch
Browse PageSite Actions username
Parent > Parent > Current Page
Page Title
This Site: site search
Libraries
Site Pages
Shared
Documents
Drop Off
Library
Custom
library
Current PagePage One Page Two
7:37 AM
マスター
情報を取得
商品情報
を検索
マスター情報を検索
画像 URL
を検索
画像 URL
を取得
画像 URLを
含む商品情
報を取得
画像情報を
リクエスト
画像情報を
返す
XML-RPC
REST
REST
Microsoft Architect Forum 2013
データソースとしての選択肢の選定
データベース
との接続
(特に SQL
Server)
社内の
コンテンツ
サーバー
クラウド上の
コンテンツ
サーバー
クラウドや
公開された
サービスとの
連携
WCF Data
Services
SharePoint
Server
2010/2013
Office 365
ASP.NET
Web API、
Mobile
Services
Microsoft Architect Forum 2013
ストアアプリ Grid テンプレートや
MVVM (Model-View-ViewModel) の利用
 階層型ページ遷移
で画面を活用
 ユーザーに適切な
情報を提供
 画面に必要な
コンテンツのみ
表示
 MVVM の積極的
採用
MVVM (Model-View-
ViewModel)サンプル実装
Contoso Travel
Featured destinations Last minute deals
7 night Alaska Cruise
Last Minute Deals
Featured destinationsBarcelona,Spain
Last Minute Deals7 Night Alaska Cruise
Ocean View Cabins
Upgrade from an inside cabin and
save $43/night/person!
Picture windows with ocean and port
views
From $2,099 — only
$150/night/person based on double
occupancy
Suites
Upgrade from an inside cabin
and save $43/night/person!
Picture windows with ocean
and port view
From $2,099 — only
$150/night/person do
My Trips Weather
7 days
Chicago (3/11 – 3/19)
Today
54/43
Mostly Sunny
Today
54/43
Mostly Sunny
Today
54/43
Mostly Sunny
Today
54/43
Mostly Sunny
Today
54/43
Mostly Sunny
Attractions
My TripsFeatured Destinations
Top Destinations for 2012
Barcelona, Spain
My Trips City GuideCity Guide
Windows ストアアプリ
Grid テンプレート
Microsoft Architect Forum 2013
Windows ストア LOB アプリ適用シナリオ
文書 画像 添付ファイル
SharePoint Server 2010
ユーザー
文書 画像 添付ファイル
Office 365/Share Point 2013
11
Windows
Azure
Websites
Windows
Azure
BLOB
Windows
Azure
SQL
Database
Windows Azure
ユーザー
Microsoft Architect Forum 2013
MVVM とは
 アーキテクチャーパターン
 John Gossman(WPF チーム)
により提唱
 MVC パターンのバリエーション
 Martin Fowler の “Presentation
Model pattern” に類似
 XAML のデータバインディング
とコマンディングを基礎に稼働
デザイナー担当 開発者が担当
View
ViewModel
Model
UI、XAML
ロジック、状態
データソース
Microsoft Architect Forum 2013
Adventure Works RI のご紹介
 CodePlex に公開された MVVM
フレームワーク
 Prism 4.5 の一部を利用
 C# / XAML に特化
 Windows ストア LOB アプリ開発
のために最適化
 設定・検索チャーム
 各フレームへの遷移
 バリデーション
 その他順次追加予定
http://prismwindowsruntime.codeplex.com/
Demo
Windows Store Business Apps
Guidance using Prism for
Windows Runtime
http://prismwindowsruntime.codeplex.com
Microsoft Architect Forum 2013
MVVM のメリット
 関心の分離ができる
 メンテナンスしやすくなる
 Code 内を可視化しやすい
 View 変更に影響受けない
 テストしやすくなる
 単体テスト、XAML 活用
 C#/XAML フレームワーク
自体が MVVM をサポート
 データバインディング/ INotifyPropertyChanged /データコンテキスト/Observable パターン
Data Model
View
XAML
分離コード
View Model
State +
Operations
Change
Notification
Data-binding
and commands
Microsoft Architect Forum 2013
MVVM のデメリット
 標準モデルは存在しない
• Grid テンプレート自体、独自
の “MVVM” モデルを持つ
 シンプルな UI には
MVVM はオーバースペック
 多くのコードが必要
 INotifyPropertyChanged
 Grid テンプレートの
BindableBase
 Commands 等
Data Model
View
XAML
分離コード
View Model
State +
Operations
Change
Notification
Data-binding
and commands
Microsoft Architect Forum 2013
Grid テンプレートにおける MVVM
 データバインドで使用するデータクラスの基底クラス
 BindableBase を継承したデータモデル
 実際に表示するデータはここで定義される
 データの定義、読み込み動作などのサンプルが記述されている
¥Common¥
BindableBase.cs INotifyPropertyChanged を実装
¥DataModel
SampleDataModel.cs バインディングで使用するデータモデルの
サンプル
Microsoft Architect Forum 2013
SharePoint Server 2010 連携シナリオ
 社内ニュース配信
各種社内ニュースを表示
カテゴリー別ニュースを表
示
ニュース詳細を表示
スタートスクリーンに
最新ニュースを表示
Microsoft Architect Forum 2013
アーキテクチャ概要
 SharePointリスト、ドキュメントライブラリを利用して
クライアントへニュースを配信
21
ニュース 画像 添付ファイル
SharePoint Server
管理者
アップロード
ニュース登録ツール
ユーザー
デスクトップ
アプリ
Web
Microsoft Architect Forum 2013
Office 365/SharePoint 2013 連携シナリオ
 商品カタログ配信
各種社内ニュースを表示
カテゴリー別ニュースを表
示
ニュース詳細を表示
スタートスクリーンに
最新ニュースを表示
Microsoft Architect Forum 2013
アーキテクチャ概要
管理者
アップロード
ニュース登録ツール
25
メタ情報 画像
SharePoint Online
ユーザー
 SharePointリスト、ドキュメントライブラリを利用して
クライアントへ商品カタログを配信
デスクトップ
アプリ
Web
Microsoft Architect Forum 2013
Windows Azure 連携シナリオ
 オンライン楽器ストアアプリ
各商品を表示 タイトルを編集 詳細情報編集、削除可能
スタートスクリーン 全商品表示(Hub) 一覧・登録(Sections)
個別商品表示・編集(Details)
Microsoft Architect Forum 2013
アーキテクチャー概要
Windows ストアアプリ
・店舗管理者用 - 編集・登録
・一般ユーザー用 - 閲覧・購入・
プッシュ通知(Mobile Services)・
メール(SendGrid)
29
Entity
Framework
SQL Database
Windows Azure
Web サイト
Windows Azure
Windows Azure
Websites
Windows Azure
SQL Database
Windows Azure
Storage (BLOB)
画像
文字
数値
ASP.NET Web API
Entity
Framework
ドメイン
モデル
店舗
管理者
一般
ユーザー
Grid
テンプレート
Get/Post/
Put/Delete
JSON
REST
CodeFirst
サイド
ローディング
Windows
ストア
Microsoft Architect Forum 2013
まとめ
 Windows ストア LOB アプリに求められるもの
 MVVM(Model-View-ViewModel)の考え方
 社内外のデータソースの選択肢とその利用方法
 Windows Azure 連携 アプリ開発の方法
32
Microsoft Architect Forum 2013
リソース
 Windows ストア アプリ開発用テンプレート
 http://msdn.microsoft.com/ja-jp/jj556277.aspx
 Windows アプリ アートギャラリー
 http://msdn.microsoft.com/ja-jp/hh544699
 Adventure Works RI
 http://prismwindowsruntime.codeplex.com/
 SharePoint Online/Windows Azure 開発関連技術情報
 http://blogs.msdn.com/b/tsmatsuz/
 ストア LOB アプリ/Windows Azure 開発関連技術情報
 http://blogs.msdn.com/b/shosuz/
33
(株)デジタル アドバンテージ主催、
日本マイクロソフト(株) 他 エンジニアリング企業協賛
 Not “How-to” . . . コンセプトは、
ハイ・レベルで Hot なテーマをわかりやすく ! (アーキテクト向)
 本日、コンテンツ公開開始 !
6月8日(土) キックオフ・イベント実施予定
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps

More Related Content

What's hot

Elastic 7.13-new-features-20210624
Elastic 7.13-new-features-20210624Elastic 7.13-new-features-20210624
Elastic 7.13-new-features-20210624Shotaro Suzuki
 
Decode19 cd42 fixer_public_0601
Decode19 cd42 fixer_public_0601Decode19 cd42 fixer_public_0601
Decode19 cd42 fixer_public_0601Shotaro Suzuki
 
Azure kobebase lt-20201120
Azure kobebase lt-20201120Azure kobebase lt-20201120
Azure kobebase lt-20201120Shotaro Suzuki
 
Elastic on-microsoft-azure-0630-webinar-no-video
Elastic on-microsoft-azure-0630-webinar-no-videoElastic on-microsoft-azure-0630-webinar-no-video
Elastic on-microsoft-azure-0630-webinar-no-videoShotaro Suzuki
 
Migrating tocloudnativeapplicationwithusingelasticapm
Migrating tocloudnativeapplicationwithusingelasticapmMigrating tocloudnativeapplicationwithusingelasticapm
Migrating tocloudnativeapplicationwithusingelasticapmShotaro Suzuki
 
Apm enables python app observability
Apm enables python app observabilityApm enables python app observability
Apm enables python app observabilityShotaro Suzuki
 
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...Shotaro Suzuki
 
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化Issei Hiraoka
 
Building modernapplicationwithelasiccloud
Building modernapplicationwithelasiccloudBuilding modernapplicationwithelasiccloud
Building modernapplicationwithelasiccloudShotaro Suzuki
 
Elastic stack_&_cloud_7.11_updates-summary
Elastic stack_&_cloud_7.11_updates-summaryElastic stack_&_cloud_7.11_updates-summary
Elastic stack_&_cloud_7.11_updates-summaryShotaro Suzuki
 
Monitoring the health and performance of your aws environment using the Elast...
Monitoring the health and performance of your aws environment using the Elast...Monitoring the health and performance of your aws environment using the Elast...
Monitoring the health and performance of your aws environment using the Elast...Shotaro Suzuki
 
Vs code conf2020-11-21-extensions-for-microservices-app-dev
Vs code conf2020-11-21-extensions-for-microservices-app-devVs code conf2020-11-21-extensions-for-microservices-app-dev
Vs code conf2020-11-21-extensions-for-microservices-app-devShotaro Suzuki
 
Smart store servlerless-20191030-40min
Smart store servlerless-20191030-40minSmart store servlerless-20191030-40min
Smart store servlerless-20191030-40minMicrosoft Azure Japan
 
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...Shotaro Suzuki
 
Elastichelps fintechenablesdx usingaibasedautomationand anomalydetection
Elastichelps fintechenablesdx usingaibasedautomationand anomalydetectionElastichelps fintechenablesdx usingaibasedautomationand anomalydetection
Elastichelps fintechenablesdx usingaibasedautomationand anomalydetectionShotaro Suzuki
 
2020/12/03 SaaS を正しい方向へ加速するフィードバックループ
2020/12/03 SaaS を正しい方向へ加速するフィードバックループ2020/12/03 SaaS を正しい方向へ加速するフィードバックループ
2020/12/03 SaaS を正しい方向へ加速するフィードバックループIssei Hiraoka
 
Elastic circle ci-co-webinar-20210127
Elastic circle ci-co-webinar-20210127Elastic circle ci-co-webinar-20210127
Elastic circle ci-co-webinar-20210127Shotaro Suzuki
 
Moving from on prem to managed services with elastic on azure-final
Moving from on prem to managed services with elastic on azure-finalMoving from on prem to managed services with elastic on azure-final
Moving from on prem to managed services with elastic on azure-finalShotaro Suzuki
 
Azure PaaSを活用したモダン E コマースソリューションの構築方法
Azure PaaSを活用したモダン E コマースソリューションの構築方法Azure PaaSを活用したモダン E コマースソリューションの構築方法
Azure PaaSを活用したモダン E コマースソリューションの構築方法Yoichi Kawasaki
 
Big query and elasticsearch insight at scale
Big query and elasticsearch insight at scaleBig query and elasticsearch insight at scale
Big query and elasticsearch insight at scaleShotaro Suzuki
 

What's hot (20)

Elastic 7.13-new-features-20210624
Elastic 7.13-new-features-20210624Elastic 7.13-new-features-20210624
Elastic 7.13-new-features-20210624
 
Decode19 cd42 fixer_public_0601
Decode19 cd42 fixer_public_0601Decode19 cd42 fixer_public_0601
Decode19 cd42 fixer_public_0601
 
Azure kobebase lt-20201120
Azure kobebase lt-20201120Azure kobebase lt-20201120
Azure kobebase lt-20201120
 
Elastic on-microsoft-azure-0630-webinar-no-video
Elastic on-microsoft-azure-0630-webinar-no-videoElastic on-microsoft-azure-0630-webinar-no-video
Elastic on-microsoft-azure-0630-webinar-no-video
 
Migrating tocloudnativeapplicationwithusingelasticapm
Migrating tocloudnativeapplicationwithusingelasticapmMigrating tocloudnativeapplicationwithusingelasticapm
Migrating tocloudnativeapplicationwithusingelasticapm
 
Apm enables python app observability
Apm enables python app observabilityApm enables python app observability
Apm enables python app observability
 
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...Elastic on Azure Integration & Building React UI Based Search App Using Azure...
Elastic on Azure Integration & Building React UI Based Search App Using Azure...
 
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化2021/03/19 パブリッククラウドを活かす運用プロセス自動化
2021/03/19 パブリッククラウドを活かす運用プロセス自動化
 
Building modernapplicationwithelasiccloud
Building modernapplicationwithelasiccloudBuilding modernapplicationwithelasiccloud
Building modernapplicationwithelasiccloud
 
Elastic stack_&_cloud_7.11_updates-summary
Elastic stack_&_cloud_7.11_updates-summaryElastic stack_&_cloud_7.11_updates-summary
Elastic stack_&_cloud_7.11_updates-summary
 
Monitoring the health and performance of your aws environment using the Elast...
Monitoring the health and performance of your aws environment using the Elast...Monitoring the health and performance of your aws environment using the Elast...
Monitoring the health and performance of your aws environment using the Elast...
 
Vs code conf2020-11-21-extensions-for-microservices-app-dev
Vs code conf2020-11-21-extensions-for-microservices-app-devVs code conf2020-11-21-extensions-for-microservices-app-dev
Vs code conf2020-11-21-extensions-for-microservices-app-dev
 
Smart store servlerless-20191030-40min
Smart store servlerless-20191030-40minSmart store servlerless-20191030-40min
Smart store servlerless-20191030-40min
 
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...
 
Elastichelps fintechenablesdx usingaibasedautomationand anomalydetection
Elastichelps fintechenablesdx usingaibasedautomationand anomalydetectionElastichelps fintechenablesdx usingaibasedautomationand anomalydetection
Elastichelps fintechenablesdx usingaibasedautomationand anomalydetection
 
2020/12/03 SaaS を正しい方向へ加速するフィードバックループ
2020/12/03 SaaS を正しい方向へ加速するフィードバックループ2020/12/03 SaaS を正しい方向へ加速するフィードバックループ
2020/12/03 SaaS を正しい方向へ加速するフィードバックループ
 
Elastic circle ci-co-webinar-20210127
Elastic circle ci-co-webinar-20210127Elastic circle ci-co-webinar-20210127
Elastic circle ci-co-webinar-20210127
 
Moving from on prem to managed services with elastic on azure-final
Moving from on prem to managed services with elastic on azure-finalMoving from on prem to managed services with elastic on azure-final
Moving from on prem to managed services with elastic on azure-final
 
Azure PaaSを活用したモダン E コマースソリューションの構築方法
Azure PaaSを活用したモダン E コマースソリューションの構築方法Azure PaaSを活用したモダン E コマースソリューションの構築方法
Azure PaaSを活用したモダン E コマースソリューションの構築方法
 
Big query and elasticsearch insight at scale
Big query and elasticsearch insight at scaleBig query and elasticsearch insight at scale
Big query and elasticsearch insight at scale
 

Viewers also liked

小さなジェスチャーセンサーを使ってみました
小さなジェスチャーセンサーを使ってみました小さなジェスチャーセンサーを使ってみました
小さなジェスチャーセンサーを使ってみましたTakeshi Takaishi
 
Iot(アイオーティ)ってなに? どこよりわかりやすく解説
Iot(アイオーティ)ってなに? どこよりわかりやすく解説Iot(アイオーティ)ってなに? どこよりわかりやすく解説
Iot(アイオーティ)ってなに? どこよりわかりやすく解説節約 社長
 
IoT開発のキホン‼〜IoT開発初心者必見~ハードウェアとwebの違いから説明します!by Pluto
IoT開発のキホン‼〜IoT開発初心者必見~ハードウェアとwebの違いから説明します!by PlutoIoT開発のキホン‼〜IoT開発初心者必見~ハードウェアとwebの違いから説明します!by Pluto
IoT開発のキホン‼〜IoT開発初心者必見~ハードウェアとwebの違いから説明します!by Plutoleverages_event
 
IoTとUXデザイン
IoTとUXデザインIoTとUXデザイン
IoTとUXデザインHiroki Hosaka
 

Viewers also liked (6)

小さなジェスチャーセンサーを使ってみました
小さなジェスチャーセンサーを使ってみました小さなジェスチャーセンサーを使ってみました
小さなジェスチャーセンサーを使ってみました
 
20150822 iot事例紹介
20150822 iot事例紹介20150822 iot事例紹介
20150822 iot事例紹介
 
Iot(アイオーティ)ってなに? どこよりわかりやすく解説
Iot(アイオーティ)ってなに? どこよりわかりやすく解説Iot(アイオーティ)ってなに? どこよりわかりやすく解説
Iot(アイオーティ)ってなに? どこよりわかりやすく解説
 
IoT開発のキホン‼〜IoT開発初心者必見~ハードウェアとwebの違いから説明します!by Pluto
IoT開発のキホン‼〜IoT開発初心者必見~ハードウェアとwebの違いから説明します!by PlutoIoT開発のキホン‼〜IoT開発初心者必見~ハードウェアとwebの違いから説明します!by Pluto
IoT開発のキホン‼〜IoT開発初心者必見~ハードウェアとwebの違いから説明します!by Pluto
 
IoT時代のビジネスチャンスのとらえ方
IoT時代のビジネスチャンスのとらえ方IoT時代のビジネスチャンスのとらえ方
IoT時代のビジネスチャンスのとらえ方
 
IoTとUXデザイン
IoTとUXデザインIoTとUXデザイン
IoTとUXデザイン
 

Similar to MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps

クロスプラットフォーム開発入門
クロスプラットフォーム開発入門クロスプラットフォーム開発入門
クロスプラットフォーム開発入門minazou67
 
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルVisual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルAkira Inoue
 
KnockoutJSを使用したアプリケーションの構築例
KnockoutJSを使用したアプリケーションの構築例KnockoutJSを使用したアプリケーションの構築例
KnockoutJSを使用したアプリケーションの構築例masakazusegawa
 
Net advantage 2012 volume2 最新情報 xaml プラットフォーム編
Net advantage 2012 volume2 最新情報 xaml プラットフォーム編Net advantage 2012 volume2 最新情報 xaml プラットフォーム編
Net advantage 2012 volume2 最新情報 xaml プラットフォーム編Daizen Ikehara
 
Net advantage 2012 volume2 最新情報 Windows Forms / ASP.NET 編
Net advantage 2012 volume2 最新情報 Windows Forms / ASP.NET 編Net advantage 2012 volume2 最新情報 Windows Forms / ASP.NET 編
Net advantage 2012 volume2 最新情報 Windows Forms / ASP.NET 編Daizen Ikehara
 
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説Daisuke Nishino
 
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~Akira Inoue
 
マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後Akira Inoue
 
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること 【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること 日本マイクロソフト株式会社
 
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とはたった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とはRina Owaki
 
デスクトップ アプリ開発における Visual Studio の進化
デスクトップ アプリ開発における Visual Studio の進化デスクトップ アプリ開発における Visual Studio の進化
デスクトップ アプリ開発における Visual Studio の進化Katsuhiro Aizawa
 
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターンいまさら学ぶMVVMパターン
いまさら学ぶMVVMパターンYuta Matsumura
 
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発Akira Inoue
 
Solution semniar vs2013_multi_device-1209-new
Solution semniar vs2013_multi_device-1209-newSolution semniar vs2013_multi_device-1209-new
Solution semniar vs2013_multi_device-1209-newShotaro Suzuki
 
Open棟梁概要説明 v02-00
Open棟梁概要説明 v02-00Open棟梁概要説明 v02-00
Open棟梁概要説明 v02-00Daisuke Nishino
 
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Codeどっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio CodeTakashi Okawa
 
HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解Monaca
 

Similar to MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps (20)

クロスプラットフォーム開発入門
クロスプラットフォーム開発入門クロスプラットフォーム開発入門
クロスプラットフォーム開発入門
 
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイルVisual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
Visual Studio 2019 GA ! ~ 最新情報 & これからの開発スタイル
 
KnockoutJSを使用したアプリケーションの構築例
KnockoutJSを使用したアプリケーションの構築例KnockoutJSを使用したアプリケーションの構築例
KnockoutJSを使用したアプリケーションの構築例
 
Net advantage 2012 volume2 最新情報 xaml プラットフォーム編
Net advantage 2012 volume2 最新情報 xaml プラットフォーム編Net advantage 2012 volume2 最新情報 xaml プラットフォーム編
Net advantage 2012 volume2 最新情報 xaml プラットフォーム編
 
Net advantage 2012 volume2 最新情報 Windows Forms / ASP.NET 編
Net advantage 2012 volume2 最新情報 Windows Forms / ASP.NET 編Net advantage 2012 volume2 最新情報 Windows Forms / ASP.NET 編
Net advantage 2012 volume2 最新情報 Windows Forms / ASP.NET 編
 
20100218
2010021820100218
20100218
 
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
『これからの.NETアプリケーション開発』セミナー .NET用アプリケーション フレームワーク Open 棟梁 概説
 
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~
 
マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後マイクロソフトWeb開発の今と今後
マイクロソフトWeb開発の今と今後
 
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること 【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
【BS11】毎年訪れる .NET のメジャーバージョンアップに備えるために取り組めること
 
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とはたった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
たった1時間でシステム構築!“激速”環境構築を実現する“パターン技術”の秘密とは
 
デスクトップ アプリ開発における Visual Studio の進化
デスクトップ アプリ開発における Visual Studio の進化デスクトップ アプリ開発における Visual Studio の進化
デスクトップ アプリ開発における Visual Studio の進化
 
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターンいまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
 
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発ASP.NET MVC と jQuery で実践する標準志向 Web 開発
ASP.NET MVC と jQuery で実践する標準志向 Web 開発
 
WPF MVVM Review
WPF MVVM ReviewWPF MVVM Review
WPF MVVM Review
 
Solution semniar vs2013_multi_device-1209-new
Solution semniar vs2013_multi_device-1209-newSolution semniar vs2013_multi_device-1209-new
Solution semniar vs2013_multi_device-1209-new
 
Open棟梁概要説明 v02-00
Open棟梁概要説明 v02-00Open棟梁概要説明 v02-00
Open棟梁概要説明 v02-00
 
[Japan Tech summit 2017] APP 001
[Japan Tech summit 2017] APP 001[Japan Tech summit 2017] APP 001
[Japan Tech summit 2017] APP 001
 
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Codeどっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
どっちの VS ショー / 伝統の Visual Studio 2019、人気の Visual Studio Code
 
HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解
 

More from Shotaro Suzuki

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...Shotaro Suzuki
 
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.pdfShotaro Suzuki
 
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 Shotaro Suzuki
 
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 ReleaseShotaro Suzuki
 
Centralized Observability for the Azure Ecosystem
Centralized Observability for the Azure EcosystemCentralized Observability for the Azure Ecosystem
Centralized Observability for the Azure EcosystemShotaro Suzuki
 
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 ReleaseShotaro Suzuki
 
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 DevelopmentShotaro Suzuki
 
devreljapan2022evaadvoc-final.pdf
devreljapan2022evaadvoc-final.pdfdevreljapan2022evaadvoc-final.pdf
devreljapan2022evaadvoc-final.pdfShotaro Suzuki
 
elastic-mabl-co-webinar-20220729
elastic-mabl-co-webinar-20220729elastic-mabl-co-webinar-20220729
elastic-mabl-co-webinar-20220729Shotaro Suzuki
 
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...Shotaro Suzuki
 
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...Shotaro Suzuki
 
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...Shotaro Suzuki
 
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...Shotaro Suzuki
 
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...Shotaro Suzuki
 
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...Shotaro Suzuki
 
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 -Shotaro Suzuki
 
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...Shotaro Suzuki
 
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.pdfShotaro Suzuki
 
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 ExtensionsShotaro Suzuki
 
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...Shotaro Suzuki
 

More from 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...
 

Recently uploaded

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 

Recently uploaded (8)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 

MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps

  • 1. Microsoft Architect Forum 2013 Enterprise Windows 8 開発 - 今やるWindows ストアLOB アプリ開発のための設計手法 鈴木 章太郎 テクニカルエバンジェリスト 日本マイクロソフト株式会社 中田 光昭 シニアコンサルタント 日本マイクロソフト株式会社
  • 2. Microsoft Architect Forum 2013 新しい時代の Microsoft の Vision - Devices + Services 今までも、これからもひき続き 「ひと」中心のコンピューティング実現のために
  • 3. Microsoft Architect Forum 2013 本日お持ち帰りいただきたいこと  Windows ストア LOB アプリに求められるもの  MVVM(Model-View-ViewModel)の考え方  社内外のデータソースの選択肢とその利用方法  Windows Azure 連携 アプリ開発の方法
  • 5.
  • 6. Windows アプリの分類 デスクトップアプリWindows ストアアプリWindows ストアアプリ デスクトップアプリケーション
  • 7. Microsoft Architect Forum 2013 ストアアプリの企業導入に伴う課題 既存アプリケーション との住み分け アプリケーション化 のターゲット 開発リソース確保、 技術研修 配布の方法
  • 8. 百貨店の店舗用商品カタログのフロー例 SharePoint Site http://sharepoint/url se ar ch Browse PageSite Actions username Parent > Parent > Current Page Page Title This Site: site search Libraries Site Pages Shared Documents Drop Off Library Custom library Current PagePage One Page Two 7:37 AM マスター 情報を取得 商品情報 を検索 マスター情報を検索 画像 URL を検索 画像 URL を取得 画像 URLを 含む商品情 報を取得 画像情報を リクエスト 画像情報を 返す XML-RPC REST REST
  • 9. Microsoft Architect Forum 2013 データソースとしての選択肢の選定 データベース との接続 (特に SQL Server) 社内の コンテンツ サーバー クラウド上の コンテンツ サーバー クラウドや 公開された サービスとの 連携 WCF Data Services SharePoint Server 2010/2013 Office 365 ASP.NET Web API、 Mobile Services
  • 10. Microsoft Architect Forum 2013 ストアアプリ Grid テンプレートや MVVM (Model-View-ViewModel) の利用  階層型ページ遷移 で画面を活用  ユーザーに適切な 情報を提供  画面に必要な コンテンツのみ 表示  MVVM の積極的 採用 MVVM (Model-View- ViewModel)サンプル実装 Contoso Travel Featured destinations Last minute deals 7 night Alaska Cruise Last Minute Deals Featured destinationsBarcelona,Spain Last Minute Deals7 Night Alaska Cruise Ocean View Cabins Upgrade from an inside cabin and save $43/night/person! Picture windows with ocean and port views From $2,099 — only $150/night/person based on double occupancy Suites Upgrade from an inside cabin and save $43/night/person! Picture windows with ocean and port view From $2,099 — only $150/night/person do My Trips Weather 7 days Chicago (3/11 – 3/19) Today 54/43 Mostly Sunny Today 54/43 Mostly Sunny Today 54/43 Mostly Sunny Today 54/43 Mostly Sunny Today 54/43 Mostly Sunny Attractions My TripsFeatured Destinations Top Destinations for 2012 Barcelona, Spain My Trips City GuideCity Guide Windows ストアアプリ Grid テンプレート
  • 11. Microsoft Architect Forum 2013 Windows ストア LOB アプリ適用シナリオ 文書 画像 添付ファイル SharePoint Server 2010 ユーザー 文書 画像 添付ファイル Office 365/Share Point 2013 11 Windows Azure Websites Windows Azure BLOB Windows Azure SQL Database Windows Azure ユーザー
  • 12.
  • 13. Microsoft Architect Forum 2013 MVVM とは  アーキテクチャーパターン  John Gossman(WPF チーム) により提唱  MVC パターンのバリエーション  Martin Fowler の “Presentation Model pattern” に類似  XAML のデータバインディング とコマンディングを基礎に稼働 デザイナー担当 開発者が担当 View ViewModel Model UI、XAML ロジック、状態 データソース
  • 14. Microsoft Architect Forum 2013 Adventure Works RI のご紹介  CodePlex に公開された MVVM フレームワーク  Prism 4.5 の一部を利用  C# / XAML に特化  Windows ストア LOB アプリ開発 のために最適化  設定・検索チャーム  各フレームへの遷移  バリデーション  その他順次追加予定 http://prismwindowsruntime.codeplex.com/
  • 15. Demo Windows Store Business Apps Guidance using Prism for Windows Runtime http://prismwindowsruntime.codeplex.com
  • 16. Microsoft Architect Forum 2013 MVVM のメリット  関心の分離ができる  メンテナンスしやすくなる  Code 内を可視化しやすい  View 変更に影響受けない  テストしやすくなる  単体テスト、XAML 活用  C#/XAML フレームワーク 自体が MVVM をサポート  データバインディング/ INotifyPropertyChanged /データコンテキスト/Observable パターン Data Model View XAML 分離コード View Model State + Operations Change Notification Data-binding and commands
  • 17. Microsoft Architect Forum 2013 MVVM のデメリット  標準モデルは存在しない • Grid テンプレート自体、独自 の “MVVM” モデルを持つ  シンプルな UI には MVVM はオーバースペック  多くのコードが必要  INotifyPropertyChanged  Grid テンプレートの BindableBase  Commands 等 Data Model View XAML 分離コード View Model State + Operations Change Notification Data-binding and commands
  • 18. Microsoft Architect Forum 2013 Grid テンプレートにおける MVVM  データバインドで使用するデータクラスの基底クラス  BindableBase を継承したデータモデル  実際に表示するデータはここで定義される  データの定義、読み込み動作などのサンプルが記述されている ¥Common¥ BindableBase.cs INotifyPropertyChanged を実装 ¥DataModel SampleDataModel.cs バインディングで使用するデータモデルの サンプル
  • 19.
  • 20. Microsoft Architect Forum 2013 SharePoint Server 2010 連携シナリオ  社内ニュース配信 各種社内ニュースを表示 カテゴリー別ニュースを表 示 ニュース詳細を表示 スタートスクリーンに 最新ニュースを表示
  • 21. Microsoft Architect Forum 2013 アーキテクチャ概要  SharePointリスト、ドキュメントライブラリを利用して クライアントへニュースを配信 21 ニュース 画像 添付ファイル SharePoint Server 管理者 アップロード ニュース登録ツール ユーザー デスクトップ アプリ Web
  • 22.
  • 23.
  • 24. Microsoft Architect Forum 2013 Office 365/SharePoint 2013 連携シナリオ  商品カタログ配信 各種社内ニュースを表示 カテゴリー別ニュースを表 示 ニュース詳細を表示 スタートスクリーンに 最新ニュースを表示
  • 25. Microsoft Architect Forum 2013 アーキテクチャ概要 管理者 アップロード ニュース登録ツール 25 メタ情報 画像 SharePoint Online ユーザー  SharePointリスト、ドキュメントライブラリを利用して クライアントへ商品カタログを配信 デスクトップ アプリ Web
  • 26.
  • 27.
  • 28. Microsoft Architect Forum 2013 Windows Azure 連携シナリオ  オンライン楽器ストアアプリ 各商品を表示 タイトルを編集 詳細情報編集、削除可能 スタートスクリーン 全商品表示(Hub) 一覧・登録(Sections) 個別商品表示・編集(Details)
  • 29. Microsoft Architect Forum 2013 アーキテクチャー概要 Windows ストアアプリ ・店舗管理者用 - 編集・登録 ・一般ユーザー用 - 閲覧・購入・ プッシュ通知(Mobile Services)・ メール(SendGrid) 29 Entity Framework SQL Database Windows Azure Web サイト Windows Azure Windows Azure Websites Windows Azure SQL Database Windows Azure Storage (BLOB) 画像 文字 数値 ASP.NET Web API Entity Framework ドメイン モデル 店舗 管理者 一般 ユーザー Grid テンプレート Get/Post/ Put/Delete JSON REST CodeFirst サイド ローディング Windows ストア
  • 30.
  • 31.
  • 32. Microsoft Architect Forum 2013 まとめ  Windows ストア LOB アプリに求められるもの  MVVM(Model-View-ViewModel)の考え方  社内外のデータソースの選択肢とその利用方法  Windows Azure 連携 アプリ開発の方法 32
  • 33. Microsoft Architect Forum 2013 リソース  Windows ストア アプリ開発用テンプレート  http://msdn.microsoft.com/ja-jp/jj556277.aspx  Windows アプリ アートギャラリー  http://msdn.microsoft.com/ja-jp/hh544699  Adventure Works RI  http://prismwindowsruntime.codeplex.com/  SharePoint Online/Windows Azure 開発関連技術情報  http://blogs.msdn.com/b/tsmatsuz/  ストア LOB アプリ/Windows Azure 開発関連技術情報  http://blogs.msdn.com/b/shosuz/ 33
  • 34. (株)デジタル アドバンテージ主催、 日本マイクロソフト(株) 他 エンジニアリング企業協賛  Not “How-to” . . . コンセプトは、 ハイ・レベルで Hot なテーマをわかりやすく ! (アーキテクト向)  本日、コンテンツ公開開始 ! 6月8日(土) キックオフ・イベント実施予定