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.
Xamarinで アプリを作ったときの エトセトラ 
2014/10/18 わんくま東京勉強会#92 
初音玲 
1
セッションの目的とゴール 
セッションの目的 
Xamarinの開発手順を理解する 
Windowsストアアプリとの違いを理解する 
セッションのゴール 
アプリを作るための流れを説明できるようになる 
2
自己紹介 
仕事略歴 
システム企画 
インフラ構築 
業務アプリ構築 
DB設計、構築、各種支援 
略歴 
Microsoft MVP (2008/04-2015/03) 
Oracle ACE (2008/04-:日本で2人...
最近の著作 
4
AEDオープンデータプラットフォーム 
https://www.facebook.com/AEDSearch 
全国のAED情報を一元管理(世界対応済) 
オープンデータ 
無償利用可能【CC BY 3.0 】 
REST/JSONイ...
アジェンダ 
Androidアプリ作成最初のつまづき 
2つのロジック分離方法 
Xamarin Formsの幻想 
私はこれでアプリがつくれました 
まとめ 
6
Androidアプリ作成最初のつまづき 
7
APIレベルはどれを選ぶ? 
8 
Android 5.0 Lolipop 
Moto 360とか 
2012年冬モデル4.0.4→4.1.2 
2013年春モデル4.1.2→4.4.2 
Ice Cream Sandwich 
Jelly B...
標準エミュレータが遅い 
Genymotionがあるじゃない! 
9
Android開発はWindowsだけで可能 
10
どう設定しているのか分からない 
MainActivity.cs 
[Activity(Label = "わんくまさんぷる02",… public class MainActivity: AndroidActivity 
アイコン 
11
iOSアプリ作成に必要なものは? 
12 
Xcode6.0.1 
VS2013 + 
Xamarin 5.5
iOSアプリ開発でUIエディタを使うには? 
Visual StudioかMacでXamarinを使う 
13 
3D 
2D
Mac上のXamarin 
14
Visual Studio with Xamarin 
15
2つのロジック分離方法 
16
Portable Class Library 
17 
PCL 
プロジェクト 
Android 
プロジェクト 
iOS 
プロジェクト 
PCL 
ビルド 
PCL 
PCL 
参照設定 
参照設定
PCL方式 
18
PCL構成 
PCLにはロジック 
Viewはあくまでも別 
UXは同じでも 
UIはOSごと 
19
共有 
20 
共有 
プロジェクト 
Android 
プロジェクト 
iOS 
プロジェクト 
ソース 
コード 
参照設定 
参照設定 
ソース 
コード 
ソース 
コード
共有コード方式 
21
共有コード構成 
PCLにはロジック 
Viewはあくまでも別 
UXは同じでも 
UIはOSごと 
22
PCLと共有コードの違い 
23 
参照設定
iOSとAndroidでコードに差があるとき 
24 
PCLは「if」で条件分岐 
・実行時に判定 
共有コードは「#if」で条件分岐 
・コンパイル時に判定
PCL vs 共有コード 
PCL方式なら 
OS別ロジックがそもそも入り込まない 
共有コード方式なら 
universal Windows appsは共有コード方式 
実行ファイルにOS別ロジックが入らない 
OS別ロジックに専...
結論は…PCLオススメ! 
26
理由は… 
27
理由は… 
PCLがVBで作成可能 
PCLにロジックを書く || iOS/AndroidアプリがVBで 
28
Xamarin Formsの幻想 
29
Xamarin Forms -Pages 
30
Xamarin Forms -Layout 
31
Xamarin Forms -Controls 
32
PCLにはクラスを追加 
33
VS側だとFormsテンプレートがない 
Xamarin StudioでOK! 
他の改善要望に比べたら 些細な問題 
34
Xamarin Studioを同時に起動 ContentPageを追加 
ここのテンプレートが明らかに不足 
35 
【Xamarinさんへの提言】 
•PageとLayoutで大きく分けよう! 
•NavigationPageとかも入れて!...
xamlなのにVSでデザインできない→正常 
36
Xamarin Formsでタイトルをだす 
サンプル通りだとタイトルでない 
37 
publicclassApp{ publicstaticPageGetMainPage() { returnnewNavigationPage(newMa...
xamlなのにXAMLエディタでデザイン不可 
Xamarinさん的にはあまり重要視してない? 
手書きでいいと思っている? 
忙しく手が回らない? 
実はXAMLしらないんじゃ? 
Blendとか開いたことないんじゃ? 
XAML...
Xamarinが思っている以上に重要な事 
Xamarin利用者ってだれ? 
実はWindowsアプリ開発者じゃない? 
元々、iOS/Androidアプリ開発者? 
39 
いまのままでは、どちらにも受け入れてもらえない 
Wind...
私はこれでアプリがつくれました 
40
これ→PCLだけのをつくる 
41
ターゲット確認 
42
PCLだけのソリューションに追加 
43
Manifestを整えて 
44
フォルダ名の大文字小文字を整えて 
45
46
MvvmCross 
47
MvvmCross 
48
Android画面はaxmlでつくる 
Androidアプリの参考書が参考になる 
49
iOS画面はStorybardでつくる 
iPhoneアプリの教科書が参考になる 
50
詳しくはMvvmCrossのセッションで 
51
まとめ 
54
まとめ 
疎結合が大事 
Binding 
共有ソースよりPCL (今のところ) 
UIはプラットフォーム依存 
Xamarin FormsのXAMLは… (今のところ) 
Visual BasicでiOS/Andoridアプリを作...
Upcoming SlideShare
Loading in …5
×

Xamarinでアプリを作ったときのエトセトラ

913 views

Published on

2014/10/18 わんくま東京勉強会#92

Published in: Education

Xamarinでアプリを作ったときのエトセトラ

  1. 1. Xamarinで アプリを作ったときの エトセトラ 2014/10/18 わんくま東京勉強会#92 初音玲 1
  2. 2. セッションの目的とゴール セッションの目的 Xamarinの開発手順を理解する Windowsストアアプリとの違いを理解する セッションのゴール アプリを作るための流れを説明できるようになる 2
  3. 3. 自己紹介 仕事略歴 システム企画 インフラ構築 業務アプリ構築 DB設計、構築、各種支援 略歴 Microsoft MVP (2008/04-2015/03) Oracle ACE (2008/04-:日本で2人目) @hatsune_ 3
  4. 4. 最近の著作 4
  5. 5. AEDオープンデータプラットフォーム https://www.facebook.com/AEDSearch 全国のAED情報を一元管理(世界対応済) オープンデータ 無償利用可能【CC BY 3.0 】 REST/JSONインターフェース 県単位一覧、市町村区単位一覧、直近AED検索、周辺AED検索 登録用APIあり (現在は特定アプリにのみ公開し実証実験中) 対応アプリケーション(2014.9.1時点) AED検索for Windows 8 /for Windows Phone 8.1 AED検索Web版(酢酸さん作) http://aedmap.catchball.co/ 5
  6. 6. アジェンダ Androidアプリ作成最初のつまづき 2つのロジック分離方法 Xamarin Formsの幻想 私はこれでアプリがつくれました まとめ 6
  7. 7. Androidアプリ作成最初のつまづき 7
  8. 8. APIレベルはどれを選ぶ? 8 Android 5.0 Lolipop Moto 360とか 2012年冬モデル4.0.4→4.1.2 2013年春モデル4.1.2→4.4.2 Ice Cream Sandwich Jelly Bean Kitkat
  9. 9. 標準エミュレータが遅い Genymotionがあるじゃない! 9
  10. 10. Android開発はWindowsだけで可能 10
  11. 11. どう設定しているのか分からない MainActivity.cs [Activity(Label = "わんくまさんぷる02",… public class MainActivity: AndroidActivity アイコン 11
  12. 12. iOSアプリ作成に必要なものは? 12 Xcode6.0.1 VS2013 + Xamarin 5.5
  13. 13. iOSアプリ開発でUIエディタを使うには? Visual StudioかMacでXamarinを使う 13 3D 2D
  14. 14. Mac上のXamarin 14
  15. 15. Visual Studio with Xamarin 15
  16. 16. 2つのロジック分離方法 16
  17. 17. Portable Class Library 17 PCL プロジェクト Android プロジェクト iOS プロジェクト PCL ビルド PCL PCL 参照設定 参照設定
  18. 18. PCL方式 18
  19. 19. PCL構成 PCLにはロジック Viewはあくまでも別 UXは同じでも UIはOSごと 19
  20. 20. 共有 20 共有 プロジェクト Android プロジェクト iOS プロジェクト ソース コード 参照設定 参照設定 ソース コード ソース コード
  21. 21. 共有コード方式 21
  22. 22. 共有コード構成 PCLにはロジック Viewはあくまでも別 UXは同じでも UIはOSごと 22
  23. 23. PCLと共有コードの違い 23 参照設定
  24. 24. iOSとAndroidでコードに差があるとき 24 PCLは「if」で条件分岐 ・実行時に判定 共有コードは「#if」で条件分岐 ・コンパイル時に判定
  25. 25. PCL vs 共有コード PCL方式なら OS別ロジックがそもそも入り込まない 共有コード方式なら universal Windows appsは共有コード方式 実行ファイルにOS別ロジックが入らない OS別ロジックに専用クラスが書ける 25
  26. 26. 結論は…PCLオススメ! 26
  27. 27. 理由は… 27
  28. 28. 理由は… PCLがVBで作成可能 PCLにロジックを書く || iOS/AndroidアプリがVBで 28
  29. 29. Xamarin Formsの幻想 29
  30. 30. Xamarin Forms -Pages 30
  31. 31. Xamarin Forms -Layout 31
  32. 32. Xamarin Forms -Controls 32
  33. 33. PCLにはクラスを追加 33
  34. 34. VS側だとFormsテンプレートがない Xamarin StudioでOK! 他の改善要望に比べたら 些細な問題 34
  35. 35. Xamarin Studioを同時に起動 ContentPageを追加 ここのテンプレートが明らかに不足 35 【Xamarinさんへの提言】 •PageとLayoutで大きく分けよう! •NavigationPageとかも入れて! •GridLayoutとかも入れて!
  36. 36. xamlなのにVSでデザインできない→正常 36
  37. 37. Xamarin Formsでタイトルをだす サンプル通りだとタイトルでない 37 publicclassApp{ publicstaticPageGetMainPage() { returnnewNavigationPage(newMainPage()); } }
  38. 38. xamlなのにXAMLエディタでデザイン不可 Xamarinさん的にはあまり重要視してない? 手書きでいいと思っている? 忙しく手が回らない? 実はXAMLしらないんじゃ? Blendとか開いたことないんじゃ? XAMLのStoryboardで使ったことないんじゃ? 38
  39. 39. Xamarinが思っている以上に重要な事 Xamarin利用者ってだれ? 実はWindowsアプリ開発者じゃない? 元々、iOS/Androidアプリ開発者? 39 いまのままでは、どちらにも受け入れてもらえない Windowsアプリ開発者の興味は絶望に変わります! (少なくとも私は、いまのXamarin Formsを使うのはストレス) Storyboardやaxmlの参考資料→ある Xamarin Formsの参考資料→実質ない お前が書けばいいじゃない?→企画会議を通せるだけの魅力が語れない Xamarin Formsデザイナ作るテンションがないなら XAML互換性をちゃんととってVisual Studio/Blendのデザイナで!
  40. 40. 私はこれでアプリがつくれました 40
  41. 41. これ→PCLだけのをつくる 41
  42. 42. ターゲット確認 42
  43. 43. PCLだけのソリューションに追加 43
  44. 44. Manifestを整えて 44
  45. 45. フォルダ名の大文字小文字を整えて 45
  46. 46. 46
  47. 47. MvvmCross 47
  48. 48. MvvmCross 48
  49. 49. Android画面はaxmlでつくる Androidアプリの参考書が参考になる 49
  50. 50. iOS画面はStorybardでつくる iPhoneアプリの教科書が参考になる 50
  51. 51. 詳しくはMvvmCrossのセッションで 51
  52. 52. まとめ 54
  53. 53. まとめ 疎結合が大事 Binding 共有ソースよりPCL (今のところ) UIはプラットフォーム依存 Xamarin FormsのXAMLは… (今のところ) Visual BasicでiOS/Andoridアプリを作ろう 55

×