Linux Mono極大提高開(kāi)源領(lǐng)域和GUI應(yīng)用程序開(kāi)發(fā)
Linux Mono是常用系統(tǒng),于是我學(xué)習(xí)研究了Linux Mono,在這里對(duì)大家詳細(xì)介紹下Linux Mono系統(tǒng)應(yīng)用,希望對(duì)大家有用。在博客園上經(jīng)常有人提到Linux Mono,我剛開(kāi)始還認(rèn)為僅僅是個(gè)開(kāi)發(fā)工具而已,通過(guò)搜索,發(fā)現(xiàn)并不簡(jiǎn)單。其實(shí)Linux Mono是一個(gè)集體的, 自發(fā)的開(kāi)發(fā)項(xiàng)目, 旨在開(kāi)發(fā)一個(gè)開(kāi)放源代碼的Linux版的Microsfot.NET 開(kāi)發(fā)平臺(tái)。
作為一個(gè)有機(jī)的.NET整體, 它包括一個(gè)C#編譯器, 一個(gè)公用語(yǔ)言運(yùn)行時(shí)環(huán)境, 以及相關(guān)的一整套類庫(kù)。Linux Mono項(xiàng)目將使開(kāi)發(fā)者開(kāi)發(fā)的.NET應(yīng)用程序不僅能能在windows平臺(tái)上運(yùn)行, 也能在任何支持Linux Mono的平臺(tái)上運(yùn)行, 包括Linux, Unix。 Linux Mono項(xiàng)目將使大家能開(kāi)發(fā)出各種跨平臺(tái)的應(yīng)用程序, 并能極大提高開(kāi)源領(lǐng)域的開(kāi)發(fā)效率。
Microsoft.NET是一套強(qiáng)大的GUI應(yīng)用程序開(kāi)發(fā)和Web Services (.NET開(kāi)發(fā)框架)開(kāi)發(fā)工具;一個(gè)提供給最終用戶應(yīng)用程序(比如web服務(wù)和大量其他企業(yè)產(chǎn)品)的用戶身份識(shí)別和驗(yàn)證系統(tǒng)("Hailstorm")。
.NET開(kāi)發(fā)工具包括C#編譯器, 公用語(yǔ)言構(gòu)架(CLI)。它能使程序員用C#或其他語(yǔ)言編寫(xiě)的程序運(yùn)行在非windows系統(tǒng)之上。 Microsoft和Corel最近宣布他們將在遵守Microsoft的"代碼共享"許可下, 合作在FreeBSD平臺(tái)上實(shí)現(xiàn).NET。
隨著C#以及CLI被提交給ECMA和W3C標(biāo)準(zhǔn)化組織, "代碼共享"許可的局限性將限制開(kāi)發(fā)者的開(kāi)發(fā)工作, 包括在其他平臺(tái)上的商業(yè)開(kāi)發(fā)。比如Linux,Unix, Solaris。
與此相對(duì), Linux Mono項(xiàng)目為開(kāi)放源代碼的開(kāi)發(fā)者提供了一個(gè)真正的"創(chuàng)建一次,隨處部署"的工具包, 并能充分利用Microsft.NET的各項(xiàng)優(yōu)點(diǎn)。Linux Mono項(xiàng)目遵守GPL和LGPL的各項(xiàng)條款, 開(kāi)發(fā)者能自由地編寫(xiě), 并發(fā)布商業(yè)的或個(gè)人的應(yīng)用程序;而這些, Microsoft的"代碼共享"許可是做不到的。
Linux Mono在他的開(kāi)發(fā)構(gòu)架中將提供三個(gè)關(guān)鍵部件, 以幫助開(kāi)發(fā)者快速的在Linux平臺(tái)上開(kāi)發(fā)、 部署、運(yùn)行.NET的兼容程序: 一個(gè)延伸自GNOME平臺(tái)的C#編譯器, 他將使開(kāi)發(fā)者能創(chuàng)建.NET相兼容的應(yīng)用程序。
這些開(kāi)發(fā)者還將能在開(kāi)放源代碼的系統(tǒng)上使用和Microsoft CLI相兼容的類庫(kù)來(lái)進(jìn)行最終用戶程序開(kāi)發(fā)和web服務(wù)開(kāi)發(fā)。Linux Mono還有一個(gè)Linux版的Microsfot公用語(yǔ)言運(yùn)行時(shí)環(huán)境(CLR)的及時(shí)編譯(JIT)引擎。
這樣, Linux上就能運(yùn)行在Windows, Linux, 或Unix平臺(tái)上編寫(xiě)的程序了。 其類庫(kù)和工具可從: http://www.mono-project.com/Main_Page下載和試用。
注:部分內(nèi)容參照LinuxAid。 另外,還有幾篇關(guān)于 Linux Mono的,個(gè)人覺(jué)得對(duì)學(xué)習(xí)Mono有所幫助,鏈接如下:
1、《用Linux Mono下進(jìn)行.net開(kāi)發(fā)》,對(duì)如何在linux下用Linux Mono進(jìn)行.net開(kāi)發(fā)講的比較詳細(xì)http://www.zdnet.com.cn/developer/tech/story/0,2000081602,39266522,00.htm
2、《在Linux Mono 上體驗(yàn)asp.net 》,是將項(xiàng)目移植到Mono上。http://cnblogs.com/chsfly/archive/2005/01/26/97733.aspx
3、《在RedHat Fedora Core 2下成功安裝Linux Mono 1.0筆記》,對(duì)安裝過(guò)程講解的比較詳細(xì)。
【編輯推薦】