什麼是Mono,為什麼會有危險?

Mono是Ximian發起的一個開源項目的名稱,該項目目前由Novell推廣(在收購Ximian之後),以創建一組免費的工具,這些工具基於GNU / Linux並與ECMA指定的.NET兼容。被許多GNU / Linux用戶討厭嗎?

什麼是單聲道?

不,與猴子島無關。 單聲道 是CLI(通用語言基礎結構)和C#(均由Microsoft創建)的免費實現,具體取決於發送給 ECMA 為其標準化。 此實現是開源的。

Mono包含CLI,該CLI包含負責加載類的虛擬機,jit編譯器(Just-in-time)和垃圾收集器; 所有這些都是根據規範從頭開始編寫的 ECMA-334.

Mono還包括一個C#編譯器,它是用C#矛盾地編寫的,並且像CLI一樣,該編譯器遵循規範 ECMA-335.

另外,Mono具有與.Net Framework庫兼容的庫目錄,但它也具有一系列Microsoft .Net Framework中不存在的庫;例如,Microsoft。 例如允許創建GTK +工具箱的本機圖形界面的GTK#,Mono.LDAP,Mono.Posix等。

單聲道的起源

Mono由Miguel De Icaza構思,當時該項目由他的公司Ximian贊助; 目前 Novell公司 自Novell收購Ximian以來,它是Mono項目的讚助商。

創建Mono的動機是由於尋找了有助於在Linux環境中快速創建應用程序的工具。

單聲道支持的平台

Mono目前在86位的x390,PPC,SPARC和S32平台上運行; 和x86-64和SPARC(64位); 可以在以下操作系統中創建和執行應用程序:Linux,Windows,OSX,BSD和Solaris。

單聲道與.Net框架兼容嗎?

Mono的目標之一是實現與API 1.1的高度兼容性,儘管與.Net Framework的API 2.0的兼容性已有大量工作。

這是為了確保在Windows中使用.Net Framework編譯的二進製文件可以在任何Mono平台上運行而不必重新編譯二進製文件,並且又可以使用兼容的Mono -Ej:系統庫。 System.Xml等-。

Mono提供的庫與.Net Framework的對應庫100%兼容。 最新版本2.6.1。 除其他重要功能外,還包括:

  • 命令行界面
  • C#編譯器
  • ADO.NET
  • ASP.NET
  • 網頁服務
  • 系統
  • Windows窗體

後者是WindowsForms,它需要最多完成全部工作。 儘管應注意,該項目並未考慮為企業服務創建兼容的庫。

我現在可以使用Mono創建哪些類型的應用程序?

好的,可以使用mod_mono模塊創建Web類型的應用程序和Web服務,該模塊允許Apache Web服務器為ASP.NET(aspx)和Web服務(asmx)頁面提供服務。

也可以創建訪問數據庫的應用程序,例如Microsoft SQL,Oracle,Postgresql等。

在圖形界面應用程序方面,建議使用GTK#,因為它所基於的工具包(GTK +)允許在Linux,Windows和OSX環境中運行圖形應用程序而無需進行任何更改。 由於與Mono中的Windows窗體兼容的實現尚未完成,因此該建議很重要。

我的應用程序是否需要與Mono和.Net Framework兼容,即可移植?

只要是基於CLI的應用程序,實際上就沒有特定的設置。 儘管應考慮以下幾點:

  1. Linux在文件名和目錄名上區分大小寫; 因此必須與我們使用的名稱保持一致。
  2. Windows()中的路徑分隔符與Linux(/)中的分隔符不同,因此建議使用API​​ Path.DirectoryPathSeparator,以在執行應用程序時獲取正確的分隔符。
  3. 如果使用非CLI庫(例如:C,C ++等中的庫),請使用p / Invoke,確保該庫存在於將要執行應用程序的不同環境中。
  4. 不要使用僅在特定環境中存在的技術(例如:Windows上的註冊表或Linux -Gnome-上的GConf); 或提供允許應用程序在運行環境中正確運行的解決方案。
  5. 目前,基於Windows窗體且非常複雜的應用程序可能無法運行,因為Mono中的Windows窗體不完整。

Mono中有哪些開發工具?

從Windows可以使用Visual Studio開發應用程序。 在Linux方面, 單開發,基於SharpDevelop的IDE。

