一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

在Mono平臺開發前你應該知道

  在Mono平臺開發前應該做的第一個事情就是,調整好心情,降低期望值:

  對于Linux本地C程序員而言,由于習慣了瘋狂和有魔力的本地C程序員開發,因此對于Mono提供的諸多限制可能不太滿意。大體而言,Mono和.NET程序一樣,屬于框架開發的范疇,對于框架開發,最好在框架規定的范圍內工作,否則會陷入孤立無緣的境地。Mono沒有C開發那些唾手可得的工具,也不能對系統進行無限的挖掘,Mono關注的是應用軟件開發,不是系統軟件(Mono 可以支持本地服務開發)。Mono支持兩重類型軟件開發,以WEB為中心的軟件和以本地為中心的開發。WEB包括常規以上的應用型網站開發,也包括基于服務的模型開發。由于服務現在成為軟件開發的中心并且迅速進化。作為.NET替代平臺,Mono顯得很混亂,主要因為.NET以服務為中心的設計在Mono 上還無法完全施展,因為Mono基礎平臺正處于2.x階段,等09年底應該是一個新階段。對于本地程序開發,主要包括一GTK#和System.Windows為中心的圖形界面程序開發,還包括服務軟件的開發(linux service機構),也包括一Lucene.NET為基礎的搜索軟件的開發。

  對于Windows .NET 程序員而言,首先要極度降低期望值,Mono沒有絢麗的工具,缺乏足夠的第三方軟件,并且工具之間的集成也做得不太好,代碼編寫可能不很流暢,MonoDevelop也可能讓你很失望,這些都是Windows上廉價的.NET開發工具把我們慣壞了。Windows.NET程序員來到Mono的主要原因有很多,可能是因為好奇,希望遷移自己的程序,想窺探一下Mono實現以確定和自己想的差距有多遠,更多的是要學習。就像把孩子放到艱苦的地方鍛煉一樣,來到Mono,你將會有同樣的感覺,非常的貧瘠。Mono工具還比較原始,文檔也比較少,我覺得這反倒是學習的好地方,每一次當我打開MSDN,我都會望書驚嘆,多么希望積累足夠豐富的Windows知識呀,但是MSDN讓人感到很大很茫然,最后,還是購買專著研究更合適,其他要用的,用的時候再查資料吧。在Mono平臺上資料非常少,這也是優勢,對于C#語言本身而言,那是學習的好地方,就像C++一樣,C#本身是一個迷人的語言值得研讀一下,但是C#上緊緊捆綁的應用更適合生產而不是學習,如果要學習,需要找一個單調一點、產品單一的環境,當然學好了趕緊回來,趕緊擁抱Windows:)

  了解平臺之間的差距:

  關于文件系統,Linux基于虛擬文件系統,這是Linux最成功的設計之一,表面看起來就是,任何文件和資源都可以通過一"/"開始的文件來訪問,文件之間的分割符是"/"。在Windows中,文件系統經過多次抽象,看起來類似與以“C:”、“D:”這樣的方式開始,并且文件之間的分隔符使用"/",這是很多程序不可移植的重要原因,可以參考后來的文章,了解如何提高程序的可移植性。

  第二個差距就是換行符的不同,在Windows平臺,一個換行符意味著“/r/n",由于在字符終端時代,"/n"的任務是使光標處于下一行的同等位置,而"/r"則是使光標處于一行的開頭,因此,去下一行開始則意味著要配合使用兩個控制符;在Unix族平臺,換行符則使用"/n"表示,這是歷史原因,我猜想是由于早期的時候終端程序的規定導致的。

  關于Unicode,這現在應該不成問題了,現在Linux都在內部使用了Unicode,以前Linux在內部使用ASCII編碼及其擴展。由于Windows在內部使用Unicode已經很長時間了,.NET 的Unicode 支持非常好,Char字符本省就是Unicode的,并且System.Text也為文本處理提供了諸多支持。雖然Mono實現了.NET的功能,但是我發現,系統對Unicode 的處理不夠細心,一個細心設計的類庫和平臺,應該保證在大部分情況下系統的反應能和程序員預期的一樣好,但是Mono沒有做到,那是以前的事情了,由于Mono RunTime在一直改進,現在應該有大幅進步吧。文本處理一直都是計算機科學的基本問題之一,通常情況下,處理多國編碼的最簡的辦法是使用UTF-8,由于歷史原因,許多接口并沒有使用UTF-8,而是使用蹩腳的轉換。在Windows下,在.NET出現之前,文本處理一直很讓人頭疼,贊揚.NET事常提的一個問題就是:“難道你還想執行字符串轉換工作?”,看看char *、wchar_t*、_bstr_t、CComBSTR、CString、basic_string 和System.String,往事不堪回首呀,如果不跨庫,不夸方案,那么字符串處理還算輕松,一旦要跨庫跨平臺跨方案,那么,字符串處理就是程序員的噩夢。

  結構差距,Microsoft.NET 是一個旨在建立巨大生態圈的大方案,希望面面俱到。因為Microsoft企業平臺架構,Microsoft.NET能夠更好的跟Windows的業務核心和系統核心無縫集成。在Microsoft.NET上,架構師、設計師和程序員看到的不僅僅是.NET,還包括大量運行的關系業務前途的企業服務和組建。在Mono上,由于需要依賴第三方實現,依賴大量的綁定來使用系統或其他軟件的功能,有時侯透明度不夠。沒有MMC、域、MSMQ、WMI、事務支持、服務架構、數據庫服務等重要基礎結構的支持,這些在開發早期就應該確定的因素,請確定Mono能夠滿足你的要求。另一方面,這些在很多時候也是一個優勢,有大量的第三方組建在實現這些功能,包括Apache和Mozilla和Postgrsql。

NET技術在Mono平臺開發前你應該知道,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 成人网欧美亚洲影视图片 | 99国产成人高清在线视频 | 激情综合欧美 | 日本一区二区三区免费看 | 精品中文字幕一区二区三区四区 | 精品免费国产一区二区三区 | 最新国产福利在线 | 久久综合亚洲伊人色 | www久久久久 | 国产精品手机在线亚洲 | 影院成人区精品一区二区婷婷丽春院影视 | 久久久久久久一精品 | 久久91精品国产91久久跳舞 | 久久精品资源 | 日韩毛片免费视频一级特黄 | 国产高清一区二区三区视频 | 在线永久免费观看黄网站 | 二区久久国产乱子伦免费精品 | 精品伊人久久大线蕉色首页 | 国内免费高清视频在线观看 | 国产成人午夜片在线观看 | 亚洲黄视频 | 亚洲欧美日韩国产色另类 | 碰人超人人人超人人 | 国产 麻豆 | 国产小视频在线播放 | 精品乱人伦一区二区三区 | 国产成人99精品免费观看 | 国产激情视频在线观看 | 四虎在线永久免费视频网站 | 亚洲综合激情小说 | 女人笫一次一级毛片 | 一区二区三区中文字幕 | 亚洲第一区精品日韩在线播放 | 久久亚洲伊人中字综合精品 | 91在线永久 | 精品玖玖| 91精品国产丝袜在线拍 | 国产女女视屏免费 | 久久精品99视频 | 在线国产91 |