Windows Phone "Mango" 開発支援セミナー~実践編
2011/7/21に品川でWindows Phone "Mango" 開発支援セミナー~実践編がありましたので、参加しました。
そこでウチが聞いた内容についてフィードバックしたいと思います。
Ustream "7/21 #1 Mango Design"
http://www.ustream.tv/recorded/16141516
13:30-14:40 『WP アプリケーション開発実践 〜画面開発編〜』
講師:日本マイクロソフト エバンジェリスト 高橋 忍
Agenda
- Windows Phone UI デザインの基礎
基本的なUIの構成要素と、その標準プロパティを使ったデザイン。さらにデザインだけでなく、変形、アニメーション、ビヘイビアといったデザインの拡張について確認 - Windows Phone UI デザインの管理
テンプレート・ビジュアルステートマネージャーを使ってデザインを管理する方法 - Windows Phone データとUIの連携
データバインドを使ってデータソースとコントロールを紐づける概念とその実装方法 - Windows Phone PivotとPanorama
Pivot と Panorama の比較、使い分け、それぞれを使うときの使い分け推奨パターンについて紹介
> OS7.1 mangoからバックグラウンド処理が追加
バックグランド・エージェント用テンプレート
- Windows Phone Audio Playback Agent
- Windows Phone Audio Streaming Agent
- Windows Phone Task Scheduler Agent
テンプレートの内容については、前に記述(http://d.hatena.ne.jp/samril/20110527/1306564036)したのでかつあい
> MVVM(Model-View-ViewModel)
アプリケーションのUI分離パターンの一つ
詳しくは↓
眠るシーラカンスと水底のプログラマー:Windows Phone 7:MVVM Light Toolkitを使ってみた
⇒ http://blog.livedoor.jp/coelacanth_blog/archives/55414320.html
> 画像(image files)ではなく、アセットにある基本図形を用いる
画像とは違い、XAML形式での図形なので、ファイルサイズが軽い
また、プログラムで簡単にグラデーションなどを設定できる
よって、ボタンなどの単純な部品は、アセットの基本図形を用いたほうが良い
> グループ化
レイアウトは階層で定義され、子要素はもてない
そのため、パネルコントロールで、UIをまとめて処理する場合、グループ化をする
> ビヘイビア
オブジェクトにアクションを追加
SDKを用いてカスタムビヘイビア(通称:おれおれびへいびあ)の開発が可能
⇒ Microsoft Expression Community Gallery -Behaviors
> ビジュアルステートマネージャー
複数の状態のデザインをまとめて定義することができる
> Silverlight Toolkit for Windows Phone
SDKに含まれていないコントロール(バレットコントロールなど)を提供
⇒ http://silverlight.codeplex.com/
> データバインディングモデル
データの表示と管理を分離する
ソースとプログラムの連携(紐付け)を定義 = UIとオブジェクト間をデータが移動
> Pivotコントロール
表示するページ数に制限はないが、7貢以下が推奨
1つのデータをページごとに、見せ方を変える使い方
同一種のデータを表示(メール等)
表示形式を変えて表示(カレンダー)
機能を区切って表示(設定など)
> Panoramaコントロール
2ページにまたがるデータを表示できる(※ 3ページはできない)
複数のPanoramaコントロールは使わない(推奨)⇒ トップページとしての使用が推奨
Application Barは置いてはいけない
> PivotとPanoramaの違い
UIから見た違い
Pivito | Panorama | |
---|---|---|
背景 | 固定 | ページの移動に合わせてスライド |
タイトル | 固定(小) | ページの移動に合わせてスライド |
ページタイトル | 複数表示 | 現ページのみ |
ページ移動時の表示 | 現ページのみ | 移動先ページも表示 |
Pivot:複数ページがあることを強調
Panorama:つながったページであることを強調
PivotとPanoramaでは、発生するイベントの数にも違いがある
- Pivot
- UnloadingPivitItem
- SelectionChaned
- LoadingPivitItem
- UnloadedPivitItem
- LoadedPivitItem
- Panorama
- SelectionChaned
なので、画面遷移時の細かい処理は、Pivotがやり易い
※ Panoramaでもできなくはないが、難しい
14:50-16:00 『WP アプリケーション開発実践 〜通信編〜』
講師:日本マイクロソフト エバンジェリスト 大西 彰
Ajenda
- Windows Phone "Mango" データと通信系の機能概要
データや通信の機能概要について
ローカルデータベースや分離ストレージエクスプローラーについて - HTTP 通信とソケット通信
HTTP通信については、WebClient を利用して、ファイルのダウンロード、RSS/ATOMフィード読み込みの処理について
ソケット通信については、サンプルを使ってのデモ - WCF サービスの呼出と Windows Azure を利用したサービス展開
WCFのサービスを作り、Windows Phoneから実行する方法について
実機を使ったデバッグ方法、Windows Azureへサービスをホストする方法について - プッシュによる新しい UX
プッシュ配信サービスを利用して、サービス側からWindows Phone アプリケーションへデータを送信する方法、トースト通知やタイル通知について
> Windows Phone 7でデータを記憶しておく場合
分離ストレージ
ローカルデータベース(LINQ to SQL)
> Isolated Storage Explorer(Beta2〜)
分離ストレージと開発用コンピュータ間でのファイル確認・ファイル転送用ツール
\Microsoft SDKs\Windows Phone\v7.1\Tools\IsolatedStorageExplorerTool\ISETool.exe
⇒ http://msdn.microsoft.com/en-us/hh220612
> HTTP通信
WebClientクラスを用いて、URIでWebリソースとの通信
> ソケット通信
Sockets for Windows Phone
⇒ http://msdn.microsoft.com/en-us/library/hh202870%28v=vs.92%29.aspx
> WCF
サービスとクライアント間でメッセージを送信するシステムを作成するためのランタイムおよび一連のAPI
> Windows Azureを用いたクラウド配置
> プル(ポーリング)
リアルタイムにデータを取得
アプリケーションが定期的にサービスと通信
携帯デバイスのバッテリー消費が激しい
> プッシュ通知
通知の種類
トースト
タイル
Rowデータ
⇒ http://msdn.microsoft.com/en-us/library/ff402537%28v=vs.92%29.aspx
16:10-17:20 『WP アプリケーション開発実践 〜XNA 編〜』
講師:日本マイクロソフト エバンジェリスト 川西 裕幸
Ajenda
- Mango == XNA + Silverlight
- グラフィックス
- タッチとジェスチャ
- 加速度センサーとモーション
- カメラ
> XNAとSiliverlight
XNA:直接モードのAPI
Microsoft.Xna.Framework.Gameを継承
Siliverlight:保持モードのAPI
PhoneApplicationPageを継承
> SharedGraphicsDeviceManager
GPUサーフェイス(メモリ領域)の共有
Current.GraphicsDevice.SetSharingMode(true);
ななふぉさん http://nanapho.jp/ とお会いする機会がありました!
とてもオーラが出てましたwww
今度はゆっくりとお話しがしたいです