???? 辣椒、龍舌蘭酒、大沿尖頂帽……墨西哥在人們心目中,是一副熱辣辣火烈烈的形象。早前兩部電影,Man on Fire和City of God,淋漓盡致地把墨西哥地底下一股邪火展現(xiàn)在世人面前——那地方,是天真、直白、充滿(mǎn)詩(shī)意和理想,而且暴烈的,一如獸類(lèi)盤(pán)踞的伊甸園。
???? 所以,當(dāng)一些杰出而理想化的IT技術(shù)人物漸次在這塊土地上嶄露頭角,世界并不應(yīng)感到吃驚——Miguel de Icaza就是其中一位。他推動(dòng)了Gnome這一著名Linux桌面系統(tǒng)的產(chǎn)生、創(chuàng)建Ximian公司(后被Novell收購(gòu)),在開(kāi)源世界里,是一個(gè)成功地引入商業(yè)概念的奇人。
???? 2001年,Miguel de Icaza和朋友一起開(kāi)啟了Mono,基于UNIX的.NET Framework開(kāi)發(fā)平臺(tái)實(shí)現(xiàn)。
???? .NET是微軟希望借以打擊Java的重要武器。.NET與Java相比(拋卻因成熟度帶來(lái)的差異不談,那是可以彌補(bǔ)的),前者跨語(yǔ)言而不跨平臺(tái)、后者跨平臺(tái)而不跨語(yǔ)言。在跨平臺(tái)支持方面,.NET先天不足。當(dāng)然這與微軟“捆綁操作系統(tǒng)”戰(zhàn)略密不可分——既有好處,也有壞處。然而無(wú)論如何.NET要比Java晚生多年,在某些方面絕對(duì)要比Java具有更多優(yōu)勢(shì),也從Java學(xué)習(xí)了許多優(yōu)秀的特性。所以,對(duì).NET發(fā)生極大興趣的,不光是原來(lái)的微軟開(kāi)發(fā)者,還包括Miguel de Icaza這樣的Linux擁躉。
???? Mono在西班牙語(yǔ)中的意思,是“猴子”。這個(gè)名字讓人想起墨西哥人火辣直白的性格,那與《西游記》中孫悟空的野性難馴別無(wú)二致。Mono項(xiàng)目野心極大,它包括C#編譯器、CLR引擎、兼容.NET Framework的類(lèi)庫(kù)(支持ADO.NET和ASP.NET等)、第三方類(lèi)庫(kù)Gtk#(gtk+工具集的.NET實(shí)現(xiàn))、甚至還有漂亮的IDE、調(diào)試工具和文檔瀏覽器。
???? Mono的主要組成部分是:
- 公共語(yǔ)言架構(gòu)(CLI)虛擬機(jī),包括類(lèi)裝載器、Just-in-time編譯器和運(yùn)行時(shí)垃圾回收機(jī)制;
- 基礎(chǔ)類(lèi)庫(kù),運(yùn)行于CLR之上的任何語(yǔ)言均可使用,包括兼容.NET的類(lèi)庫(kù)和Mono獨(dú)有類(lèi)庫(kù)。
- C#語(yǔ)言編譯器。未來(lái)將實(shí)現(xiàn)基于CLR的其他編譯器。
???? Mono已經(jīng)發(fā)布了1.0版本。在這個(gè)版本中,最基礎(chǔ)的部分已經(jīng)實(shí)現(xiàn),包括:
- C#編譯器??
- VM(虛擬機(jī)),包括JIT和預(yù)編譯器
- IL assembler、disassembler
- 開(kāi)發(fā)和安全工具
- 核心庫(kù):mscorlib、System、System.XML
- System.Data和Mono database providers
- System.Web:Web應(yīng)用平臺(tái)和Apache集成模塊
- System.Web.Services客戶(hù)端和服務(wù)器支持
- System.Drawing
- System.DirectoryServices
- JIT支持: x86、SPARC和PPC架構(gòu)
- 通過(guò)IKVM實(shí)現(xiàn)Java集成
- 運(yùn)行時(shí)的嵌入式界面
???? Mono將緊隨Microsoft,在2005年發(fā)布支持Whidbey(.NET 2.0)的版本,于2006年發(fā)布支持WinFX的版本。
???? 從目前的狀況來(lái)看,Mono還遠(yuǎn)未成熟。盡管已經(jīng)有一些站點(diǎn)在Mono之上搭建,但總體上并沒(méi)有為大多數(shù)人所接受。這里面既有效率效率的原因,也有兼容度的原因。但無(wú)論如何,一只天不怕地不怕的石猴已經(jīng)橫空出世了。
???? 事實(shí)上Microsoft也有自己的.NET UNIX實(shí)現(xiàn):Rotor,但我相信他們不會(huì)很快在戰(zhàn)略層面上支持跨平臺(tái)的.NET Framework。依照微軟一貫的做法,類(lèi)似Mono這樣的嘗試,也不會(huì)進(jìn)入被打擊之列——且看你能做出什么東西,再做打算。
???? Mono,這只初入人間的猴子,是否能夠成長(zhǎng)為齊天大圣?Miguel de Icaza顯然有此雄心,一切只能讓時(shí)間來(lái)驗(yàn)證了。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=72182
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