MonoDevelop允許項目管理,語法著色,自動完成代碼,從同一IDE編譯和運行應用程序。
通過添加(加載項),功能已擴展到例如:

  • 從IDE連接到數據庫
  • 包含調試器,該調試器允許像Visual Studio一樣逐行執行代碼並查看變量值。

儘管該設計師專注於為GTK#而非Windows Forms創建表單,但目前正在集成表單設計器。

Mono的應用程序。

要了解一個想法,Mono中有很多針對Linux開發的應用程序,下面列出了這些應用程序的2個清單:

這些出色的應用包括:

  • MonoDevelop:這是一個用於在Linux中編程Mono程序的IDE。 IDE用C#製成。
  • F-現貨:除了能夠對照片進行一些數字修改之外,還可以對照片進行分類。
  • 比格犬:用於在Linux中的許多不同類型的文檔之間建立索引並蒐索信息的工具。
  • 假小子:用於存儲通過關鍵字鏈接的註釋的程序。
  • ine:這是一個基於GStreamer的音頻播放器。
  • PyMusique:該程序提供圖形界面,可使用Apple的iTunes服務訪問購買音樂。
  • MonoUML:它是使用UML標準製作圖表的編輯器。
  • 侏儒:快速有效的應用程序啟動器。
  • Docky:桌面基座。
  • 女妖:基於Gstreamer的媒體播放器。

猴子和牌照

Mono是基於發佈到ECMA的標準的Microsoft .Net Framework的開源實現; 由於它是基於Microsoft產品的實現,因此在Linux中使用Mono引起了Linux用戶和開發人員的爭議,理由是Mono可能會侵犯Microsoft的專利,這可能會成為對Monkey的訴訟。

根據 在Mono項目中,只要CLI和C#編譯器遵守ECMA接受的標準,相對於Mono特定的庫,這兩部分都是安全的,並且沒有風險; 但是與ASP.NET,ADO.NET和Windows Forms相關的庫的實現對侵犯某些Microsoft專利很敏感-儘管目前尚不知道是這種情況- 因此,Mono項目針對後一種情況提出了2種選擇:

  • 重新實現功能-避免獲得專利-嘗試保持API兼容。
  • 消除無法重新實現的事情。
  • 尋找可以使專利無效的要素。

根據Wikipedia所述,Mono對那些.NET組件的實現不受 ECMA 因為它的標準化引起了人們對在項目生命週期內可能侵犯軟件專利的擔憂。 尤其是,有關微軟是否可以通過針對侵權專利的訴訟來破壞mono項目的討論展開了。

目前,關於在開發人員社區中接受和使用Mono的(是否)可取性的辯論非常活躍。 GNU / Linux的。 反對Mono的主要論點是,它並非沒有軟件專利,並且存在Microsoft要求使用C#/ CLI的許可證的風險。

另一方面,該項目 地精 正在開發另一種語言, 瓦拉,專門為Gnome開發應用程序而創建,但不受Microsoft的潛在威脅。

我的推薦

當前有一些用Mono編寫的非常好的程序。 您只能想到F點,Gnome Do或Docky。 但是,有了沒有所有這些問題的免費替代產品,我寧願不要依賴Mono。
關於Debian和Ubuntu最近有爭議的決定包括 單聲道 在其默認安裝中,與Fedora刪除它的方式不同,只是通過添加 流行 應用 假小子,用C#編寫,Richard Stallman有 幾句智慧 那會啟發其他發行版。

依靠C#是危險的,因此我們不建議使用它。
這個問題不是Mono獨有的,任何免費的C#實現都會有同樣的問題。 危險在於,Microsoft可能計劃有一天使用(其)軟件專利強制所有免費的C#實現。 這是一個嚴重的危險,只有傻瓜才會忽略它,直到它真正發生的那一天。 我們需要採取預防措施來保護自己。
我們應該盡量減少對自由C#實現的依賴。 換句話說,我們必須勸阻人們不要編寫C#程序。 因此,我們不得在默認安裝的GNU / Linux發行版中包含C#實現,並且必須盡可能分發和推薦非C#應用程序,而不是可比的C#應用程序。

卸載Mono

我想從我的Ubuntu發行版中刪除mono(因此,節省了很多依賴項占用的空間,而對於Ubuntu,則只剩下“支持”默認安裝的2個應用程序了:F-Spot和假小子)。 如果您不使用這兩個中的任何一個,請從Synaptic以及所有顯示Mono或CLI的軟件包中卸載它們。

要在Ubuntu中卸載Mono,您還可以打開終端並輸入:

