121117 metro styleapp_templateapp

758 views
689 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
758
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

121117 metro styleapp_templateapp

  1. 1. NewsReader テンプレートを使って作るReaderじゃないストアアプリと Tips集 新しい.NETStyle 2012/11/24 ~MetroStyleDeveloper #08東京~ ~.NETラボ勉強会 2012年11月~ @tanaka_733
  2. 2. 自己紹介 Twitter: @tanaka_733 Metro style Developer Silverlightを囲む会 趣味 Blog: 銀の光と碧い空 Windows Store app http://techblog.hilif Windows Phone app e-jp.info/ Kinect
  3. 3. セッションの目的 Windows Store Appを簡単に開発したい テンプレート すべて一からやるの そのままはちょっと もちょっと… 別のことやりたい…
  4. 4. モチベーションテンプレートを使いつつ、違う目的のアプリを作ってみよう
  5. 5. 公開したアプリ: Cloud Foundry Console http://apps.microsoft.com/webpdp/ja- JP/app/cloud-foundry-console/724b3d55- 38cb-433e-9607-65e1c42d2ae4 Cloud Foundry とは VM Ware がリードするOSS PaaS構築ソフト Azure Web Siteが近い cloudfoundry.com から無償で利用可能(β版) Node.js, Java, Ruby が使用可能
  6. 6. (余談) .NET サポートもあるよ Cloud Foundry本家のほかに、 ( cloudfoundry.com ) 独自機能を追加したサービスが複数 Iron Foundry (.NET) Uhuru (.NET, on Azureもあり) AppFog (PHP) Cloudn (NTTcom さん、予定)
  7. 7. デモ 設定 アプリ一覧 アプリ表示 アプリ起動 検索
  8. 8. テンプレートによる開発 http://msdn.microsoft.com/ja-jp/jj556277.aspx テンプレートを使った開発そのものは READMEや他の方の資料が参考になります テンプレートを使ったストアアプリの作成 http://www.slideshare.net/yasuhikoy/ss- 15136691
  9. 9. テンプレートのVerUP に対応するには テンプレートは時々Updateされる バグ修正や Change logはある 機能向上がある コードの差分が できるだけ追随 とれない  テンプレートファイルを取っておいて WinMerge などの差分ツールで確認
  10. 10. 開発した手順 APIを叩くところ (通信の処理の確認) DataModelの変更 DataSourceの変更 Viewの変更
  11. 11. DataModel を変更する UIの構造を 表示させたい項目 定義しよう 持たせる機能 INotifyPropertyChange の実装は Common.BindableBase を使用 UIからの操作はDataModelではなく、 コードビハインドに記述されている
  12. 12. データ操作部分(Model)を入れ替える AppDataSourceを新規作成 TokenCommon TokenDataSource AppDataSource はログイン情報を はCloudFoundryの ローカルストレージに APIをたたく 管理
  13. 13. async, await で簡単非同期 通信処理などはほとんど非同期  async, await で簡単に書ける
  14. 14. 非同期処理と例外処理 通信エラーを通知するために こんなコードは書けません
  15. 15. LayoutAwarePageExtensions.cs を使いましょう awaitせずにエラーを通知 より複雑な制御が必要ならRxを
  16. 16. アプリケーションの設定独自の設定メニューではなく、設定コントラクトを使いましょう
  17. 17. 設定コントラクト 設定チャームに カスタムメニューが カスタムメニューを 選択された時の 追加 処理を追加 Help, Privacy Policy Account Setting に加えて が選択された時は Account Setting AccountSettingPag を追加 e に移動
  18. 18. 設定チャームにカスタムメニューを追加 App.xaml.cs
  19. 19. メニュー選択時の処理 App.xaml.cs
  20. 20. パスワードの保存方法 保存方法: 一時的なトークンを PasswordVault ローカルストレージに がおすすめ キャッシュ RoamingData によるマシン間の共有は未使用
  21. 21. PasswordVault の使用方法 (保存) SerializeHelper.cs
  22. 22. PasswordVault の使用方法 (取得) SerializeHelper.cs
  23. 23. 未設定時の挙動 アプリの性質 最初にやること ログインできないと ログイン情報を 何もできない 入力する 起動時にログイン情報がなければ AccountSettingPageに移動
  24. 24. 未設定時の挙動 App.xaml.cs
  25. 25. 従量課金ネットワークへの対応 背景 日本では定額が多くなってきましたが、 外国では従量課金の方が多いところもあります 従量課金接続の場合は、 無制限に通信を行わないように設定 このアプリでは未実装ながら審査は通過 条件はアプリの性質による可能性も
  26. 26. Viewの見た目を変える
  27. 27. Viewの見た目を変えるApp.xaml を編集
  28. 28. ViewのプロパティとStyleのBindingStatus を背景色にBinding
  29. 29. 申請時の注意 テスト用のアカウント情報を記載 (日本語アプリでも英語併記が無難) アカウントを作成できるページへのリンクを明記
  30. 30. 英語(および他の言語)での表記に迷ったら Microsoft ランゲージポータルがおすすめ http://www.microsoft.com/language/ja- jp/default.aspx
  31. 31. おまけ:Advent Calendar のお誘い WP8: http://atnd.org/events/33802 Win8 C#: http://atnd.org/events/33803
  32. 32. This pptx’s theme is provided by @ColinEberhardthttp://www.scottlogic.co.uk/blog/colin/2011/12/a-metro-themed-powerpoint-template/

×