クロスプラットフォーム

クロスプラットフォーム(英:cross-platform)とは、複数の異なるプラットフォーム上で、同じ仕様のものを動かすことが出来るプログラム(ソフトウェア)のことを言います。同様の呼称にマルチプラットフォームがあります。
従来のアプリケーション開発では、Android向けには、Android Studio、iOS向けにはXCodeをそれぞれ使用する開発手法です。同じ内容であるにもかかわらず、それぞれの環境で実装する必要があります。
今回は、無駄な二重実装を省く、よりスピーディにアプリケーションを開発することができる画期的な開発手法「クロスプラットフォーム開発」を紹介いたします。

クロスプラットフォーム開発とは

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などの機能を使用することで、プラットフォーム固有の機能を共通のインターフェースを介して利用できるようになります。