sudo apt-get remove --purge mono-common libmono0 libgdiplus sudo rm -rf / usr / lib / mono

單聲道的替代品

如我們所見,首先,如果您是一名程序員,請不要使用C#進行編程。 還有無數其他語言,甚至更好。 另外,Gnome最近發布了一種新語言,具有非常類似於Mono的功能,稱為Vala。
我剛剛刪除了Mono,並刪除了我最喜歡的一些節目……有哪些替代節目可以代替它們:

更多信息

有關Mono項目的更多信息,請訪問官方網站: 英語,除了 獨白 這是Mono開發者博客的匯總器; 或在Mono Hispano網站上以西班牙語顯示, 博客 維護該站點的人員。
別忘了留下您對Mono的評論……=)


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   阿里爾 他說:

    我認為微軟將來不會針對Mono,Monodevelop和Xamarine使用其專利。 而且,我認為這些工具可以使您更輕鬆地擴展到通常每天在軟件開發領域中享有特權的其他平台。 我認為Mono在將C#和.NET技術移植到其他平台方面做得很出色,這使它們在軟件方面也充滿了新的技術機遇。 Mono知道專利的含義,並且肯定會採取一切預防措施以免受到侵權。 另一方面,JAVA憑藉其JAVA EE6平台正處於領導地位,就我的喜好而言,它已經超出了Visual Studio當前提供的功能。 正是由於這個原因,我認為微軟會比將C#移植到Linux,MacOSX,BSD,Solaris,Android等更加方便。另一方面,我不同意這些瘋狂的做法。在Linux上對Microsoft表示拒絕或在Microsoft中對Linux表示拒絕的立場,我相信真正的演變是多種多樣的,拒絕事實是回歸。

  2.   讓我們使用Linux 他說:

    迄今為止,沒有任何變化。 如果您感興趣的是能夠在不同系統上運行程序,則建議使用Java或python。 如果您對c#語法感到滿意,那麼vala也是一個不錯的選擇。
    擁抱! 保羅

  3.   巴勃羅 他說:

    您好!

    不久前,我決定遷移該語言並選擇了C#,以便能夠使用該代碼並將其編譯為可在Linux和Windows平台上使用。

    現在,看到這篇文章,我想知道我是否做得很好(我是從Richard Stallman的著作中這樣說的)。

    你能告訴我這種情況到目前為止是否有所改變?

    (我知道此職位至少2歲)

  4.   塞爾吉奧 - 他說:

    正如同名人士所說,我認為微軟不應限制其擴展能力,實際上,它並不能以此為生。 我看到他們甚至能夠自由化語言,因為它們從實現,框架和IDE中獲利。

    我開始認為,斯托曼先生今天對於這些事情有些老了。 我很高興閱讀您的引用和思考,儘管社區一直關注C#,但是Oracle提起了針對Android的第一項訴訟,儘管可憐的堂兄,但不應忘記它是Linux,因為該專利侵犯了Linux。使用... JAVA!

    我的觀點是,不能僅出於驕傲就不允許Linux社區對替代產品視而不見,而對眾多質量較高的開發人員則持“適應或轉身”的口號。 孤立地存在死亡,即使它很慢。

    別忘了,編程語言與應用程序是一個非常不同的概念,它是通用的。 誰將能夠審查說這是資本主義語言的英語?

    1.    哈維爾·L 他說:

      他們談論MS就像他們不知道其在市場營銷方面的動向一樣,或者他們已經忘記了MS修改JAVA平台的一部分,從而使用其自己的套件編寫的軟件無法在其他瀏覽器上運行的99事件。 IE6引起了全世界的注意,而不是IEXNUMX,到處都是訴訟,但是最重要的是,許多書面軟件都必須重新實現。 MS是一家希望通過各種方式獲利的公司。 如果您使用的是免費軟件,則在可用的免費工具太多的情況下,不應使用專有工具。

    2.    耶爾博奇 他說:

      塞爾吉奧,您天真地忘記了藝人不做任何事情,絕對不做任何事,或者做慈善工作,如果他們不能確保即使在表演後也會產生數百萬美元
      外國佬最喜歡這個世界的是毒品和美元(按順序排列)
      這就是為什麼他們以資本主義統治世界和市場:使用棍棒定律和美元定律,即使是假冒偽善者在新教寺廟或教堂裡弄糟了他們的胸脯,真正的神靈也是美元。天主教的

      1.    最大交流電 他說:

        反微軟公司總是會存在所謂的壟斷行為,儘管確實如此,多年來微軟已經證明了對於最終用戶而言並不令人愉悅的行為,但請不要忘記這是一家商業公司,他們將永遠做什麼用產品做生意。 但是世界已經變了,它已經全球化,微軟當時拒絕接受它,但是別無選擇,MSOffice中的Open-XML標準集成證明了這一點,甚至被迫“分享”它的平台代碼受反托拉斯規則的強制並且必須要做,Net Framework及其語言已在ECMA歐洲機構中註冊,該機構的目標是標準化信息技術,對於C#,它對應於ECMA-334 ,對於CLI(實現Mono)的ECMA-335和C ++ / CLI是ECMA-372,這確保了這些語言和平台可供公眾使用,因此Microsoft將來不會強制使用尊重那些語言。 反微軟阻止C#語言使用的嘗試是荒謬的,它像微軟譴責的遊戲一樣骯髒,語言規範是開放的,還有其他語言,並且在這個世界上最好的是競爭這將導致所有領域的進步,程序員自己必鬚髮現不同的語言和技術並了解它們的特性,他將是一個可以自己決定要堅持發展自己的人的人。

  5.   讓我們使用Linux 他說:

    貢獻良多。 謝謝!

  6.   阿德里安 他說:

    這個史達曼! 在您的床XD下方看到Microsoft同謀。

  7.   塞爾吉奧 他說:

    如果考慮到Microsoft希望使用.net來獲得Java的優勢,那麼我認為在Linux中使用實現以截斷其可能性實在太好了。

    我的看法是,如果Microsoft對這一點不感興趣,它將無助於創建這些標準,並且它將保護其.net庫以避免(或至少使其難於)反編譯它們。 而且,如果我沒有記錯的話,我們就已經在4.0版本上了,並且所有庫都經過了無問題的反編譯,並且仍然沒有被混淆,這將提高體系結構的性能。

    的確,即使是最愚蠢的應用程序,Microsoft始終會向其收取費用,例如,現在它的功能已包含適用於.net的完全免費版本的Visual Studio,並且沒有許可證限制,而且它不是唯一的選擇(例如,Truespace具有也走到了免費的一邊)。

    這是Java和.Net之間的一場戰鬥,在所有戰爭中,任何盟友都是受歡迎的。

    事實是,無論我們是否喜歡,我們生活在一個充滿許可證的世界中……實際上,一些門戶網站在一個簡單的網頁上突出顯示了“侵權”的專利,而且它們是如此普遍,以至於我們甚至都沒有考慮過使其獲得專利的過程非常簡單。 那裡有專利,如果有人想破壞您的項目,他們很有可能最終會找到被侵權的專利。

    萬一還不清楚,我不打算在這裡引發衝突,試圖了解Windows或Linux是否更好,它們只是不同,每個都有其優點和缺點,就像其他情況一樣。 但這是另一個故事。

    問候。

  8.   e2弗萊徹 他說:

    使用Microsoft,您將一無所知。

  9.   肯·托雷爾里巴 他說:

    問候,

    前段時間,我遵循了有關Mono的教程(第1章),它比Java看起來超級簡單和自然,我喜歡Java。 不幸的是,我無法獲得該雜誌的下一期。

    據我了解,C#是J ++的發展
    Java的這種有問題的實現使Microsoft向Sun提起訴訟,Sun贏得了訴訟,因為Microsoft擁有隻能在Windows上執行的庫(程序包),這與Java的座右銘相反:“您寫一看,就執行無論何時何地»。

    Microsoft報廢J ++和C#佈局

    現在,事實如下:微軟“捐贈”了C#的特定部分以使Mono合法,因此這些部分將不會遭受未來的訴訟,但是如果微軟有很大的機會要求微軟要求使用它的人,則微軟不會捐贈,這就像這樣,因為它曾經與其他軟件一起發生過,但是如果Mono開始竊取客戶,或者某個公司在該語言的支持和實現下開始大量賺錢,或者想要歸因於此,就會發生這種情況它作為自己的東西,儘管如此,他們只會看到它的發展。

    最後,應該指出的是,Miguel de Izcasa 由於護照原因而無法為微軟工作,這讓他感到沮喪…,這使得他創建了與 Windows 相容的軟體 desde Linux,讓那些人意識到“他們錯過了什麼”

  10.   uk 他說:

    我不喜歡這樣

  11.   開發者 他說:

    我認為使用GNU / Linux的原因之一是因為它是開源的,如果我們開始使用Microsoft創建的軟件,我們會陷入矛盾,這也是為什麼當社區中有一個龐大的社區時,您需要Microsoft軟件的原因。相互支持的開源世界(開源的起源),從而改善了任何非開源應用程序,您不覺得嗎?

    讓我們記住,.NET最初不是免費的,如果它發布了它(發布的部分),那是因為由於應用程序有限,開發人員沒有使用它,並且Microsoft失去了所有開發人員的存在。

    如果我們想要使我們的應用程序在不同平台上運行,那麼為什麼不使用Java或Python。 Xamarin創建的用於ios或android開發的新應用程序僅是一種壟斷一種語言的方法,因為眾所周知,使用本國語言總是更好的選擇。

    關於Richard Stallman,我認為他是開放源代碼方面經驗最豐富的人,因此,至少,我們必須停止分析他所面臨的問題,因為了解歷史可以避免犯同樣的錯誤。

    像其他所有人一樣,開發人員也必須支付賬單(食品,健康等),因此我們需要為我們的工作獲得經濟利益,但是幸運的是,我們有不同的獲取方式,例如捐贈,諮詢,基於開發的在開源等上我們必須利用我們的技能和獨創性,因為這個新世界“改變”了它的運作方式,這要歸功於每個現有的開發人員,他們使一切正常運轉。 從我的角度來看,我們是新技術和新社會的基礎,而不是公司。

    不相信???

  12.   阿德里安·費爾南德斯(Adrian Fernandez) 他說:

    我認為M $對於捕獲那些違反C#專利的人沒有任何幫助。 他以前沒有做過,今天沒有做過,因此他幾乎不會在不久的將來這樣做。 另一方面,Stallman以其對非自由軟件的持續偏執著稱(他甚至對Linux內核不滿意),想像了20年,一個被M $迫害的開發者世界。
    無論如何。 Monodevelop是一個很好的工具。 而且,如果有人害怕從您所看到的內容使用C#,那麼仍然可以使用Basic,它在大多數開發中都可以像C#一樣強大。

  13.   丹尼爾·諾列加(Daniel Noriega) 他說:

    好吧,我也同意一些意見,我是一名電子工程師,但我始終了解編程新聞,並且總是嘗試全面學習一種語言。 對我來說真正困難的是嘗試選擇要學習的語言,我使用C ++,但是我不了解API,因此幾乎沒有什麼,這就是為什麼我嘗試查看要關注的API。 但是我想要的是開發跨平台代碼的可能性,而且顯而易見的第一件事就是JDK或.Net。

    然後我看到了這篇文章,老實說,我有太多的偏執狂。 我認為微軟不會提起訴訟,相反,微軟獲得了優勢,因此它的語言通過成為一種可以擴展到其他平台的語言而在程序員中佔有一席之地。 我是Linux用戶,但我也是Windows用戶,而且我喜歡Linux,但是如果我對Linux不支持一件事,那就是社區中的很大一部分人感到驕傲和愚蠢,每天都在為廢話而奮鬥,侮辱和貶低他們所認識的人。

  14.   Jose Manuel Alcaraz佔位符圖像 他說:

    當然,不要將自己專用於占卜……您已將其釘牢…….net現在是開源的……xD

  15.   亞歷克西斯 他說:

    嗯,就像我說過很多次……我對理查德·斯托曼(Richard Stallman)感到很討厭……他表達了自己的見解,而狂熱的男孩們跳起了腳步,彷彿他的話是神聖的誡命……儘管微軟將來可以利用其專利,但是同樣(至少在我居住的地方),企業級的主要平台是.NET和Java。因此,學習處理Mono將最終使作為開發人員的職業受益。 Linux世界粉碎與Stallman先生的“理想”不同的替代方案不是很健康,我個人使用Mono進行實驗和學習(因為我什至沒有在PC上安裝Windows,但是我不能強加於Windows) (我的工作崗位上)。我不覺得自己是一個罪人,哈哈哈哈的問候。

  16.   OU 他說:

    我真的不在乎C#是危險的,還是其他語言是開放式的,等等,只要它適用於任何操作系統並且可以盈利並且可以賺錢,這很好,我目前是一位使用Linux的大蝦程序員與Windows Visual Basic類似的Basic語言,如果我發現它可以簡化簡單,專業的編程並擴展到許多平台,歡迎您。

  17.   恐怖 他說:

    先生們,由於微軟已經在2016年收購了Xamarin,Mono還有很長的路要走。 停止便宜的狂熱,開始從事其他編程選擇。 自2014年以來(隨著DotNet Foundation的創建),. NET一直可以在非Windows平台上正式移植,並且.NET在非Windows環境中的實現逐漸增長。 您不再像以前那樣只考慮Internet Information Services或Windows服務器的那些事情,而是必須考慮帶有.NET的Apache Web Server / Nginx。 就我而言:我已經在IIS上設計了ASP.NET MVC 4/5應用程序,然後在Linux Ubuntu上的Apache Web服務器上設計了一年,到目前為止,我在兩個不同的ASP.NET MVC應用程序上運行都沒有問題。網絡平台。

    如果您有興趣將ASP.NET MVC應用程序遷移到Apache / Ubuntu,這是我的貢獻:

    第1部分:
    https://radioterrormexico.wordpress.com/2016/06/22/ejecutar-aplicaciones-asp-net-en-plataformas-no-windows-parte-13/

    第2部分:
    https://radioterrormexico.wordpress.com/2016/06/23/ejecutar-aplicaciones-asp-net-linux-ubuntu-server-parte-23/

    示例Github:
    https://github.com/boraolim/MonoServe-2016

  18.   赫克托 他說:

    這場辯論有強烈的政治色彩... haha​​haaaa XD

  19.   德國人A. COPERTINO 他說:

    使用Java也會發生同樣的事情,如果Oracle滿意的話,它將使Java PAYABLE及其屬性成為現實,我們都可以聽到。 這是非常主觀的。 而且我不認為公司或Linux本身會鼓勵這種類型的開發,如果將來這種開發對用戶造成問題的話。

  20.   埃爾維諾失踪了 他說:

    在全球化和去全球化的時代,最好記住一些壟斷行為
    或操縱行為,並非一無是處Novel收購了Ximian,而是閱讀
    Mysql / Sun Microsystm發生了什麼,然後Oracle吸取Sun並使用Mysql使其消失
    Monty(Mysql的創建者)花了一些時間才意識到這一點,但他重新設計了他的項目並生下了MariaDB,最終在Oracle中陷入了痛苦
    但是Mono也會發生同樣的情況。
    我是Cobol,C,Java和Harbor多語言網絡編程人員,並且在Aix,Linux和Windows下按該順序排列
    我通過Socket混合應用程序,在銀行的不同語言和不同平台之間交流應用程序

    我認為,如果項目很大,即它將包含數千行代碼,則必須安全運行以確保其增長/修改和可伸縮性
    現在,如果代碼很少,那麼在C#下執行它就沒有問題,如果它很好,功能強大並且確實為我解決了問題,那就很好了。
    問候

  21.   斯密蒂 他說:

    .Net Core + C#=未來

  22.   耶穌阿塞 他說:

    直到出現“如果您是程序員,請不要使用C#”之前,註釋是正確的……那時,他們失去了所有信譽。

  23.   賈菲特·格拉納多斯(Jafet Granados) 他說:

    在2020年,已經證明這篇文章中所說的一切都沒有發生。 Microsoft創建了.NET Core並將其免費提供。 現在,有了3個平台,它們的基礎庫非常相似,但最終卻有所不同(因為它們是從頭開始創建的),下一步就是將這三個平台統一為一個,這就是.NET 5所做的工作(不用這個詞據說,“ Core”或“ Framework”是一個新平台,但現在是跨平台的開放源代碼,可用於開發Web應用程序,桌面應用程序,移動應用程序,IoT,AI,雲,其中。 得益於.NET現在是開源的事實,大量的開發人員做出了貢獻,從而實現了這種發展。 之所以會發生這種情況,是因為隨著越來越多的公司和開發人員以開放方式使用.NET,Microsoft開啟了銷售其服務(主要在雲中)的可能性,這些服務也不限於使用.NET或C#。 微軟並不愚蠢,關閉他們的軟件並提起訴訟對他們來說是危險的事情。 但是,我還沒有嫁給.NET或任何其他語言。 但是我看到在所述社區中正在做的事情非常有趣。 在大公司的支持下,自由社區可以更快地成長,尤其是因為有了.NET Foundation,該基金會負責審查.NET中的現有開放源代碼項目,該項目保證了訂單,流程的進行。由Microsoft自行調試,用於審查上述項目。