Mono2.0發(fā)布 Linux下的.NET框架成熟嗎?
雖然Mono2.0兼容微軟.NET2.0,但和微軟***的.NET版本并不完全兼容。Mono的努力非常重要,因為它的目標是在Linux上運行.NET程序。
Mono項目主管MigueldeIcaza告訴InternetNews.com,"我們正在某些地方趕上微軟的.NET。"
DeIcaza表示,Mono項目的一直在做的是辨別開發(fā)者們用的是.NET的哪些部分。自Mono1.2.3發(fā)布以來,MoMA(Mono移植分析)工具就出臺,用來檢查微軟的.NET可執(zhí)行程序,以便獲得運行.NET所需要的所有東西。
得益于MoMA的統計結果,我們可以將人們最實用的東西優(yōu)先對待。DeIcaza說,這意味著我們推遲了一些API的開發(fā),比如,WPF就不在我們目前的開發(fā)進度中。
WPF是微軟.NET3.0的一部分,曾一度以代碼名Avalon聞名。WPF包含在WindowsVista和WindowsServer2008中,為開發(fā)者提供了一個圖形子系統。DeIcaza說,WPF目前還沒有被廣泛采用。
IT開發(fā)者和廠商之間的步調并不一致。他說,誠然,會有些早期采用者,他們喜歡***的API,但這些用戶并不是Mono的用戶,除此之外的普通開發(fā)者會和Mono保持一致。
除了不支持WPF,Mono2.0還有其它一些問題。Novell產品經理,JosephHill表示,那些通過了MoMA分析的程序中,只有50%才100%兼容.NET。50%足可以說明Mono的進展狀況,Mono前面的版本的這一比例僅為10%。.NET可以調用非托管代碼以及老的函數庫。這就帶來一些麻煩,如果某個程序調用了老的函數庫,而Linux上沒有這種庫,移植這樣的程序就會出現問題。另外,有些函數是只用于Windows平臺的,這樣的函數,Mono也不會移植。
從技術角度看,Mono2.0的主要改進是完全支持WindowsForm,這項工作Mono花費了幾年的工夫。
Mono2.0對我們非常重要,我們已經完全支持.NET2.0。Hill說,我們的2.0版工作已經做了很久,現在已經完全支持桌面組件,WindowsForm,我們已經達到我們所認為的完全支持。
WindowsForm是Windows桌面平臺的一個圖形API,Hill承認,將WindowsForm完整集成到Mono2.0是一個艱巨的任務??赡芷渲?**組件就是內嵌的瀏覽器控件。Hill解釋,它是基于Windows平臺的IE瀏覽器的,我們基于Firefox重寫了這個控件,但必須保留原來IE控件的一些行為。
Novell從2001年開始從事Mono項目,2004年推出***個Beta版Mono1.0。Mono2.0是一個重大的版本升級,下一個版本Mono2.2將于今年11月發(fā)布。Mono2.2會推出新的代碼生成引擎,會產生更優(yōu)質的代碼。會對WindowsForm以及其它內容做進一步改進。
【編輯推薦】