Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Universal Windows app 入門

1,188 views

Published on

Published in: Technology
  • Be the first to comment

Universal Windows app 入門

  1. 1. Universal Windows app 入門 どんなテクノロジなのか?どこまでできるのか? 大田 一希
  2. 2. お約束事項 • 掲載内容は私自身の見解であり、所属する組織を代 表するものではありません
  3. 3. 自己紹介 • 名前  大田 一希(かずき)  Twitter:@okazuki • 肩書き  Microsoft MVP for Client App Dev 2011/07-2014/06 • Blog  かずきのBlog@hatena http://okazuki.hatenablog.com/ • 猫派/犬派  犬派
  4. 4. 今日のゴール • Universal Windows appについて1つ「へ~っ」って 思ってもらう
  5. 5. Universal Windows appとは 12:38 Start User Name
  6. 6. 売り文句 • ワンソースでマルチプラットフォームのアプリが開 発できる ローミング データ共有 ストア上で同 じアプリ扱い
  7. 7. 開催日 > プログラム > Text Text Text Text Universal Windows app 入門 etc etc 2014/05/10 @なぞ社 2014/05/10 @なぞ社 お知らせ
  8. 8. 12:38 WPArch text text text text お知らせ
  9. 9. 実現するための仕組み 1 • Windows RuntimeがWindows Phoneに実装された Windows Kernel Services 入力、インタラクション、etc… DirectX、メディア、etc… Windows Runtime C/C++ C#/VB XAML JavaScript HTML/CSS
  10. 10. 高い互換性 Windows store app Windows Phone app 固有部分 • SettingFlyout • AppBar • SearchBox • etc… 固有部分 • BackButton • Pivot • System Chrome • etc…
  11. 11. 実現するための仕組み 2 • IDEによるサポート  Windows(Windows 8.1)  ストアアプリのプロジェクト  WindowsPhone(Windows Phone 8.1)  Windows Phoneアプリのプロジェクト  Shred  共通部分のコードを置く  プラットフォーム固有部は#if ディレクティブ
  12. 12. コンパイル時の動作 • コンパイルは別々に行われる  Windows store app + Sharedプロジェクト  Windows Phone app + Shared プロジェクト
  13. 13. 地味に非互換 • 90%以上の互換性の厄介さはご存知ですよね?
  14. 14. 非互換とTips
  15. 15. ケース1「戻る」 • Windows Phoneでは、ハードボタンの戻るを処理し ないとアプリが閉じてしまう 12:38 October, 2010 Su Mo Tu We Th Fr Sa 26 27 28 29 30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1 2 3 4 5 6 App1
  16. 16. ケース1「戻る」 • 対処方法  以下のコードをページに入れる #if WINDOWS_PHONE_APP Windows.Phone.UI.Input.HardwareButtons.BackPressed += (_, e) => { if (this.Frame.CanGoBack) { e.Handled = true; this.Frame.GoBack(); } } #endif
  17. 17. ケース2「ヘッダー」 • WindowsとWindows Phoneのヘッダー違うよね…? • 同じ名前のUserControl定義テクニック UserControl1 UserControl1 Page Windows store app Windows Phone app
  18. 18. ケース3「GridViewの見た目」 • ストアアプリと同じItemTemplateでいける? • 同じ名前のリソース定義テクニック ItemTemplate1 ItemTemplate1 Page Windows store app Windows Phone app 同じ要領でStyleも出来ます。
  19. 19. ケース4「本当に画面を共通化する?」 • 共通化可能だが…  これまでのテクニックでワンソース+αで作成可能 • 現実解は基本別々に作って共通化可能な部分を UserControlで作成する
  20. 20. ケース4「本当に画面を共通化する?」 Model ViewModel View Shared 個 別
  21. 21. Universal Windows appの所感 • 画面の共通化は、かなり難しい  共通のUserControl  同名のStyleやUserControl • その他の部分の共通化はかなり便利
  22. 22. まとめ • Universal Windows appとは以下の機能の組み合わせ  Windows ストアアプリとWindows Phoneアプリの高い互換 性  ユーザーがコードをリンクとして追加して管理してたコー ド共有をIDEが面倒を見てくれる  ストアに登録するときに同じアプリとして登録できる  ローミングデータを共有できる • 注意点  共通化するべき個所は何処か見極める

×