對C# 程序員來說現在是到目前爲止最好的時代

本文的標題來自Scott HanselmanXamarin Evolve 2013 Talk Video - How C# Saved My Marriage,想寫下這些東西主要是今天看到了CSDN的一個極客頭條《觀點:.NET向何處去?》和傳智播客.Net學院:《Linux+Mono公開課》的視頻看了2個開頭的視頻,鄒華棟 老師講的很不錯,適合初學者,期待後續Jexus 和 nginx 公開課。但是課程中也有一些錯誤的地方, 本文將自己的一些看法及時記錄下來和更多的人分享。

     公開課提到Mono才剛出來不久還不成熟,這裏涉及到一個Mono的歷史,具體的歷史在園子裏有很多同學也介紹了,我都收錄在這篇博客《Mono在國內的發展歷程(相關文章彙總)》,2000年8月微軟、惠普和英特爾共同制定CLI和C#編程語言的標準規格,微軟在2001年把CLI和C# 提交給了ECMA[ECMA是一個致力於推動行業範圍內採用信息和通信技術的非特定供應商的國際標準組織]標準化 ECMA 335ECMA 334),比Java還早的標準化了.NET平臺。Miguel de lcaza 看到了C#語言的優雅和高效率,Ximian內部對如何創建能有效提升生產效率的工具進行了大量的討論,他們的目標是通過這些創建出來的工具讓用戶可以在更短時間內創建出更多的應用程序從而縮短開發週期和降低開發成本。Miguel所在的著名的Linux桌面環境"GNOME"的開發商,美國Ximian公司在2001年7月開始啓動一個名叫Mono Project的開放源碼版".NET"的開發項目,旨在使開發者能夠編寫同時在Windows和Linux上運行的.NET程序,Mono計劃主要包括一個C#編譯器、與Microsoft 公司的Common Language Infrastructure(CLI)兼容的類庫、Linux版Common Language Runtime(CLR)編譯器,它包含了一個C#語言的編譯器,一個CLR的運行時,和一組類庫。早期主要關注點是Linux桌面的軟件開發。2001年.NET 1.0剛發佈beta版本的時候,Mono項目就開始了。2003年4月份的時候微軟提交到ISO ( ISO/IEC 23271ISO/IEC 23270).儘管微軟及其他合作伙伴持有CLI及C#的專利,ECMA和ISO要求所有專利都應該遵守“合理與非歧視準則”。除此之外,這些公司亦同意讓用戶免費使用這兩項專利。差不多三年後,Mono於2004年7月30日發佈了1.0版本。 從1.0版本到今年的3.0版本,已經發展了10幾年了,所以說已經是歷史悠久,而不是剛出來的。

公開課還提到了Mono最近更新非常快,最近2年微軟不斷地走向開放,把相關的開源項目的協議都更改爲了Apache Licence  2(asp.net mvc/dlr/ironpython/ironruby/f#等等),這樣就可以直接集成進入Mono項目了。最近2年微軟還有一個重要的開源項目是Nuget,Nuget相當於是在把.NET社區的資源進行彙集,最新發布的2.5版本對Mono也提供了支持(雖然還有瑕疵)。相信生態系統進入良性循環會更加的繁榮。Mono項目在發展的過程中一直比較關注客戶端的開發,對Web的開發重視不夠,可以從Mono默認提供的ASP.NET服務器XSP看出來,XSP最早還是來自於微軟的內部團隊,至今一直不能承擔起ASP.NET服務器的重任,這些年偏偏互聯網的發展非常的迅速,Linux服務器的發展更加迅猛,可以說Mono錯過了一個機會。Mono上由於Web服務器上發展欠缺,國內出現了一款LINUX ASP.NET WEB服務器:JEXUS,2011年我在InfoQ上寫了這篇文章介紹,目前這款服務器非常的強勁,網上也有相關的測試數據,這裏要強調一點的是,在做IIS/Jexus 這樣的Web服務器的時候,需要考慮到.NET的特點,先預熱一下再開始壓測,不然測試結果有失公正。大家在Linux上選擇Linux ASP.net web服務器就選它準沒有錯,這樣Windows搭配IIS ,Linux搭配Jexus,在Web領域可以活的很輕鬆。不過iPhone所掀起移動互聯網浪潮的出現又把重點回歸到了雲+端。在Novell公司被賣之前Mono開發團隊就開始了Monotouch的開發,而且取得了非常的成功,即使是在Apple的強硬的絕不允許在ios上運行動態庫,Mono團隊通過AOT技術完美解決,同時把目光轉向了Android平臺,經過對Android的深入的研究,完全使用C#移植了Andorid。發展到今天已經在移動開發方面讓C#程序員有了最好的工具,可以跨越主流的移動開發平臺。所以說Mono是非常成熟的一個平臺。

今年的.NET開源社區的會議不斷,在不久前結束的Xamarin Evolve 2013開發者大會上,Xamarin團隊成員向600多名C#開發者介紹了該產品的新功能並通過授課的方式讓大家更加了解Xamarin的使用方法。接下來還有2013年7月22日-25日舉辦的MonkeySpace ,具體可以訪問官方網站 http://monkeyspace.org/。MonkeySpace 之前叫做MonoSpace,現在是官方的跨平臺和開源.NET會議。想更多瞭解有關iPhone和Android,Mac和* nix平臺使用.NET技術? MonkeySpace圍繞着如何在.NET中使用開源技術爲.NET社區提供場地,合作,分享和社交活動。


CSDN的一個極客頭條 觀點:.NET向何處去? 通過上面的介紹,大家應該很容易自己做出判斷。從移動開發的ios,android,wp,windows開發,再到web/cloud等等開發領域都可以用C#。而且國內對.NET開發的應用也在深入,比如園子裏陳貞寶OSGI.NET開放工廠,陳晴陽的面向領域驅動的企業級應用開發框架ApworksLinux ASP.NET Web服務器Jexus


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章