差分

ナビゲーションに移動 検索に移動

MonoTouch

3,254 バイト追加, 2012年3月23日 (金) 02:17
ページの作成:「'''MonoTouch'''(ものたっち)とは、MonoおよびMonoDevelopを用いてC#でiPhoneやiPad、iPod touchといったiOS用の「ネイティ...」
'''MonoTouch'''(ものたっち)とは、[[Mono]]および[[MonoDevelop]]を用いて[[C Sharp|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 Sharp|C#]]で書いたソースコードを、[[Objective-C]]のソースコードに変換し、それを[[Xcode]]でビルドする。この一連の動作は[[MonoDevelop]]がバックグラウンドで行うので開発者は気にする必要がない。ネイティブコード寄りな仕様の関係上、一般的な.NETとは若干異なり、リフレクション関連などの機能は使えなくなっている。

[[C Sharp|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 Sharp|GTK#]]や[[Windows Forms]]で開発する場合と同様に、各部品のイベントにごりごり書いていくだけである。なんとも簡潔。
<source lang="csharp">
button.TouchDown += delegate {
label.Text = "Hello World";
};
</source>
=== その他 ===

== 関連項目 ==
* [[Mono for Android]]
* [[Unity]]
* [[MonoMac]]
== 参考文献 ==
<references/>
== 外部リンク ==

{{stub}}
匿名利用者

案内メニュー