O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Cross-Platform ができる Xamarin について

Mais Conteúdo rRelacionado

Livros relacionados

Gratuito durante 30 dias do Scribd

Ver tudo

Audiolivros relacionados

Gratuito durante 30 dias do Scribd

Ver tudo

Cross-Platform ができる Xamarin について

  1. 1. / 39 Android/iOS の Cross-Platform ができる Xamarin について 1 CROSS-PLATFORM DEVELOPERS COMMUNITY 2019年11月01日 石崎 充良
  2. 2. / 39 自己紹介 石崎 充良 ( @mishi_cs ) イメージ情報システム株式会社 スーパーエンジニア Microsoft MVP for Developer Technologies 言語: C# XAML 活動: ・C# もくもく会 (connpass) ・城東.NET (connpass) ・C# Tokyo (connpass) 2
  3. 3. / 39 名言 良いアウトプットは 良い定時退社から生まれる 3
  4. 4. / 39 [1ページでわかる] Xamarinの概要 4
  5. 5. / 39 Xamarin とは ・クロスプラットフォーム ・ネイティブアプリ ・(Android ・iOS) のAPI カバー率 (だいたい) 100 % ・C# / .NET / Visual Studio ・クロスプラットフォームでコードを共通化する 5
  6. 6. / 39 注意点 6
  7. 7. / 39 Mac / Visual Studio (有償) は必要 ・iOS 向けのビルドは Mac 上で行わなければならない これはどのクロスプラットフォームアプリ開発でも同様 iOS アプリのビルドは Mac 上で行わなければならない決まり ・業務で使うなら有償 Visual Studio ライセンス が必要 一時、Xamarin 無償化と言われたが、Visual Studio に無料でついてくる 以前は Visual Studio の別に購入 (そもそも会社も違った) Visual Studio 無償版の業務利用条件はほぼ満たせない OSS や個人開発 (受託の場合は委託元で考える) でなら無償版 OK 7
  8. 8. / 39 [再放送] Xamarinの概要 8
  9. 9. / 39 Xamarin とは ・Android / iOS の API を C# から使えるようにしたもの ・C# (.NET) のライブラリを使えるようにしたもの 9 ロジックのみ共通化 UIはネイティブで個別に作りこむ Shared C# App Logic (.NET Standard) iOS C# UI Android C# UI Windows C# UI
  10. 10. / 39 Xamarin の2つの開発方法 10 Xamarin Native Xamarin Forms ロジックのみ共通化 UIはネイティブで個別に作りこむ ロジックとUIを共通化 UIは各プラットフォームの 同じ役割のUIが自動マッピング Shared C# App Logic (.NET Standard) iOS C# UI Android C# UI Windows C# UI Shared C# App Logic (.NET Standard) Shared C# UI Code (Xamarin.Forms)
  11. 11. / 39 ネイティブの UI 11
  12. 12. / 39 UI の開発手法 12 Xamarin.Native Xamarin.Forms 概要 ネイティブの技術を使用 UI 共通化ライブラリ 定義 Android では axml iOS では storyboard など xaml というシンプルな XML 制約 制限のない UI 各プラットフォームの最大公約数の機能 のみ 特徴 UI が共通化できない UI にこだわらないアプリなら UI まで共 通化可能 使いどころ コンシューマー向けアプリやデザ インを重視する場合に ビジネス向けアプリや機能重視のツール 系アプリなどに Formsで細 かくUIを定 義したい Custom Renderer で独自にネイティブの コントロール/プロパティと結合するコン トロールを作成可能
  13. 13. / 39 APIカバー率100% (近い) 薄いラッパーとも呼ばれる。 13 Android / Java Xamarin / C#
  14. 14. / 39 Xamarin の特徴 ・C# / .NET / Visual Studio ◦C# / Visual Studio の新機能はすぐにすべて使える ・(Android・iOS) のAPI カバー率 100 % (近い) ◦Android・iOS の新機能はすぐにすべて使える 14
  15. 15. / 39 コード共有化 15
  16. 16. / 39 コード共有 16 共有コード Android 用コード iOS 用コード 参照して使用 Android の API C# の API
  17. 17. / 39 例 (Xamarin.Formsで) 17
  18. 18. / 39 プロジェクト作成 (1/4) 18
  19. 19. / 39 プロジェクト作成 (2/4) 19
  20. 20. / 39 プロジェクト作成 (3/4) 20
  21. 21. / 39 プロジェクト作成 (4/4) 21 実行
  22. 22. / 39 コードを変更 22
  23. 23. / 39 テキストを変更 23
  24. 24. / 39 ライブラリを 作って使用 24
  25. 25. / 39 ライブラリ作成 新しいライブラリ プロジェクト を追加 25
  26. 26. / 39 新しいプロジェクトを追加 26
  27. 27. / 39 参照を追加して使用 27 C# ライブラリ アプリで使用
  28. 28. / 39 コンソール アプリケーション 28
  29. 29. / 39 コンソールアプリで使ってみる C# のクラスライブラリは、Xamarin プロジェクトだけでなく 何にでも使えます 29
  30. 30. / 39 別の言語で作った ライブラリ 30
  31. 31. / 39 ライブラリは .NET のライブラリ .NET どの言語でも共通の中間言語にコンパイルされます。 どの言語でライブラリを作っても、どの言語で書いているアプリからでも使えます。 31 C# VB.NET F#
  32. 32. / 39 ちゃんと使える 32
  33. 33. / 39 F# 33
  34. 34. / 39 F#の概要 34https://docs.microsoft.com/ja-jp/dotnet/fsharp/what-is-fsharp 関数型プログラミング言語です
  35. 35. / 39 F# ライブラリプロジェクト 35
  36. 36. / 39 できあがり 36
  37. 37. / 39 C# のライブラリも使えます 37
  38. 38. / 39 まとめ 38
  39. 39. / 39 まとめ • Xamarin で Cross-Platform • Xamarin だけでなく .NET なら何でも Cross-Platform • .NET 言語なら言語を超えて使用可能 • C#、F#、VB.NET 何でも好きなものを • 最近流行りの関数型なら F# 39
  40. 40. / 39 ありがとうございました。 40

×