Xamarin

「Xamarin」(ザマリン)とは

Xamarin(ザマリン)とは、C#を用いてWindows、AndroidやiOSなど各プラットフォームのネイティブアプリを作成できるクロスプラットフォーム開発環境です。

従来のネイティブアプリ開発では、WindowsではC#、AndroidであればJavaかkotlin(2017年5月18日、Androidの正式開発言語として「kotlin」を採用した)、iOSであればObjective-CかSwiftといったようにそれぞれで適した言語が異なっていました。

このXamarinを使う事で、各プラットフォームのアプリケーションをC#で開発ができます。これは単に開発言語を共通化できるという話だけではなく、マルチプラットフォーム対応のアプリケーションにおいても多くのコードを共通化でき、開発費用の削減および保守性と品質の向上が可能になります。

Xamarinの特徴

Xamarinには、以下の大きな4つの特徴があります。

Xamarinの開発手法

UI部分の開発のやり方によって大きくXamarinネイティブという開発手法とXamarin.Formsという開発手法があります。

Xamarinネイティブ

XamarinネイティブとはBackend部分の処理を共通化し、UI部分はネイティブで個別に記述する開発手法である。 UI部分は各プラットフォーム固有のネイティブUIコントロールを使用するため、ユーザが違和感なくアプリを操作することができます。

Xamarin.Forms

Xamarin.Formsとは、Backend部分の処理を共通化に加え、UI部分をXAMLまたはC#で記述できる開発手法である。 Android/iOS/Windows Phone/UWP/Windows Storeの開発に対応しており、各プラットフォーム間で共有可能なUIを作成することができます。

Xamarin.FormsはUIを共通にするフレームワークなので、プラットフォーム固有の機能はそのままでは利用できませんが、DependencyServiceなどの機能を使用することで、プラットフォーム固有の機能を共通のインターフェースを介して利用できるようになります。