熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> JSP教程 >> 正文

.NET跨平台的第一步

2022-06-13   來源: JSP教程 

  NET跨平台的第一步
  
  ——Mono項目對C#的實現
  
  
  
  
  
  曾有人說微軟是一個制訂標准的公司雖然微軟從來不這樣宣稱自己但大家可以看到微軟的很多產品已經成為事實上的標准在其C#和CLI(Common Language Infrastructure通用語言架構)被批准為ECMA(歐洲計算機制造協會)的標准之後更多的人開始確立這樣的想法
  
  
  
  經過標准化後的C#將可由任何廠商在任何平台上實現其開發工具及其支持軟件可以說為C#的發展提供了強大的驅動力有意思的是Sun也曾打算向ECMA提交Java標准化申請但由於無法繼續控制Java的標准化過程以及種種原因Sun最終還是撤銷了這個提案自己的孩子終歸是不敢放手C#成為標准會對Java造成影響嗎?其他廠商的C#實現情況又如何?Mono開放源碼項目的產生會讓這些問題更為明朗嗎?
  
  
  
  實現Linux上的NET
  
  
  
  盡管微軟許諾NET的開放結構使其具有跨平台的使用能力但微軟公司似乎並沒有計劃為其他非Windows操作系統平台提供使用NET的工具針對這種狀況著名的Linux桌面環境GNOME開發商Ximian公司出於改進開發工具的需要開始啟動一個名叫Mono的開放源碼項目旨在開發Linux版的NET
  
  
  
  Mono項目的發起人Miguel de Icaza在分析NET平台的時候曾表示這是一個非常棒的開發平台Ximian之所以發起Mono項目是希望升級它們的開發平台來創建其Evolution桌面應用程序雖然Mono項目的起因並不偉大但它帶來的影響卻足以使開放源碼領域熱鬧很久
  
  
  
  該項目的內容主要包括一個C#編譯器與微軟的CLI兼容的類庫Linux版本的CLR(Common Language Runtime)編譯器其中CLI組件將允許用C#編寫的應用程序能夠在像Linux等非Windows操作系統上運行就像Java虛擬機能讓一個應用程序在不同的操作系統上運行一樣Mono項目的倡導人Miguel de Icaza表示Mono項目將提供能夠自由進行應用程序開發或提供Web服務的工具從而Linux用戶也能夠享受到NET平台的巨大好處
  
  
  
  如果Mono能夠創建完成一套基於這些標准的Linux開發工具集的話開發者將能夠編寫同時在Windows和Linux上運行的NET程序這些程序甚至還有可能在其他非Windows的操作系統上運行比如Unix
  
  
  
  GNOME架構的組件可以很快地應用於實現NET類庫而且最有意思的是通過現有GPL授權任何人都可以自由地擴展和升級這些技術雖然NET以前一直是開放源碼的支持者所極力反對的但Mono項目的啟動將為非Windows操作系統實現一個NET開發平台當然在實際的開發過程中Mono項目必須基於標准重新構造這些工具而不能查看微軟的任何源代碼
  
  
  
  Mono掀起開放源碼波瀾
  
  
  
  微軟表示將C#和CLI標准化最終的目的還是為了讓更多的人使用它毫無疑問如果Mono項目成功微軟的NET將會越來越重要越來越普及但同時也會削弱微軟對軟件行業的控制這大概是更多Mono項目的支持者願意看到的他們認為Mono項目對Linux以及像GNOME這樣的技術來說是一個好機會通過Mono計劃它們有可能得到那些目前仍然使用微軟技術的大公司的認可而且理論上講如果這些公司選擇部署Linux可以避開微軟的高額許可費用他們相信更多的程序員參與到Mono項目中一定會創造出一個比Windows上更好的NET實現如果真能這樣那Mono將使微軟不得不承認開放源碼方式在開發和優化各種系統上所具有的威力
  
  
  
  在Mono的擁護者描繪美好前景的同時也有人擔心Mono項目會損害到Java和Linux因為它使GPL開發人員在Windows平台上發布他們的應用程序更為便捷同時他們還擔心微軟會在其HailStorm服務中建立硬連接從而迫使那些在Mono上進行開發的公司將其應用程序轉移到Windows環境中去
  
  
  
  Mono項目能否最終成功它到底會帶來什麼樣的影響目前來說還是未知數不過有分析家指出NET還是初生技術任何對它的克隆也極有可能更不成熟不管怎樣市場是最公平的好的東西自然會有更多的人使用而如果有人采用強制手段市場自然會做出公平的選擇
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19676.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.