michaelwang1978

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            10 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks
          開放源代碼協(xié)會(huì)通過Linux軟件開發(fā)公司Ximian開始了一個(gè)旨在將微軟.Net平臺(tái)移植到Linux上來的項(xiàng)目。這個(gè)叫做Mono工程的項(xiàng)目包括創(chuàng)建一個(gè)開發(fā)平臺(tái)允許人們?yōu)榛贚inux和基于Windows系統(tǒng)的.Net開發(fā)應(yīng)用程序。據(jù)Ximian公司的首席技術(shù)官員Miguel de Icaza說Mono項(xiàng)目的起因是GNOME社團(tuán)特別是Ximain公司對(duì)于一個(gè)改進(jìn)的開發(fā)工具的需要。

          但是Mono項(xiàng)目的影響確是更加深遠(yuǎn)的,因?yàn)檫@些開發(fā)工具是基于CLI(通用語言架構(gòu))和微軟提交給歐洲計(jì)算機(jī)制造協(xié)會(huì)(ECMA)的C#實(shí)現(xiàn)標(biāo)準(zhǔn)的。如果Mono能夠完成基于這些標(biāo)準(zhǔn)創(chuàng)建一套Linux開發(fā)工具集的目標(biāo)的話,開發(fā)者將能夠編寫同時(shí)在Windows和Linux上運(yùn)行的.Net程序,這些程序甚至還可能在其它非Windows的操作系統(tǒng)上運(yùn)行,比方Unix。

          除了實(shí)際的開發(fā)過程,Mono項(xiàng)目的工具必須在開放源代碼社團(tuán)的內(nèi)部完成而不能違反微軟的知識(shí)產(chǎn)權(quán)專利--這實(shí)際上意味著開發(fā)者們必須基于標(biāo)準(zhǔn)重新構(gòu)造這些工具而不能查看微軟的任何源代碼。

          Mono項(xiàng)目包括三個(gè)核心的部分:一個(gè)C#語言的編譯器,一個(gè)CLI和一個(gè)類庫。 CLI是包含了類加載器的虛擬機(jī),實(shí)時(shí)的編譯器,和一個(gè)運(yùn)行時(shí)環(huán)境的垃圾收集器。CLI這個(gè)組件將允許用C#編寫的應(yīng)用程序能夠在象Linux這樣的非Windows操作系統(tǒng)上運(yùn)行。這與Java世界中Java虛擬機(jī)能夠讓一個(gè)應(yīng)用程序在不同的操作系統(tǒng)上運(yùn)行是類似的。

          Mono項(xiàng)目的類庫能夠讓應(yīng)用程序完成核心的諸如XML處理,文件輸入輸出,和連接網(wǎng)絡(luò)之類的任務(wù)。它將會(huì)和微軟的CLI兼容(與微軟在.Net framework中發(fā)布的東西緊密的配套),還有一點(diǎn)就是將由開放源代碼團(tuán)體編寫的額外的類庫也將和CLI兼容。

          Ximian公司的de Icaza希望在年底到達(dá)項(xiàng)目的一個(gè)里程碑,這時(shí)編譯器將能夠編譯類庫了。圖形用戶界面組件--創(chuàng)建GUI程序所需的類庫--將在明年中完成。

          “我們?cè)谶@個(gè)方面工作的原因是希望升級(jí)我們的開發(fā)平臺(tái)來創(chuàng)建我們的Evolution桌面應(yīng)用程序,”de Icazo說。Evolution是Ximian公司的電子郵件客戶端及個(gè)人和工作組信息管理程序。“當(dāng)我們看見.Net framework的時(shí)候,我們覺得這些就是我們將用來開發(fā)我們下一代產(chǎn)品要使用的工具,”他說。

          Ximian并不將Mono和它自己看作是給Linux開發(fā)者一種途徑在可用的開發(fā)工具方面趕上Windows。其實(shí),Linux開發(fā)者將更喜歡用他們目前使用的工具來編寫的編譯應(yīng)用程序。Ximian 將另一個(gè)開放源代碼項(xiàng)目,SharpDevelop看作是用來提供與微軟Visual Studio .Net類似的集成開發(fā)環(huán)境的一種途徑。

          通過以開放源代碼的方式開發(fā)Mono,這個(gè)項(xiàng)目包含了許多對(duì)開發(fā)過程擁有廣泛興趣的人們。雖然Ximian可能希望找一些改進(jìn)的開發(fā)工具來加速它的應(yīng)用程序的開發(fā)過程,但其它的開發(fā)者可能是希望找到能夠讓他們?cè)赪indows上編寫程序然后在Linux系統(tǒng)上運(yùn)行它們的開發(fā)工具。

          其中的一個(gè)大問題是如何避免微軟的知識(shí)產(chǎn)權(quán)保護(hù)。“我們避免知識(shí)產(chǎn)權(quán)保護(hù)的方法是堅(jiān)持非研究性的主題并使用現(xiàn)有的技術(shù)實(shí)現(xiàn)其功能,”de Icaza說。例如,Mono JIT編譯器沒有使用任何先進(jìn)的JIT編譯器技術(shù)。相反Mono的版本是基于老的JIT技術(shù)的。

          De Icaza還聲稱Mono必須“著眼大處”還不僅僅是去年ECMA規(guī)定了些什么。也就是說,Ximian計(jì)劃參與標(biāo)準(zhǔn)的制定過程并創(chuàng)建類庫來提高.Net framework的薄弱之處,比方說電子郵件管理。

          據(jù)Giga Information Group的副分析師Stacey Quandt稱,微軟不太可能支持Mono因?yàn)槠涫跈?quán)是與GNU 通用公眾證書為C#的授權(quán)和GNU 弱公眾證書為類庫和運(yùn)行庫的授權(quán)聯(lián)系在一起的。

          但即使微軟不支持Mono,Mono的存在也證實(shí)了微軟對(duì)于.Net能夠移植到其它平臺(tái)的聲明是正確的。

          Quandt說面向更廣泛的開發(fā)團(tuán)體是Mono面臨的另一個(gè)挑戰(zhàn)。例如IBM和Sun都在Java上花費(fèi)了巨額的投資,自然也就很難容忍競(jìng)爭(zhēng)行為。
          posted on 2005-10-11 08:46 Michael 閱讀(196) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 景洪市| 德惠市| 高阳县| 桐柏县| 正宁县| 许昌市| 江陵县| 九台市| 诸城市| 靖远县| 三门峡市| 雷州市| 太保市| 巧家县| 麟游县| 酒泉市| 泾川县| 商洛市| 武定县| 绩溪县| 松阳县| 无锡市| 镶黄旗| 澄城县| 济南市| 伊春市| 正定县| 安福县| 西青区| 深泽县| 昌邑市| 乌鲁木齐县| 泾源县| 绥宁县| 新安县| 工布江达县| 宁德市| 射阳县| 宝丰县| 修水县| 莎车县|