mono 是一個由novell (浪威)公司主持的項目。該項目的目标是建立一系列合ecma 标準(ecma-334 和ecma-335)的.net 工具,包括c# 編譯器和共通語言執行平台。與微軟的.net framework 不同,
你想在windows上開發ios應用, 使用mono吧!,你想用c#開發開發android 應用,ios應用吧。 你想要你的客戶運作程式不裝.netframework 使用mono吧
mono 項目不僅可以運作于windows 系統上,還可以運作于linux,freebsd,unix,mac os x 和solaris。
mono 的開發工具 monodevelop
微軟開發了一個稱為共享源碼公共語言基礎(shared source common language infrastructure,shared source cli)的可用于 freebsd,windows 和 mac os x 的 .net 實作版本。微軟的共享源碼協定并不是開源軟體協定,且可能對于社群來說也是不足夠的(它明文禁止了對軟體的商業用途)。我們還可以見到另外一個 .net 實作版本,portable.net 項目,該項目與 mono 項目有着很多相同的目标。
mono 虛拟機包含一個實時編譯引擎,該引擎可用于如下處理器:x86,sparc,powerpc,arm,s390(32位模式和64位模式),x86-64,ia64 和64位模式的 sparc。該虛拟機可以将代碼實時編譯或者預先編譯到原生代碼。對于那些沒有列出來的系統,則使用的是代碼解釋器。
下圖是mono的體系結構圖
