.Net Framework 這個由微軟開發的軟體開發/執行平臺,現在可真是越來越多人使用了,雖然.Net的運行架構跟Java非常相似,但是微軟似乎沒有直接提供其他作業系統的.Net Framework運行環境。
跨平台的.Net Framework - Mono
幸好,有一個名為Mono的Open Source Project,實現了這個可能,Mono官方首頁斗大的標題寫著:Mono is a cross platform, open source .NET development framework.
這意謂著.Net開發的程式可以在Mono的架構之下運行於各種系統平台,換個方式說,只要Mono Framework能運行的系統平台,就能執行.Net所開發的應用程式,而Mono從2004年發展至今已經相當完善。
目前Mono能運行於以下作業系統:
- Linux
- Mac OS X, iPhone OS
- Sun Solaris
- BSD – OpenBSD, FreeBSD, NetBSD
- Microsoft Windows
- Nintendo Wii
Mono主要是為了.Net Framework能跨平台執行而開發的,因此它支援C#及VB.Net所開發的程式,但是Mono的貢獻不僅如此, Mono還照顧到了更多語言的使用者,甚至是腳本式的語言PHP、Javascript等都能開發Mono Framework的應用程式,讓 Write Once, Run Anywhere 不再是Java使用者的獨享的好處了,目前Mono支援的語言如下:
- C#
- Java
- Boo
- Nemerle
- Visual Basic.NET
- JavaScript
- Oberon
- PHP
- Object Pascal
- LUA
- Cobra
- Python
- 其他語言…Component Pascal、Delta Forth、DotLisp、#Smalltalk
透過Mono還能讓原本只能運行於IIS下的ASP.Net透過mod_mono運行於Apache中,用更直接的方式來說,透過Mono可以讓Linux所架設的伺服器也能夠執行ASP.Net的Web應用程式了。
.Net開發工具
開發.Net的應用程式,其實並不一定要使用官方所開發的工具,如果沒有那麼大的需求,或者學生、業餘玩家也有免費的RAD工具可以使用。
Windows平台:SharpDevelop
這是一套用.Net Framework所開發的RAD工具,與其他RAD一樣,支援拖拉點選的方式協助開發應用程式,擁有相當完善的開發功能,如:程式碼提示、元件拖拉、屬性編輯、Debug….等等,支援的語言有C#, VB.NET , Boo,更重要的是它Free!
Linux平台:MonoDevelop
與SharpDevelop非常相似的RAD工具,事實上它就是以SharpDevelop為基礎所改寫、移植到Linux的一套RAD工具,一樣也是Free!
相關連結
以上,我剛接觸這些東西不久,對它們還不是很熟悉,若有謬誤歡迎指正,若有其他更好的東西,也歡迎留言分享







十二月 10, 2008 at 8:43 上午
mono 看起來比之前看的成熟多了,不過用的人少了點。
二月 18, 2009 at 12:11 下午
Mono好像还不支持WPF的程序,不过能支持.net 2.0的已经很不错了.
看了你的文章很有启发.
二月 19, 2009 at 8:30 上午
Hi Wjj
Mono的確是好東西,在.Net下的語言完全依靠.Net Framework才能運行,因此我個人覺得Mono的發展才能真正的發揮出.net的好處及優點,至於能不能支持最新的功能或技術,我也是覺得並不那麼重要。