「MonoMac」の版間の差分
imported>Administrator |
imported>Administrator |
||
14行目: | 14行目: | ||
== ネイティブコード == | == ネイティブコード == | ||
[[Mono]]と言えば[[.NET Framework]]互換のオープンソースプロジェクト、その[[.NET Framework]]と言えば中間コードと仮想マシンをまず思い浮かべるだろうが、MonoMacが吐き出すのは生粋のネイティブコードである。 | [[Mono]]と言えば[[.NET Framework]]互換のオープンソースプロジェクト、その[[.NET Framework]]と言えば中間コードと仮想マシンをまず思い浮かべるだろうが、MonoMacが吐き出すのは生粋のネイティブコードである。 | ||
− | MonoMacでは[[C Sharp|C#]] | + | MonoMacでは[[C Sharp|C#]]で書いたソースコードを、ほぼ人間の読めない[[Objective-C]]のソースコードに変換、それを[[Xcode]]でビルドする。 |
なお、この一連の動作は[[MonoDevelop]]がバックグラウンドで行うので開発者は気にする必要がない。 | なお、この一連の動作は[[MonoDevelop]]がバックグラウンドで行うので開発者は気にする必要がない。 | ||
また、このネイティブコード寄りな仕様の関係上、リフレクションなどは使えなくなっている。 | また、このネイティブコード寄りな仕様の関係上、リフレクションなどは使えなくなっている。 |
2012年3月18日 (日) 15:44時点における版
MonoMac(ものまっく)とは、MonoおよびMonoDevelopを用いてC#でMac OS X用の「ネイティブアプリケーション」の開発を可能にする統合プログラミング環境のことである。
iOS向けのMonoTouchの技術をそのままMac OS Xに持ってきたものである。 なおMonoTouchとは違い完全に無償で提供されている。
2011年3月17日、MonoMac 1.0が公開された。 今後、F#、IronRuby、IronPython、UnityScriptといったプログラミング言語のサポートを進めていくと説明されている。
UI部分はInterface Builderとの連携に対応しているため,従来のXcodeを用いたMac OS Xアプリケーション開発と基本的に同様であるが、Interface Builderとの連携具合はなぜかXcodeより遙かに優れている。
なお、2012年3月19日時点では、MonoDevelopでの日本語表示に一手間必要であり、また日本語入力は一切できない。 アプリ中の日本語データは、ソースコードに日本語を埋め込まず、リソースで管理しましょうという思し召しに違いない。
ネイティブコード
Monoと言えば.NET Framework互換のオープンソースプロジェクト、その.NET Frameworkと言えば中間コードと仮想マシンをまず思い浮かべるだろうが、MonoMacが吐き出すのは生粋のネイティブコードである。 MonoMacではC#で書いたソースコードを、ほぼ人間の読めないObjective-Cのソースコードに変換、それをXcodeでビルドする。 なお、この一連の動作はMonoDevelopがバックグラウンドで行うので開発者は気にする必要がない。 また、このネイティブコード寄りな仕様の関係上、リフレクションなどは使えなくなっている。
C#のソースコードからObjective-Cのソースコードに変換するという荒技は、かつてMonoTouchがiPhoneアプリ、AppStoreのサードパーティ締め出し利用規約を強引に回避するために編み出した必殺技である。
必要なもの
- Mac本体
- Mac OS X 10.6以上
- Xcode 3以上
- Mono
- MonoDevelop