Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Xamarin 基礎講座 2016年7月版

Xamarin ハンズオン用の資料を改定しました。2016/7/10 Update

  • Inicia sesión para ver los comentarios

Xamarin 基礎講座 2016年7月版

  1. 1. Xamarin基礎講座 Xamarinハンズオン Japan Xamarin User Group 田淵 義人 080-7015-3586 Twitter: @ytabuchi facebook: xlsoft.ytabuchi Blog: Xamarin日本語情報
  2. 2. 田淵義人@エクセルソフト Xamarin コミュニティエバンジェリスト 2016年4月 Microsoft MVP Visual Studio and Development Technologies 受賞 連載・執筆 Build Insider, マイナビニュース .NET開発テクノロジ入門2016年版(Xamarinの章) コミュニティ Twitter: @ytabuchi facebook: ytabuchi.xlsoft Blog: Xamarin 日本語情報 2 自己紹介
  3. 3. 第1部 30分+90分 Xamarin 概要 Android, iOS 概要 Xamarin ネイティブ 第2部 30分+90分 Xamarin.Forms まとめ LT大会&キャッチアップ 30分 3 本日のスケジュール
  4. 4. http://github.com/ytabuchi/XamarinHOL 4 資料
  5. 5. アジェンダ Xamarin 概要 Android, iOS 概要 Xamarin ネイティブ Xamarin.Forms まとめ 5
  6. 6. Miguel, Nat Mono, Ximian Novell, Attachmate Microsoft 6 Xamarin (ザマリン・企業)
  7. 7. C# / .NET / Visual Studio フル “ネイティブ” アプリ API 100% 移植 コード共通化 7 Xamarin
  8. 8. C# 8 using System.Collections.Generic; using System.IO; using System.Linq; using System.Net.Http; using System.Xml.Serialization; button.Click += async (sender, e) => { using (var client = new HttpClient()) { using (var reader = new StreamReader(await client.GetStreamAsync("xxx"))) { var deserializer = new XmlSerializer(typeof(Rss)); var latest = deserializer.Deserialize(reader) as Rss; var feed = latest.Channel.Items .Where(x => x.Link.Contains("xamarin")) .Select(x => x.Title).ToList(); } } };
  9. 9. 2つの開発手法 9 Shared C# App Logic (PCL) Shared XAML/C# UI Code (Xamarin.Forms) iOS C# UI Shared C# App Logic (PCL) Android C# UI Windows C# UI Xamarin.FormsXamarin Native ロジックのみ共通化 UIはネイティブで個別に作りこむ
  10. 10. 必要な知識 10 プラットフォーム 個別 Xamarin Native iOS API Objective-C, Swift Xcode Android API Java Android Studio Windows API Visual StudioC# API 言語 統合開発環境 iOS API Objective-C, Swift Xcode Android API Java Android Studio Windows API Visual StudioC# Xamarin.Forms iOS API Android API Windows API Objective-C, Swift Xcode Java Android Studio Visual StudioC#Xamarin.Forms UI toolkit
  11. 11. Visual Studio Community の利用条件: https://www.microsoft.com/ja-jp/dev/products/community.aspx 11 必要なライセンス http://nuits.hatenadiary.jp/entry/2016/05/06/174037
  12. 12. アジェンダ Xamarin 概要 Android, iOS 概要 Xamarin ネイティブ Xamarin.Forms まとめ 12
  13. 13. Xamarin.Android 13
  14. 14. 構成 14 ソースファイル (C#) UI 定義 (axml) メタデータ (Resources)
  15. 15. Activity 15 Activity 1 UI Code Activity 2 UI Code Activity 3 UI Code Data, files, images など アプリ
  16. 16. Layout 16
  17. 17. Layout 17
  18. 18. Activity + Layout 18 <LinearLayout ... > <TextView ... /> <EditText ... /> <Button ... /> <TextView ... /> </LinearLayout> [Activity] public class PiActivity : Activity { ... ... }
  19. 19. Resource Id 19 [Activity(MainLauncher = true)] public class MainActivity : Activity { protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.Main); var et = FindViewById<EditText>(Resource.Id.digitsInput); ... } ... }
  20. 20. Intent 20
  21. 21. Intent 21 public class MainActivity : Activity { ... void OnClick(object sender, EventArgs e) { var intent = new Intent(this, typeof(Activity2)); base.StartActivity(intent); } }
  22. 22. Intent 22
  23. 23. Navigation 23
  24. 24. Xamarin.iOS 24
  25. 25. 構成 25 ソースファイル (C#) UI 定義 (Storyboard + XiB) メタデータ (property lists)
  26. 26. Frame 26
  27. 27. Bounds 27
  28. 28. View (コードで) 28
  29. 29. 29 Storyboard
  30. 30. Constraints (制約) 30
  31. 31. Multi Screen 31
  32. 32. Segue 32
  33. 33. Segue 33
  34. 34. アジェンダ Xamarin 概要 Android, iOS 概要 Xamarin ネイティブ Xamarin.Forms まとめ 34
  35. 35. Xamarin ネイティブ 35
  36. 36. UIは個別 ネイティブAPIは個別 PCL vs Shared ネットワーク Json, XML 永続化 async/await 36 Xamarin ネイティブ iOS C# UI Shared C# App Logic (PCL) Android C# UI Windows C# UI Xamarin Native ロジックのみ共通化 UIはネイティブで個別に作りこむ
  37. 37. アジェンダ Xamarin 概要 Android, iOS 概要 Xamarin ネイティブ Xamarin.Forms まとめ 37
  38. 38. 抽象化UIライブラリ 最大公約数 ワンソース・ネイティブUI/UX XAML / MVVM 拡張可能 38 Xamarin.Forms Shared C# App Logic (PCL) Shared XAML/C# UI Code (Xamarin.Forms) Xamarin.Forms
  39. 39. Pages 39 New!
  40. 40. Layouts 40 New!New!
  41. 41. Controls ActivityIndicator BoxView Button DatePicker Editor Entry Image Label ListView Map OpenGLView Picker ProgressBar SearchBar Slider Stepper TableView TimePicker WebView EntryCell ImageCell SwitchCell TextCell ViewCell 41
  42. 42. Xamarin.Forms ワンソース ネイティブの UI/UX 42
  43. 43. XAML 43
  44. 44. XAMLの機能 44
  45. 45. XAMLの機能 Resource Style Trigger Behavior Value Converter Data Template Data Binding 45
  46. 46. Model View ViewModel Data Binding Messaging Center 46 MVVM
  47. 47. ネイティブコントロール (UI) Custom Renderer Effects 47
  48. 48. ネイティブAPI Dependency Service Plugin 48
  49. 49. アジェンダ Xamarin 概要 Android, iOS 概要 Xamarin ネイティブ, Xamarin.Forms 開発手法 まとめ 49
  50. 50. C# / .NET / Visual Studio フル “ネイティブ” アプリ API 100% 移植 コード共通化 50 Xamarin
  51. 51. 2つの開発手法 51 Shared C# App Logic (PCL) Shared XAML/C# UI Code (Xamarin.Forms) iOS C# UI Shared C# App Logic (PCL) Android C# UI Windows C# UI Xamarin.FormsXamarin Native ロジックのみ共通化 UIはネイティブで個別に作りこむ
  52. 52. #Xamarinはいいぞ 52
  53. 53. 公式ドキュメント ペゾルド本(PDFが無料配布中) 日本語の情報 Japan Xamarin User Group Build Insider Qiita 田淵のブログ 各種ブログへのリンク 53 リソース
  54. 54. ありがとうございました Japan Xamarin User Group 田淵 義人 080-7015-3586 Twitter: @ytabuchi facebook: xlsoft.ytabuchi Blog: Xamarin日本語情報

×