Skip to content

Instantly share code, notes, and snippets.

@amay077
Last active June 3, 2019 04:26
Show Gist options
  • Save amay077/beeee20f97a172ef264733cbc7e2f832 to your computer and use it in GitHub Desktop.
Save amay077/beeee20f97a172ef264733cbc7e2f832 to your computer and use it in GitHub Desktop.

Xamarin と C# の学習

開発環境

前提知識

Android と iOS のネイティブアプリを Kotlin/Java, Swift/Objective-C で開発できる。

学習内容

  1. C# について
  2. Xamarin.Android について
  3. Xamarin.iOS について
  4. Xamarin.Forms について

1. C# について

を一通りこなしてください。以下が理解できれば十分です。

  • .NET は Windows でなくても動作すること
  • C# の基本的なプログラミングモデル(Java よりモダン、Kotlin や Swift よりはやや古い)
  • Task と async/await による非同期プログラミングモデル(Kotlin の coroutine, JavaScript の Promise と同義です)

2. Xamarin.Android について

を一通りこなしてください。以下が理解できれば十分です。

  • Xamarin.Android は、 「Android の API が C# から呼び出せるラッパー である」ということ

3. Xamarin.iOS について

を一通りこなしてください。以下が理解できれば十分です。

  • Xamarin.iOS は、 「iOS の API が C# から呼び出せるラッパー である」ということ

4. Xamarin.Forms について

を一通りこなしてください。以下が理解できれば十分です。

  • Xamarin.Forms は、Xamarin.Android と Xamarin.iOS を利用している、ということ
  • 画面の定義には主に XAML を使い、それはプラットフォーム間で共有できる、ということ
  • 共通プロジェクトに記述したロジックはプラットフォーム間で共有できる、ということ

(以下、いきなりは必須でない点)

  • .NET 製(.NET Standard準拠した)ライブラリがあれば、共通ロジックから呼び出せる、こと
  • プラットフォーム毎に実装が必要な機能は、同一言語(C#)、同一IDE(Visual Studio) で記述できる(KotlinやSwiftなどの複数言語を行き来しなくてよいということ)、ということ
  • 固有プラットフォーム向けのライブラリは、相互運用機能(Binding)を使って取り込める、ということ
  • 共通側のインターフェースと、固有プラットフォーム側の実装を使って、複数のプラットフォームに対応したライブラリを作ることができる(Kotlin MPP と同じである)、ということ
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment