C#言語&.NET(Mono)を使ってMac OS Xアプリを開発できる「Xamarin.Mac」が登場! サンプル・アプリ開発を通して、その概要を紹介する。
C#言語&.NET(厳密にはMono)を使ってMac OS X向けCocoaアプリ(Mac App Store対応)を開発できる「Xamarin.Mac」(ザマリン・ドットマック)が昨年末(米国時間で2012年12月12日)に登場した。Xamarin.Macを使えば、使い慣れたC#でプログラムが書けるだけでなく、Monoや.NETで開発した資産をMac上のアプリでも再利用できる可能性があるのも魅力的だ。本稿では、そのXamarin.Macを用いて「簡易Webブラウザ」のサンプル・アプリを開発することを通して、「Xamarin.Macの開発は、どのようなものか?」を紹介する(ただし、Mac App Storeへのアプリ公開の方法は紹介しない)。
Monoとは、.NETの実行基盤の仕様である「CLI(共通言語インフラストラクチャ)」を、LinuxやMac OS Xなどのマルチプラットフォーム向けに実装し直した「Monoランタイム」と、その上で動作するアプリを(ソース・コードから)生成するための「C#コンパイラ」、.NET Frameworkと互換性のある「基本クラス・ライブラリ(BCL)」などの総称である。
Monoは、Ximian(ジミアン)社のミゲル・デ・イカザ(Miguel de Icaza)氏により2001年6月から始動したプロジェクトで、その3年後の2004年6月に1.0正式版がリリースされた(その当時のMonoを紹介した記事:「特集:Linuxで動く.NET環境「Mono 1.0」の実力」)。その間の2003年8月に、Ximian社はNovell(ノベル)社に買収された。さらにそのNovell社が、2010年11月にAttachmate(アタッチメイト)社に買収され、そのAttachmate社が2011年4月に、Mono開発者を含む大規模なレイオフを行った結果、「Monoの知的所有権や管理権はAttachmate社に属したままなのに、その開発担当者はもういない」という状況に陥り、Mono開発者の間では「このままMonoがなくなってしまうのではないか」という不安が広がった。しかし2011年5月に、ミゲル氏がXamarin(ザマリン)社を立ち上げ、Mono開発がその会社で継続されることがブログでアナウンスされた。さらに2011年7月に、Attachmate社のSUSE事業部とXamarin社の間で永続的ライセンス契約が締結され、Xamarin社がMono関連の知的所有権や管理権(製品サポートなど)を公式に引き受けることになったため(参考:「Mono開発者を擁する米XamarinがSUSEと提携、Mono関連のライセンスを取得。今後MonoのサポートはXamarinが提供へ - SourceForge.JP Magazine」)、Mono開発に対する安堵(あんど)感が最近では増してきたという経緯がある。
Monoに詳しい人であれば、「MonoMac」(モノマック)というプロダクトが以前から存在していたことも知っているであろう。Xamarin.Macは、そのMonoMacのスーパーセット(=上位拡張機能。つまり中身の大部分は同じ)で、より広範なMac OS APIをカバーし、商用ライセンスの提供や、Mac App Storeへのアプリ公開をサポートするものとなっている。Xamarin社は、すでにスマートフォン開発向けの「MonoTouch」(iOS向け)や「Mono for Android」を商用ライセンスで開発者に提供しているが、Xamarin.Macはこれらに続く商用製品となる。
まずは開発環境を構築する*1。
*1 ちなみにXamarin.Mac開発を行うには、当然ながら最新のMac OS(執筆時点では、MacOS X Lion、もしくはMacOS X Mountain Lion)が必要だ。新たにMac OSを買うのであれば、デスクトップであればMac miniが価格も安くてお勧めだ。Windowsで使っている既存のモニタやキーボードをそのまま生かせるし、Boot Camp機能によりMac mini上でWindowsを実行して.NET開発を行うこともできるからだ。ただしWindows上ではMac miniの冷却ファンが固定速度でしか回らないので、熱暴走してハングアップしやすい。そのため、ハードウェアの温度に応じてファンの速度を変えるための対策が必要なので留意してほしい(参考:「Mac miniをBoot camp+Windows 8で利用しているなら、ちゃんとファンを回そう! - IsshikiView」)。
●Xcodeのインストール
Xamarin.Macは、Macの標準開発環境である「Xcode」(エックスコード)と連携して開発を行うようになっている。そのため、あらかじめXcode(執筆時点では4.5.2以降)のインストールが必要だ。XcodeはMac App StoreのXcodeページから簡単にインストールできる(筆者は以前にXcodeを導入済みであったので、この手順の説明は割愛する)。
●Xamarin.Macのインストール
Xcodeがインストールできたら、Xamarin.Macもインストールする。これには、Xamarin.Mac公式ページをWebブラウザで開いて[Download now]ボタンをクリックし、その次のWebページ内にある(1)欄で「氏名」「電子メール・アドレス」「会社名」「職種(学生|インディ(=個人開発者や10人未満の極小企業)|プロフェッショナル、から選択)」を入力し、さらに(2)欄で[Mac]を選択したうえで[Download]ボタンをクリックする。これによりダウンロードされた.dmgファイル(=ディスク・イメージ)を開くことで、次の画面のようなインストーラが立ち上がる。後は画面上の指示に従って、インストールを進めればよい。
Xamarin.Macのインストールの流れ
ちなみに筆者の場合、なぜか「Mono Framework」だけしかインストールされなかったので、再度、インストーラを起動して、「MonoDevelop + Xamarin.Mac Trial」の方もインストールし直した。
インストール完了後の説明に入る前に、Xamarin.Macのエディションとライセンスについて簡単に触れておこう。
●Xamarin.Macのエディションとライセンスについて
上の画面を見ると、「Xamarin.Mac」の後に“Trial”という表記が付いているが、ここでインストールしたのは、無償トライアル(Free Trial)版である。このエディションには、「評価目的でのみ使用できる」「一般に公開&配布してはいけない」などの制限がある(※「無償トライアル版」と呼ばれているものは、どうやらMonoMacと同じものを指しているようで、使用できるMac OS APIがXamarin.Macよりも制限されている)ので注意してほしい。これ以外の有償エディションには以下のものがある(これらのライセンスはXamarin Storeで購入できる)。
【個人利用ライセンス】
【業務利用ライセンス】
それでは次のページから、実際のXamarin.Mac開発を説明していこう。
Copyright© Digital Advantage Corp. All Rights Reserved.