MonoTouch

提供: MonoBook
2012年3月23日 (金) 02:17時点におけるimported>Administratorによる版 (ページの作成:「'''MonoTouch'''(ものたっち)とは、MonoおよびMonoDevelopを用いてC#でiPhoneやiPad、iPod touchといったiOS用の「ネイティ...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

MonoTouch(ものたっち)とは、MonoおよびMonoDevelopを用いてC#でiPhoneやiPad、iPod touchといったiOS用の「ネイティブアプリケーション」の開発を可能にする統合プログラミング環境のことである。

iPhoneやiPad、iPod touchといったiOS端末実機で動かせる製品版は有償。エミュレーターのみで動かせる体験版は無償。Monoの開発を主導するXamarinの貴重な収入源であり、MonoTouchとMono for Androidのおかげで、他の関連プロジェクトも含め、マニュアルを書く専門の人を雇えるくらい安定して回るようになったという。

ネイティブコード

Monoと言えば.NET Framework互換のオープンソースプロジェクト、その.NET Frameworkと言えば中間コードと仮想マシンをまず思い浮かべるだろうが、MonoTouchが吐き出すのは生粋のネイティブコードである。

MonoTouchではC#で書いたソースコードを、Objective-Cのソースコードに変換し、それをXcodeでビルドする。この一連の動作はMonoDevelopがバックグラウンドで行うので開発者は気にする必要がない。ネイティブコード寄りな仕様の関係上、一般的な.NETとは若干異なり、リフレクション関連などの機能は使えなくなっている。

C#のソースコードからObjective-Cのソースコードに変換するという荒技は、かつてAppStoreのサードパーティ締め出し利用規約を強引に回避するために編み出したものである。

必要なもの

  • Mac本体
  • Mac OS X 10.6以上
  • Xcode 3以上

インストール

インストール方法はMonoMacとほぼ同じである。 MonoMacとの違いはMonoTouch(MonoTouch SDK)のインストールが必要なくらいなので、詳細はMonoMacの項目を参照。

使い方

UIの作成

MonoTouchでは、UIの構築にXcode付属のInterface Builderを用いる。MonoDevelopのプロジェクトの中にあるxibファイルを開くと自動的にInterface Builderが起動するので、Xcodeで開発する場合と同様の手順でUIを作成する。

Interface Builderで配置した各部品にアウトレット(公開名、IBで配置した各部品はprivateなので外部公開用にC#でいうpublicなアクセサを用意するようなもの)を定義し、保存すると、MonoDevelop側がそれを自動認識して.xib.designer.csファイルというクラスが自動生成される。Xcodeの場合は手で書かなければならない面倒な部分を自動でやってくれるという親切設計。

あとはGTK#Windows Formsで開発する場合と同様に、各部品のイベントにごりごり書いていくだけである。なんとも簡潔。

button.TouchDown += delegate {
    label.Text = "Hello World";
};

その他

関連項目

参考文献

外部リンク