Xamarin とは

C# によるクロスプラットフォーム開発環境。
従来のネイティブ環境での開発と違い、Android/iOS/Windows のアプリケーションを C# で開発可能です。これにより開発の効率化、全プラットフォームでの品質の向上を実現しました。

2001年に Mono プロジェクトとして発足し、後に Xamarin 社を設立、2016年に Microsoft 社に買収されました。現在は Visual Studio に同梱され、OSS 化、ライセンスの無料化がされています。

2つの開発手法

1.バックエンドの処理は共通化し、
UI 部分は個別に開発できる手法

  •   Xamarin.Android
    Android アプリ開発用
  •   Xamarin.iOS
    iOS アプリ開発用
  •   Xamarin.Mac
    Mac アプリ開発用

2.バックエンドの共通化に加え、
UI 部分も共通化できる手法

  •   Xamarin.Forms
    Android/iOS/UWP アプリ共通

今までのアプリ開発

Xamarin はひとつのプログラムコードで Android/iOS/Windows に対応できます。 今までは、各 OS に対応した言語で、プログラムを書く必要があり大変でした。

3つの特徴


ネイティブ

開発者は各プラットフォームの機能を簡単に実現でき、ユーザはどの OS でもネイティブアプリと同等の操作性を得られる。


C#/.NET/Visual Studioでの開発

ネイティブの言語を知らなくても良いので開発要員を確保しやすく、運用・体制が組みやすい。また、同じ環境と要員で開発できるので開発リソースを効率よく活用できる。


コードの共通化

開発工数が少なくすむため従来の開発より開発費の削減、期間の短縮が可能。また、共通化により変更等に対応しやすくなり、保守性も向上し、品質の高いアプリを構築することができる。

ネイティブ

Xamarin は「ネイティブ」をキーワードとした開発環境です。

1.ネイティブ API アクセス

各 OS の API を100%移植しています。また、 Xamarin.iOS は基本的に iOS SDK と同日リリース等、OSの最新版への対応も早く、アプリ開発に迅速に着手できます。

2.ネイティブパフォーマンス

Android では起動時に JIT コンパイラを備えた ART 仮想マシンと Mono ランタイム上で実行され、iOS では.ipa ファイルにパッケージングされます。これにより高速なレスポンスを実現し、端末によるパフォーマンスの差を小さくすることが可能です。

3.ネイティブユーザインタフェース

Xamarin.Forms の場合、共通のコードで各プラットフォーム標準のコントロールにマッピングしてくれます。これにより、各 OS のユーザに慣れ親しんだコントロールの見た目、動作を開発者は意識することなく簡単に提供できます。

C#/.NET/Visual Studioでの開発

同期/非同期、LINQ、ラムダ式など C# のパワフルな機能を利用し開発が可能です。 C#/.NET 開発者にとって Android/iOS のアプリを Java や Objective-C のようなネイティブのコーディング言語を使用せず開発できることは大きなメリットになります。また、既存の C# で開発した資産を活用することもできます。

コードの共通化

アプリの通信・計算・データ更新などの共通処理はすべてのプラットフォームから同じものを参照できるため、それぞれの言語で別々に開発する必要がありません。

JMAS の実績

「Microsoft Foresight」公式アプリ

日本マイクロソフト株式会社様が、ビジネスリーダー向けに開催するイベント「Microsoft Foresight」にて、 参加者向けアプリをテクニカルスポンサーとして開発、提供しました。

アプリ内容は「参加セッションのスケジューリング」、「セッション後のアンケート回答」、「ランチクーポン」など円滑にイベントを進行するためのサービスとなります。

本アプリは、「 Xamarin.Forms 」で開発し、iOS/Android/Windows とクロスプラットフォームで提供しています。

講演動画

【Xamarin 開発の真実】
イベントアプリの中身、すべてお見せします

弊社 事業企画部 プロダクト企画グループ プロダクトスペシャリストの川合 俊介が 「 Microsoft Tech Summit 」で講演いたしました。
講演内容を日本マイクロソフト株式会社様 YouTube公式チャンネルに公開いただきました。

お問い合わせ先

Xamarin によるクロスプラットフォーム開発について、お気軽にご相談ください。

入力フォームはこちら