410 likes | 507 Views
Windows Phone 7 開発の流れ. Agenda. Marketplace Application Platform Windows Phone 7 アプリケーション開発 まとめ. DESIGN. PLATFORM. HARDWARE. Marketplace. アプリケーションマーケットプレース. アプリケーションを容易に検索 アプリケーシ ョンやゲームを 簡単に探すことができる マーケットプレースを楽しむ. シンプルで信頼性の 高い 環境 お試し利用が可能に 購入からコンテンツ ダウンロードまでスムースに
E N D
Agenda • Marketplace • Application Platform • Windows Phone 7 アプリケーション開発 • まとめ
DESIGN PLATFORM HARDWARE Marketplace
アプリケーションマーケットプレース • アプリケーションを容易に検索 • アプリケーションやゲームを簡単に探すことができる • マーケットプレースを楽しむ • シンプルで信頼性の高い環境 • お試し利用が可能に • 購入からコンテンツダウンロードまでスムースに • 支払方法も自由度が高くキャリア課金・クレジットカード • アプリケーションの更新も楽にできる
Marketplace の現在状況アプリケーション登録数 (2011年3/25日現在) 11578本(3/25現在) 1日平均 142アプリが登録 35% がフリーウェア 平均価格は $1.91.
Marketplace の現在状況分類ごとの登録数(2011年3/25日現在)
Marketplace の現在状況アプリケーション価格 (2011年3/25日現在)
APP Hubアプリケーション登録のエントリーポイント
申請プロセス: 簡易ビュー .xap .xap .xap .xap .xap .xap .xap .xap アプリケーション&ゲーム申請 .dll .dll .dll .dll .dll .dll .dll .dll アプリケーション パッケージング &確認 アプリ 申請 Marketplace Windows Phone 7 導入サービス メタデータ 入力 審査 テスト サイン
ビジネスモデル • 年間登録費 • 一般: $99(DreamSpark: $0 ) • アプリの申請費 • 有償アプリ: アプリ数に関わらず無償 • 無償アプリ: 100 アプリまで無償、以降$19.99/アプリ • 70% 収入シェア • トライアルAPI • 課金: クレジットカード&事業者課金 • 有償、フリーミアム、広告サポート、無償
DESIGN PLATFORM HARDWARE Application Platform
2つのアプリケーションプラットフォーム • XAML/イベント駆動型アプリケーションのUIフレームワーク • 優れたUIを持つアプリケーションを容易に開発可能 • UIとロジックが完全に分離 • メトロのテーマに対応したUIコントロール群 • PCとの共有 • ハイパフォーマンスのゲームフレームワーク • マルチスクリーンの2Dや3Dゲームを比較的簡単に開発が可能 • XBOX360やWindowsでも広く利用されてきた実績のある環境 • ゲームだけでなくメディア再生・入力など優れた要素がある
2つのアプリケーションプラットフォームその開発環境2つのアプリケーションプラットフォームその開発環境 開発環境はすべて無料 ダウンロードで提供
エミュレーター デバイスにより近く、 高いパフォーマンスを発揮する仮想環境 アプリケーション開発、デバッグ、実行の 全てのプロセスをサポート • 機能: • F5 キーでインスタンと起動に対応 • Pause キーでハードウェアキーボード対応 • Windows 7 マルチタッチに対応 • GPU エミュレーション • 画面の回転をサポート • スキン
Windows Phone 7 アプリケーション開発 • Visual Studio を使ったロジック開発、Expression Blend を使ったUIデザイン。連携して Windows Phone 7 のアプリケーション開発が可能。 • 開発環境はすべて無料で提供。Visual Studio 2010, Expression Blend 4, XNA Game Studio Windows Phone Emulator • 実機を使ったクロス プラットフォームデバッグも可能
アプリケーションのテスト .xap アプリケーションはデバイスエミュレーター上か、開発デバイスとして 登録済みのデバイス上でライブデバッグテスト可能 .dll デバイスエミュレーター 1人のAPPHUBアカウントで 3台までのWP7デバイスを 開発用デバイスとして登録可能(Registration Tools) テストターゲット エミュレーター テストターゲット デバイス Windows Phone 7 アプリケーション (.xapファイル)
DESIGN PLATFORM HARDWARE ハードウェア基準
ユーザーと開発者に最高の環境をWindows Mobileでの問題点 機種によってパフォーマンスが異なる 機種ごとに変更するか、機種を限定するか 高度なグラフィックの採用が困難 様々な解像度に 合わせて UIデザインが必要 操作はタップのみ 機種によってハードウェアの仕様が異なる せめてカメラは標準装備に ストレージサイズが 小さい 機種によって異なる 機種によって搭載センサーが異なる そのため、センサーを使っての実装が困難 (特定の機種依存になってしまう)
ユーザーと開発者に最高の環境をWindows Phone 7 ハードウェア CPU:ARMv7 Cortex/Scorpion GPU:DirectX 9 対応 WVGA800x480 スクリーン 4ポイント マルチタッチ スクリーン 500万画素以上 の内蔵カメラ とフラッシュ 8GB以上の Flash ROM 5つのセンサー Assist-GPS, 加速度センサー 電子コンパス, 照度センサー, 近接センサー 機種ごとの違い 内蔵ストレージのサイズ(8/16GB) スクリーンのハードウェア(液晶/有機EL) スクリーンサイズ(3.5~4.3インチ)
DESIGN PLATFORM HARDWARE Windows Phone 7アプリケーション開発
開発者から見た Silverlight • UI表現はXAMLで定義 • XMLベースのマークアップ言語 • WebアプリでのHTMLライク • ビジネスロジックはC#/VBで実装 • .NETのライブラリ群が利用可能 • コンパイルされてパッケージ化 • XAPファイルでパッケージ • HTMLでホストされる(WP7は直接実行)
Silverlight Sample Code <UserControl> <Canvas x:Name=“LayoutRoot” Background=“white”> <Button Name=“button1” Click=“Button_Click”, Content=“OK” Canvas.Top=“10”, Canvas.Left=“10”,Width=“100”, Height=“50” /> </Canvas> </UseContol> page1.xaml (XAML) OK private void Button_Click(object sender, RoutedEventArgse) { button1.Content=“Clicked”; button1.Opacity=0.4; } page1.xaml.cs (C#) Clicked
コントロールの拡張/デザインUI,効果,動作のすべてをカスタマイズコントロールの拡張/デザインUI,効果,動作のすべてをカスタマイズ • デザイン拡張 • スタイル • テンプレート • 状態の変化に対する表現 • アニメーション/ストーリー ボード • イージング(アニメーションの変化曲線) • 各要素の管理 • ビジュアルステートマネージャー • リソース ディクショナリ • ビヘイビアによる動作の追加設定
ナビゲーション • フレーム • 最上位のコンテナコントロール • PhoneApplicationFrame • ページ • フレーム内のコンテンツエリア • PhoneApplicationPage • ページナビゲーション • 画面の移動=ページの変更 • NavigatedTo/NavigatedFrom Frame Page Page Contents Contents
Pivot と Panorama • ストレスのないページ間移動を実現するコントロール • 画面サイズの小ささをカバーするUIテンプレート • 連続性/不連続性を生かしたアプリケーションづくりに
オぺレーションシステムの利用 • Launcher と Chooser • アプリケーションからOSの組み込み機能を起動 • Launcher • アプリケーション呼び出し • 例:PhoneCallTask • Chooser • 結果をアプリケーションに返す • アプリケーションは復帰 • 例: PhotoChooserTask
Launchers と Choosers • Launchers • EmailComposeTask • MarketplaceDetailTask • MarketplaceHubTask • MarketplaceReviewTask • MarketplaceSearchTask • MediaPlayerLauncher • PhoneCallTask • SearchTask • SMSComposeTask • WebBrowserTask • Choosers • CameraCaptureTask • EmailAddressChooserTask • PhoneNumberChooserTask • PhotoChooserTask • SaveEmailAddressTask • SavePhoneNumberTask
クラウドとPush配信 • Windows Phone 7 はPush配信に対応 • 通知サービスを使って、情報をリアルタイムに表示 • タイル、通知メッセージ、アプリケーション内更新 • Microsoft が中継用のサーバーを提供
クラウドとPush配信 • 登録済みのチャンネルがあるか探す • HttpNotificationChannel.Find • なければインスタンスを作成 • new HttpNotificationChannel • クラウドサービスにChannelUriを送る • ChannelUriUpdated • 受信用のコールバックの設定 • ShellToastNotificationReceived += • サーバーサイドから配信
中断と再開 • Windows Phone 7 では動作するアプリは1つ • 背面に回ったアプリケーションは停止する • 4つのイベント • Application_Launching:起動(1回のみ) • Application_Deactivated:中断 • Application_Activated:再開 • Application_Closing:終了(1回のみ) • 必要に応じて情報を保存する • Application_Deactivated 時に保存 • Application_Activated 時に復元
創造のスパイラルを止めない • ハードウェア、開発環境の共通化で開発効率を向上 • UI重視で汎用性の高いアプリをサポート • 開発ツールの無償化で、開発の敷居を低く • 柔軟なデザイン能力 • Pivot や Panorama アプリケーションを生かした作り方 • プッシュ通知サービスを利用可能に(Live Tileに配置可能) まずは自分で作ってみるところからやってみましょう。
Programming Windows Phone 7 • Charles Petzold氏による開発本 • 1000ページを超える大作 • Windows Phone 7 概要 • Silverlight アプリケーション • XNAゲームプログラミング • フリーブックとしても公開中 • http://www.charlespetzold.com/phone/ • PDF/Sample Code
リソース • App Hub から Windows Phone Developer Toolsをダウンロード • http://create.msdn.com • アプリ&ゲームの投稿 • http://create.msdn.com • Windows Phone デベロッパーセンター • http://msdn.microsoft.com/ja-jp/windowsphone/default.aspx • Windows Phone Blog • http://windowsteamblog.com/windows_phone/b/windowsphone/ • Silverlight Video Resources • http://www.silverlight.net/learn/videos/windows-phone/ • WP7 Training Kit • http://channel9.msdn.com/Learn/Courses/WP7TrainingKit
App Hub 登録: チェックリスト • Windows Live ID • Windows Live IDが必要です。 • 関連のあるサービスアカウント (ex. XNA Creators Club)と同じLive IDアカウントである必要があります。(個人開発者として登録する場合) • パートナーコンタクト情報 • 顧客からアクセスできるメールアドレスやサイト • その他 • 個人登録の場合 • App Hubで利用するアカウントとXNA Creators Clubアカウントを同一なものに。 • App Hubの登録でXNA Creators Club アカウントも作成できます。 • 学生登録 • 学生登録の場合で、無料アカウントを取得するには、Dreamsparkアカウントと同一のものにする必要があります。Dreamsparkの登録時にステータスの確認が行われます。App Hubでの登録時にDreamsparkカウントを生成することも可能です。(http://www.dreamspark.com
App Hub 登録 • 登録プロセス: 5ステップ: • アカウントの選択 • アカウントの詳細を入力 • プロフィールの入力 • 会費の支払い方法を選択し、支払処理を行う • 正しく作成できたか確認 • ⇒この後身元確認などのプロセスが走ります。 • アカウントの種類 • 会社 • 個人 • 学生
アプリ申請プロセス 1. App Hubへサインイン 2. アプリの新規申請を作成 3. XAPファイルのアップロード 4. アプリのメタデータを入力: 商品説明、カテゴリ、アイコン、画面ショットなど 5. 配布する国と価格を選択 6. メタデータの入力時にXAPファイルの確認が行われます。 7. XAPファイルが有効な場合、ステップ8に進みます。無効の判定の場合、通知を受けてここで終了。 8. アプリが審査にパスした後すぐに公開するか、自分でマニュアルで公開するか選択。 9. XAPファイルがリパッケージ 10.リパッケージされたXAPファイルが審査テスト用に展開。審査は自動また手動で行われ要件を満たすか確認される。 11. アプリが全ての要件を満たす場合、リパッケージされたXAPファイルとアセンブリファイルにサインが施され、公開可能な状態になります。もし審査が通らなかった場合には、報告書が送られます。 <Note> アプリの更新時にはまた同じプロセスを通すことになります。
Q&As Q: 本人確認にはどのくらいの時間がかかりますか。 A: 米国内の開発者は、Windows Phone マーケットプレース登録から 24 時間以内にオンライン本人確認処理を完了できます。個人および会社の本人確認は、GeoTrustにどのくらい迅速に応答するかによって異なります。平均すると、本人確認は 10 日以内に完了します。 Q: 個人として登録した場合、後で会社メンバーシップに変更できますか。 A: いいえ。会社を登記し、登記料を支払い、別の Windows Live ID を使用して本人確認処理を行う必要があります。 Q: 複数のアプリケーション カテゴリにアプリケーションを掲載できますか。 A: いいえ。1つのカテゴリにのみアプリケーションを掲載できます。 Q: アプリケーションの更新またはアップグレードに対して課金できますか。 A: 現在 Windows Phone マーケットプレースは、以前にアプリケーションを購入したユーザーに対して無償の自動更新をサポートしています。既存のユーザーがそのアプリケーションの更新版を購入する必要がある場合、アップグレードはサポートされません。 Q: 複数の国/地域にアプリケーションを提出できますか。 A: 該当する国/地域向けにローカライズされていない場合でも、複数の国/地域にアプリケーションを提出できます。既定では、アプリケーションはすべての国/地域に公開されます。ただし、既定を変更して、アプリケーションの公開を希望する国/地域のみを選択することができます。 Q: サブスクリプションに基づく価格設定はサポートされますか? A: いいえ。現時点では、サブスクリプションに基づく価格設定はサポートされません。