こんにちは。すーさんです。
今回は、クロスプラットフォーム開発環境の「Xamarin」についてです。
「Xamarin」は、Xamarin社という会社が開発して配布していましたが、2016年にマイクロソフトに買収されてVisual Studioに同梱されるようになりました。
Windowsはもちろん、Mac用のVisual Studio(Visual Studio for Mac)にも同梱されています。
◆クロスプラットフォーム開発環境
モバイルアプリを作成する時の選択肢として、通常は各プラットフォーム毎に、AndroidはAndroid StudioとJava、iOSはXcodeとObjective-C/Swiftという選択肢になると思います。
Xamarinはクロスプラットフォーム開発環境なので、C#でAndroidとiOSの両方のアプリを開発することができます。
他の多くのクロスプラットフォーム開発環境はHTML+CSS+JavaScriptというWeb技術を用いたものですが、Xamarinは各プラットフォームのAPIを100%移植しているのでネイティブアプリと同等の操作性のアプリを作成できます。
◆作成できるアプリケーション
Xamarinで作成できる主なアプリは下記になります。
・Androidアプリ
・iOSアプリ
・macOSアプリ
◆共通化できるところとできないところ
コア部分の機能は共通化できます。
カメラやGPSなど各プラットフォーム固有の機能やUI(画面)は共通化できません。
◆コードの共通化
コードの共通化には2種類あります。
・PCL(Portable Class Libraries)
PCLは共通DLLを作成する機能です。
作成したライブラリは複数のプラットフォームで使用できますが、使用できるAPIは全ての対象プラットフォームで使用できるAPIに限定されます。
・Shared Project
Shared ProjectはDLLではなく、ソースコードをそのまま共有する方法になります。
これは単なるファイル共有なので、プラットフォームに依存したコードを記載した場合、別ではビルドエラーになってしまうので注意が必要になります。
次回は画面も共通化できるXamarin.Formsについて書いてみたいと思います。