「Mono」の版間の差分
imported>Administrator |
Administrator (トーク | 投稿記録) 編集の要約なし |
||
| (4人の利用者による、間の6版が非表示) | |||
| 1行目: | 1行目: | ||
'''Mono'''(モノ)は、GNOMEプロジェクト創設者の[[ミゲル・デ・イカザ]]が開発した、Ecma標準に準じた[[.NET Framework]]互換の環境を実現するための[[オープンソース]]ソフトウェア群、またそのプロジェクト名である。 | '''Mono'''(モノ)は、GNOMEプロジェクト創設者の[[ミゲル・デ・イカザ]]が開発した、Ecma標準に準じた[[.NET Framework]]互換の環境を実現するための[[オープンソース]]ソフトウェア群、またそのプロジェクト名である。 | ||
現在は[[ | [[Xamarin]]社が開発、販売、サポート業務を行ってた | ||
2016年に[[マイクロソフト]]に買収され、2019年に最後のメジャーリリースを行ったのを最後に放置されていた。 | |||
現在は[[Wine]]が引き継いでいる。 | |||
[[共通言語基盤]] (CLI) の実装や[[C Sharp|C#]]の[[コンパイラ]]などが含まれる。 | [[共通言語基盤]] (CLI) の実装や[[C Sharp|C#]]の[[コンパイラ]]などが含まれる。 | ||
| 9行目: | 12行目: | ||
その他にも、特定プラットフォーム向けに特化したサブプロジェクトも存在する。 | その他にも、特定プラットフォーム向けに特化したサブプロジェクトも存在する。 | ||
なお、一般的なマルチプラットフォーム(いわゆる「[[Write Once, Run Anywhere]]」を目指す多くのプロジェクトとは異なり、Monoではビジネスロジック部分のみを共通化しようとする物が多く、インターフェイス(ビュー)に近い部分はそのプラットフォームに依存するような作りとなっている。これにより「[[Write Once, Run Anywhere]]」は実現できないが、そのプラットフォームが持つ特徴や性能を活かすことができる。 | |||
; Mono公式 | |||
* [[MonoTouch]] - [[iPhone]]や[[iPad]]、[[iPod touch]]といった[[iOS]]での動作をサポートしている。 | * [[MonoTouch]] - [[iPhone]]や[[iPad]]、[[iPod touch]]といった[[iOS]]での動作をサポートしている。 | ||
* [[MonoMac]] - [[MonoTouch]]の技術を応用し、Mac OS Xへのネイティブ対応を行う。 | * [[MonoMac]] - [[MonoTouch]]の技術を応用し、Mac OS Xへのネイティブ対応を行う。 | ||
* [[Mono for Android]] - [[Android]]での動作をサポートしている。 | * [[Mono for Android]] - [[Android]]での動作をサポートしている。 | ||
; サードパーティ製 | |||
* [[Unity]] | |||
* [[PlayStation Suite SDK]] | |||
== プロジェクトの目標 == | == プロジェクトの目標 == | ||
| 24行目: | 33行目: | ||
また[[マイクロソフト]]純正の[[.NET Framework]]ではサポートされていない[[SIMD]]への対応など、Mono独自の革新的な機能の取り込みも積極的に行われている。 | また[[マイクロソフト]]純正の[[.NET Framework]]ではサポートされていない[[SIMD]]への対応など、Mono独自の革新的な機能の取り込みも積極的に行われている。 | ||
== Monoライブラリ == | |||
MonoプロジェクトにはMono本体に加え、便利なライブラリやフレームワークが多数用意されている。 | |||
これらは純正[[.NET Framework]]でも利用できる。 | |||
また、一部は[[NuGet]]でも配布されており、[[Visual Studio]]などからも手軽に利用できるようになっている。 | |||
=== 主なMonoライブラリ === | |||
{| class="wikitable sortable" | |||
|- | |||
! 名称 !! [[NuGet]] !! 概要 | |||
|- | |||
| [[Mono.Addins]] || ○ || アドイン対応アプリを作るためのフレームワーク。 | |||
|- | |||
| [[Mono.Addins.Setup]] || ○ || | |||
|- | |||
| [[Mono.Cecil]] || ○ || [[CIL]]を解析するライブラリ。 | |||
|- | |||
| [[Mono.CSharp]] || ○ || | |||
|- | |||
| [[Mono.Linq.Expressions]] || ○ || | |||
|- | |||
| [[Mono.Options]] || ○ || [[コマンドライン引数]]を解析するライブラリ。いわゆる[[getopts]]の[[C Sharp|C#]]版。 | |||
|- | |||
| [[Mono.Reflection]] || ○ || | |||
|- | |||
| [[Mono.Zeroconf]] || ○ || | |||
|} | |||
== 歴史 == | == 歴史 == | ||
| 42行目: | 78行目: | ||
monoはスペイン語で猿を意味するため、Monoのロゴには猿が描かれている。猿に関する名称は[[Ximian]]の他のプロジェクトにも見られる。 | monoはスペイン語で猿を意味するため、Monoのロゴには猿が描かれている。猿に関する名称は[[Ximian]]の他のプロジェクトにも見られる。 | ||
Mono FAQでは、名称の由来に関する質問に対して「我々は猿が好きなのです。」 (We like monkeys.) と回答している<ref>[http://www.mono-project.com/FAQ:_General "What does the name "Mono" mean?"] </ref>。 | Mono FAQでは、名称の由来に関する質問に対して「我々は猿が好きなのです。」 (We like monkeys.) と回答している<ref>[http://www.mono-project.com/FAQ:_General "What does the name "Mono" mean?"] </ref>。 | ||
== インストール == | |||
=== FreeBSD === | |||
# パッケージを入れる | |||
$ pkg install mono | |||
# 共有メモリを増やす | |||
$ echo kern.maxfiles=25000 >> /boot/loader.conf | |||
$ echo kern.ipc.semmni=40 >> /boot/loader.conf | |||
$ echo kern.ipc.semmns=300 >> /boot/loader.conf | |||
# プロセスの細かい情報を取れるようにする | |||
$ echo "proc /proc procfs rw 0 0" >> /etc/fstab | |||
# SSL証明書をぶちこむ | |||
$ mozroots --import --sync | |||
=== macOS === | |||
[[macOS]]の場合はmono公式サイトからパッケージを拾ってきてインストーラーに従えばok。 | |||
また、[[Xamarin Studio]]を入れようとすると同時に入ってくる。 | |||
== Mono関連のコマンド == | == Mono関連のコマンド == | ||
| 62行目: | 118行目: | ||
== 参考文献 == | == 参考文献 == | ||
{{reflist}} | |||
[[category: Mono]] | |||
[[category: Wine]] | |||