メインメニューを開く

差分

MonoMac

137 バイト追加, 2016年3月31日 (木) 12:17
編集の要約なし
'''MonoMac'''(ものまっく)とは、(読み:ものまっく)とは、[[Xamarin Studio]]([[Mono]]および[[MonoDevelop]]を用いて)を用いて[[C Sharp|C#]]でMac で[[Mac OS X用の「ネイティブアプリケーション」の開発を可能にする統合プログラミング環境のことである。X]]用の「ネイティブアプリケーション」の開発を可能にする[[統合プログラミング環境]]のことである。
== 概要 ==
MonoMacは、MonoMacは[[iOS]]向けの[[MonoTouch]]の技術をそのまま[[Mac OS X]]に持ってきたものである。有償版のみの[[MonoTouch]]とは異なり、MonoMacは完全に無償で提供されている。ただしMonoMacはライセンスに[[GPL]]および[[LGPL]]が用いられているため、そのままでは商用利用できないという人のために商用ライセンスの[[Xamarin.Mac]]という有償版も提供されている。に持ってきたものであるといえる。
2011年3月17日、MonoMac 1.0が公開された。今後、[[F Sharp|F#]]、[[IronRuby]]、[[IronPython]]、[[UnityScript]]といった[[プログラミング言語]]のサポートを進めていくと説明されている。
=== ライセンス ===有償版のみの[[UIMonoTouch]]部分のとは異なりMonoMacは完全に無償で提供されている。ただしMonoMacは[[デザインライセンス]]には[[Interface BuilderGPL]]との連携に対応しているため、従来のおよび[[XcodeLGPL]]を用いたが用いられており、開発した[[Mac OS Xプログラム]]アプリケーション開発と基本的に同様である。ただしを配布する場合は必ず[[MonoDevelopオープンソース]]経由で[[xibファイル]]を開き[[Interface Builder]]を起動すると、xibファイルが監視された状態となり、[[UI]]を編集し保存した瞬間にまるで[[Visual Studio]]で[[Windows Forms]]をデザイン編集したときのように全自動で[[部分クラス]]が生成されるなど、その連携具合は手動で[[アウトレット]]を書かなければならない[[Xcode]]より何故か遙かに優れている。にしなければならないという条件がついている。
なお、2012年3月19日時点では、そのままでは商用利用できない、[[MonoDevelopソースコード]]での日本語表示に一手間必要であり、また日本語入力は一切できない。アプリ中に出現する文字列は、多言語対応のためにもは公開したくない、という人のために[[ソースコードオープンソース]]に直接日本語を埋め込まず、化しなくてもよいという[[リソースXamarin.Mac]]で管理しましょうという思し召しに違いない。という有償版も提供されている。いわゆる資金源である。
=== Xcode連携 ===[[UI]]部分の[[デザイン]]には[[Interface Builder]]との連携に対応しているため従来の[[Xcode]]を用いた[[Mac OS X]]アプリケーション開発と基本的に同様である。ただし[[MonoDevelop]]経由で[[xibファイル]]を開き[[Interface Builder]]を起動すると、xibファイルが監視された状態となり、[[UI]]を編集し保存した瞬間にまるで[[Visual Studio]]で[[Windows Forms]]をデザイン編集したときのように全自動で[[部分クラス]]が生成されるなど、その連携具合は手動で[[アウトレット]]を書かなければならない[[Xcode]]より遙かに優れている。 === 日本語周り ===<del>なお、2012年3月19日時点では、[[MonoDevelop]]での日本語表示に一手間必要であり、また日本語入力は一切できない。アプリ中に出現する文字列は、多言語対応のためにも[[ソースコード]]に直接日本語を埋め込まず、[[リソース]]で管理しましょうという思し召しに違いない。</del> 2013年11月5日現在の最新バージョンでは日本語表示も日本語入力も問題なくできるようになっている。いつの間に対応したんだよ。 === ネイティブコード ===
[[Mono]]と言えば[[.NET Framework]]互換の[[オープンソース]]プロジェクト、その[[.NET Framework]]と言えば[[中間コード]]と[[仮想マシン]]をまず思い浮かべるだろうが、MonoMacが吐き出すのは生粋の[[ネイティブコード]]である。
[[C Sharp|C#]]の[[ソースコード]]から[[Objective-C]]の[[ソースコード]]に変換するという荒技は、かつて[[アドビ]]と[[アップル]]による[[Flash]]によるiPhoneアプリ開発をめぐる紛争の末に制定された[[App Store]]の[[サードパーティ]]締め出し利用規約を強引に回避するために編み出した必殺技である。
<ref>[http://www.atmarkit.co.jp/news/200901/29/mono.html iPhoneでC#アプリが審査に通るワケ - @IT]</ref>
== 必要なもの 利点==* Mac本体===ガベージコレクションが強い===* Mac OS X 10.6以上* Xcode 3以上* [[MonoObjective-C]]も[[Swift]]も[[ガベージコレクション]]が腐っており実質的には存在しないと思った方がいいレベルの中で唯一まともそうなのが[[MonoMac]]であった。ほとんどのアプリは[[Objective-C]]の[[ガベージコレクション]]でも問題ないが、[[ウェブカメラ]]の[[動画]]を表示や録画、編集などを行うような高負荷かつ[[メモリ]]を喰いまくる[[アプリ]]では特に顕著であった。[[アップル]]のサイトで配布している[[QTKit]]による[[ウェブカメラ]]を制御するサンプルも、実は動きの速い[[動画]]を撮影し続けると[[メモリリーク]]* して最終的に[[MonoDevelopクラッシュ]]するという<ref>https://developer.apple.com/library/mac/samplecode/QTRecorder/Introduction/Intro.html#//apple_ref/doc/uid/DTS10004043</ref>。
MonoMacは==欠点=====APIが欠落している===[[Xamarin.Mac]]上でが登場して以来、[[MonoDevelopAPI]]を動かした場合のみプロジェクトの新規作成に出現するようになっている。の更新が止まっており、[[日曜プログラマー]]には世知辛い雰囲気が漂っている。たとえば[[OS X Mavericks]]で[[QTKit]]が廃止され[[AV Foundation]]に移行したがMonoMacでは残念なことになっている。せめて2つ3つくらい前の古いバージョンはMonoMacとして公開してくれたりしないかな。
== インストール 使い方 == === Xcodeをインストールする ===MonoMacは裏でgccやIBを利用するためXcodeが必須です。Xcodeは巨大なので気長にダウンロードしてください。 Mac OS X 10.6 (Snow Leopard)ではXcode 3.xまでしか対応していないのでXcode 3.x系の最終バージョンであるXcode 3.2.6をアップルのサイトからダウンロードし、インストールする<ref>https:*[[MonoMac//developer.apple.com/downloads/index.action</ref>。旧バージョンの入手にはアップル公式サイト上にて無料のデベロッパー登録が必要です。インストール]] Mac OS X 10.7 (Lion) 以降はXcode 4.xをMac App Storeから検索してインストールするのが手っ取り早い<ref>http://itunes.apple.com/jp/app/xcode/id497799835?mt=12</ref>。 === *[[MonoMonoMac/ウインドウを閉じた際にアプリを終了させる]]をインストールする ===Mono公式サイトより最新バージョンをダウンロードしてください。インストールはインストーラーの指示に従うだけです。 === 日本語表示設定を行う ===ターミナル(アプリケーション→ユーティリティー)を起動し以下のファイルを作成する。これをやらないと日本語が文字化けします。 なお、このファイルは*[[MonoMonoMac/フルスクリーン表示に対応する]]のランタイム(*[[MREMonoMac/Interface Builderでカスタムコントロールを使用する]])をバージョンアップするたびに消されやがるので、その都度作成すること。*[[MonoDevelopMonoMac/NSImageをファイルに保存する]]の起動時に「バージョンアップしますか?」と表示されたら要注意。忘れずに再作成しましょう。 <source lang="bash">$ sudo su$ echo '"Lucida Grande" = "Hiragino Kaku Gothic Pro"' > *[[MonoMac/Library/Frameworks/MonoNSImageをSystem.framework/Versions/Current/etc/pango/pangoDrawing.aliasesImageに変換する]]<*[[MonoMac/source>Resource Bundleを利用する]]*[[MonoMac/ウインドウが閉じる際に処理をする]]=== *[[MonoDevelopMonoMac/モーダルウインドウを作成する]]をインストールする ===MonoDevelop公式サイトより最新バージョンを*[[ダウンロードMonoMac/AppleScriptを実行する‎]]してください。インストールはインストーラーの指示に従うだけです。*[[MonoMac/リムーバブルメディアの着脱を検知する‎]] Xcodeのインストール先が標準以外の場合は、MonoDevelopを起動した後、メニューのPreferencesから設定画面を開き、「その他」にある「SDK Locations」の「Apple SDK」にXcodeのインストール先を設定する。チェックマークが赤バツから緑レ点になればパス指定は正しい。 === プロジェクトを作ってみる ===「ファイル」「新規作成」「ソリューション」「C#」「MonoMac」「MonoMac Project」「進む」*[[MonoMac/外部コマンドを実行する]]
== 使い方 ==この他にも「[[:Category:MonoMac]]」に色々あるかもしれない。
== 関連項目 ==
{{stub}}
 
[[category:MonoMac]]
匿名利用者