Universal Windows app 入門

907 views
722 views

Published on

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

No Downloads
Views
Total views
907
On SlideShare
0
From Embeds
0
Number of Embeds
25
Actions
Shares
0
Downloads
8
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

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が面倒を見てくれる  ストアに登録するときに同じアプリとして登録できる  ローミングデータを共有できる • 注意点  共通化するべき個所は何処か見極める

×