mono[Xamarin公司開發的跨平台.NET運行環境]

背景

Mono是一個由Novell公司(由Xamarin發起)主持的項目,並由Migueldelcaza
領導的,一個致力於開創.NET在Linux上使用的開源工程。它包含了一個C#語言的編譯器,一個CLR的運行時,和一組類庫,並實現了ADONET和ASPNET。能夠使得開發人員在Linux用C#開發程式。該項目的目標是創建一系列符合標準ECMA(Ecma-334和Ecma-335)的.Net工具,包括C#編譯器和共同語言(CL即CommonLanguage)執行平台(Platform).與微軟的.Net不同,Mono項目不僅可以運行於Windows系統內,還可以運行於Linux,FreeBSD,Unix,MacOSX和Solaris。
Mono現由Novell持有雙重許可,這和Qt、Mozilla應用程式套件的情況相似.Mono的C#編譯器及其相關工具發布於GNUGeneralPublicLicense(GPL)之下,其運行時庫發布於GNULesserGeneralPublicLicense(LGPL)之下,其類庫發布於MITLicense之下.這些均是開源協定因此Mono是一個開源軟體.如果你打算向Mono貢獻你的源碼,則你須簽署一個著作權分派給Novell以允許它將這些代碼在其它協定下再申請許可,從而允許Novell保留其雙重許可的能力來持有Mono的商業協定.
微軟開發了一個稱為共享源碼公共語言基礎(SharedSourceCommonLanguageInfrastructure,SharedSourceCLI)的可用於FreeBSD,Windows,MacOSX的.NET實現版本.微軟的共享源碼協定並不是開源軟體協定,且可能對於社區來說也是不足夠的(它明文禁止了對軟體的商業用途).我們還可以見到另外一個.NET實現版本,PortableNET項目,該項目與Mono項目有著很多相同的目標.
Mono虛擬機包含一個實時編譯引擎,該引擎可用於如下處理器:x86,SPARC,PowerPC,ARM,S390(32位模式和64位模式),x86-x64,IA64和64位模式的SPARC.該虛擬機可以將代碼實時編譯或者預先編譯到原生代碼.對於那些沒有列出來的系統,則使用的是代碼解釋器.

相關詞條

相關搜尋

熱門詞條

聯絡我們