ザマリンとは
Xamarin(ザマリン)とは、iOSやAndroidなどのアプリケーションを開発するための開発環境の一つです。実際にザマリンを使う前に、概要や成り立ちを確認しておきましょう。
Xamarin社の提供するアプリ開発環境
ザマリンはもともと『Xamarin社』がMono(様々なOSで.NETアプリケーションを動かすことができるソフトウェア)をベースに開発した、クロスプラットフォームの開発ツールです。
2016年にXamarin社がMicrosoft社に買収されて以降は、『.NET』(Microsoft社が開発したネットワーク上でアプリケーションを構築する基盤システム)によるSDK(ソフトウェア開発キット)や統合開発環境などを加えたツール群を総称して『ザマリン』と呼ぶようになりました。
様々なOSのアプリを一括で開発可能
ザマリンはiOSアプリ、AndroidアプリともにC#で開発することで、『クロスプラットフォーム』を実現しました。クロスプラットフォームとは、異なるOS間で相互にデータの移動やプログラムを作動できる状態を指します。
通常、異なるOSでアプリを作成する際は、OSにあわせて開発環境やプログラミング言語を変える必要があり、開発者にかかる負担がかなり大きくなります。
ところがザマリンは『iOSやAndroidのネイティブアプリ開発のプログラミング言語をC#に置き換えたもの』のため、OSごとにわざわざ開発環境や言語を変える必要がありません。
ザマリンの特徴
OSに左右されることなく、アプリを一括で開発できるザマリンには、他の開発環境にはない特徴があります。ここではザマリンの特徴を3つ見てみましょう。
C#で記述
ザマリンの大きな特徴は、AndroidもiOSもC#(シーシャープ)で記述するという点です。
C#とはMicrosoft社が開発するプログラミング言語で、C++やJavaと同様に『ブジェクト指向』と呼ばれます。C言語やC++とよく似ていますが、互換性はありません。
C#で書いたソースコードは『.NET Framework』上で動くため、『.NET Framework』さえ入っていれば、どんな環境でも稼働できます。つまりC#を使えば、PCやOS、ハードを選びません。
また、言語開発時に『Java』の影響を強く受けているため、高レベルな処理を行う層での開発が得意です。
ネイティブアプリの開発が可能
『ネイティブアプリ』とは、端末にインストールして使うタイプのアプリのことです。ネイティブアプリは、OSごとに異なる開発をする必要があります。
しかしザマリンを使えば、OSに左右されることなく、一括でネイティブアプリの開発が可能です。ザマリンにはiOSアプリ用の『Xamarin.iOS』と、Androidアプリ用の『Xamarin.Android』があります。
Xamarin.iOSで作成されたアプリは『.ipaファイル』にパッケージングされるため、Xcode(Apple公式の開発ツール)と同じ形式のものが作れます。
一方、Xamarin.Androidで作成されたアプリも、コードをAndroidで実行可能な形式へと変換されるため、ネイティブアプリとして動作できるのです。
コードを共通化できる
異なるOSに対応するアプリを作る場合、OSごとに異なるコードを作成する必要があります。異なる言語で開発する必要もあるでしょう。
ザマリンを使用することで、同じコードを元にして、別々のOSに対応するように変換できます。つまりコードの共通化が可能になるのです。Xamarin.Formsを利用すればUI(ユーザーインターフェース)のコード共通化もできます。
コードの共通化によって、開発にかかる時間やコストの削減が期待できるのです。
ザマリンの導入手順
クロスプラットフォームを実現できるザマリンは、OSを選ばずに構築可能です。ここでは、実際の導入手順を紹介します。
Windowsの場合
Windowsでザマリンを利用する場合は、『Visual Studio』というIDA(統合開発環境)が必要ですが、すでにインストール済みの場合は、ザマリンが使える状態です。Visual Studioを立ち上げて『クロスプラットフォーム』の中を検索してみましょう。
まだインストールしていない場合には、次の項で詳しい手順を紹介します。
Visual Studioをインストール
Visual Studioとは、Microsoft社が開発しているIDAです。開発に必要なソフトウェアがコンパクトに1つにまとめられているうえ、すべての機能が連携しているので、開発効率を格段にアップします。
ザマリンはこのVisual Studioの中のツールの1つとして提供されているので、利用するにはまずVisual Studioそのもののインストールが必須です。インストールは次の流れで行います。
- パッケージをダウンロード
- パッケージをダブルクリック
- 『.NET によるモバイル開発』を選択
- 『インストール』ボタンをクリック
無事インストールが終わったら、『起動』をクリックします。
Visual Studioにザマリンを追加
既にVisual Studioがインストールされていれば、後からザマリンを追加することは容易です。ただしそのためにはVisual Studio インストーラーを開き、ワークロードとコンポーネントを追加する必要があります。
追加の手順は、以下です。(Windows10の場合)
- Windowsの検索ボックスに『Visual Studio Installer』と入力して検索し、起動する
- インストールした Visual Studio のエディションを探し『変更』を選択する
- 『ワークロード』画面が表示されたら、追加したい機能にチェックする
- 『ダウンロードしながらインストールする』もしくは、『全部ダウンロードしてからインストールする』を選択する
- 変更を選択する
- 新しいワークロードとコンポーネントがインストールされたら『起動』を選択する
最初は『全部ダウンロードしてからインストールする』を選ぶことをおすすめします。万が一失敗した場合は、『Visual Studio のインストールとアップグレードの問題のトラブルシューティング』を確認してみてください。
Visual Studio のインストールとアップグレードの問題のトラブルシューティング
Macの場合
Macの場合は『Xamarin Studio』をインストールします。手順は以下のとおりです。
- Xamarin Studio のダウンロード ページから、インストーラーをダウンロードする
- プライバシーとライセンス条項に同意し続行する
- 『Xamarin.iOS』や『Xamarin.Android』などの一覧が表示されるので、使用予定のものを選択する
- インストールが完了したら『Xamarin Studioを起動』をクリックする
これでMacでもザマリンが使えるようになります。
ザマリンが評価される理由
ザマリンは2011年にリリースされた比較的新しい開発環境ですが、アプリ製作者からは高く評価されています。ザマリンのどのような点が評価されているのかを紹介します。
無料で利用可能
先述したVisual Studioには、無償で使える『Visual Studio Community』があります。無償版のVisual Studioにもザマリンが入っていますから、無料でザマリンでの開発を始められるのです。
Xamarin社がMicrosoft社とパートナー提携を結ぶ以前は、ザマリンの年間ライセンス料は25万円ほどしました。それが現在は無料で利用できるようになったため、ザマリンのユーザーが増えています。
工数、開発コストの削減
ザマリンでは、C#でソースコードを記述することでクロスプラットフォームを実現させるというのは前述のとおりです。今までのようにAndroidアプリとIOSアプリで別々の開発環境を用意する必要がありません。
さらに『Xamarin.Forms』によって画面の共通化も可能になり、リアルタイムのプレビューもできます。
ザマリンを使うことで、開発者は工程数・開発コストをぐっと抑えることができるようになったのです。開発者の負担を軽減したことも、ザマリンが高く評価される理由の一つでしょう。
頻繁なアップデート
状況に合わせて頻繁に自動アップデートが実施されることも、ザマリンの信頼性を高めています。
ザマリンはアプリ開発に使われるという性質上、AndroidやiOSと深い関わりがあります。そのため、それぞれのOSがアップデートされれば、ザマリンも仕様を変えなければなりません。AndroidもiOSも比較的頻繁にアップデートするため、OSの更新に合わせてアップデートが必要とあれば、ユーザーにかかる負担は大きくなるでしょう。
その点ザマリンは、OSのアップデートにすぐに対応して更新されるので安心です。ザマリンの頻繁なアップデートにより、常に最新の状態で利用できます。
ザマリンのデメリット
WindowsでもMacでもネイティブアプリを開発できるのがザマリンの魅力です。一見するとメリットばかりに見えますが、当然デメリットもあります。
完全に共通化できるわけではない
ザマリンは、AndroidとiOS、それにMacでソースコードを共通化できますが、実際に共通化できるのは30~60%程度です。画面を共通化できる『Xamarin.Forms』も共通化の範囲は限られているため、共通化できない部分に関しては、それぞれのOSに応じた対応が必要になります。
実際にザマリンを自由に使いこなせるようになるには、JavaでのAndroidアプリ開発やSwift(アップルが開発したプログラミング言語)を使ったiOSアプリの開発にも慣れておくことが必要と言えます。
参考ドキュメントは英語が多い
ザマリンはMicrosoft社によって提供されているので、基本言語は英語です。そのため参考ドキュメントは英語で書かれています。
たとえブラウザに翻訳機能があっても、誤訳や、日本語として意味が通らない訳になることもあります。ザマリンを適切に使うには、原文のドキュメントが読める英語力があると有利です。
まとめ
ザマリンは、クロスプラットフォームを実現できる有益な開発ツールです。Android、iOSとアプリを分けて作る必要がないため、使いこなせば開発にかかる時間やコストを大幅に削減できます。
ただし、ソースコードはC#言語で書き記すため、C#の基礎知識は必須です。加えて共通化されない部分についてはネイティブアプリの基礎知識も必要なので、幅広い知識を備えておく必要があります。
個人の場合は無料でザマリンを利用できます。ザマリンによる開発に興味があれば、さっそくパソコンの環境を整えて、使い始めてみてはいかがでしょうか。