.NET6 平臺系列4 .NET開源之路

張傳寧 發表於 2021-04-27

  .NET平臺是微軟於2000年推出的Windows作業系統的應用軟體開發框架,發展至今形成巨大的技術棧,涉及多語言(支援C#、F#、VB.NET)多領域(Windows桌面軟體、Web應用、移動開發等)軟體開發。在《.NET6 平臺系列1 .NET Framework發展歷程》中介紹了.NET Framework的發展歷程,從 .NET Framework 1.0 一直到.NET Framework 4.8,在不斷升級的過程中雖然變得更加強大和完善,但是也變得越來越臃腫,最嚴重的問題就是 .NET Framework 一直與 Windows 作業系統緊密繫結,無法像Java一樣可以跨平臺(Windwos、Linux、MacOS)開發與執行。這也是造成 .NET 無法與 Java 相媲美的原因之一。

  在聊.NET開源之前,先聊一聊微軟公司的三位CEO掌舵微軟的傳奇故事。

微軟的三位CEO

第一位:比爾·蓋茨(1975年-2000年)

  1975年比爾·蓋茨(Bill Gates)和保羅·艾倫(PaulAllen)創立微軟。

.NET6 平臺系列4 .NET開源之路

   在比爾·蓋茨執政微軟期間,他們創作了舉世矚目的明星產品,如:MS-DOS、Windwos、Office、IE、MSN等。正是這些優秀產品給網際網路的發展奠定了一定的基礎、給網際網路使用者帶來了巨大福音,同時微軟也賺的缽滿盆滿,締造了世界級IT帝國。

  2000年,比爾·蓋茨在連續25年擔任CEO後宣佈卸任,將公司執行長的職位交給史蒂夫·鮑爾默;2008年他宣佈卸任微軟執行董事長轉任非執行董事長。

 

第二位:史蒂夫·鮑爾默(2000年-2014年)

  2000年1月,鮑爾默被任命為執行長,全面負責微軟的管理,包括實現微軟的夢想,即通過優秀的軟體,賦予人們在任何時間、任何地點和通過任何裝置溝通和創造的能力。

  2008年,鮑爾默接替了蓋茨成了微軟公司的總裁。

.NET6 平臺系列4 .NET開源之路

  比爾蓋茲締造了PC時代,但是在移動領域幾乎沒有任何發展。

  蘋果公司於2007年1月釋出了第一代iPhone 以及 iOS作業系統,截至2021年4月,蘋果公司(Apple Inc. )已釋出幾十款iPhone、iPad、iWatch,iTV產品,每一款產品及作業系統都深受消費者與開發者的喜愛。

  2007年11月,Google推出Android系統。隨後Google以Apache開源許可證的授權方式,釋出了Android的原始碼。第一部Android智慧手機釋出於2008年10月。Android逐漸擴充套件到平板電腦及其他領域上,如電視、數位相機、遊戲機、智慧手錶等。2011年第一季度,Android在全球的市場份額首次超過塞班系統,躍居全球第一。 2013年的第四季度,Android平臺手機的全球市場份額已經達到78.1%。2013年09月24日谷歌開發的作業系統Android在迎來了5歲生日,全世界採用這款系統的裝置數量已經達到10億臺。2014第一季度Android平臺已佔所有移動廣告流量來源的42.8%,首度超越iOS。  

  2008年微軟開發了一款平板電腦Tablet PC。蓋茨當時預言,Tablet PC將在五年內變得無處不在。遺憾的是,微軟最後將這個產品雪藏。直到蘋果iPad風靡全球后,微軟2012年才推出Surface平板電腦,但使用者認為產品體驗不佳,結果自然市場也很蕭條。

  1996年穀歌推出了第一代搜尋引擎,時至今日它已經成為了世界上最大的搜尋引擎之一。微軟試圖建立自己的網路搜尋架構,在2006年推出Live Search搜尋服務,2009年將這項服務更名為必應(Bing)。到2013年5月,美國市場Google搜尋佔據66.7%的市場份額。,必應占據17.4%的市場。

  2013年1月,鮑爾默在電話會議上試圖向董事會講出他抗擊iPhone和Android的計劃。不過微軟董事卻打斷了他,直言他行動得太慢了。鮑爾默意識到他行動得不夠快速,沒能讓董事會滿意。之後試圖加快行動。他宣佈對公司實施重組,試圖讓微軟各部門之間加強協作,不過他的高管團隊並不能接受全新的鮑爾默,有些高管對於大大小小的事情都會表示反對,如合併工程團隊、每週提交狀況報告。到2013年5月,鮑爾默開始懷疑他改變公司的速度能否達到董事會的期望。“不管我有多想快速改變公司,各方——如員工、董事、投資者、合作伙伴、供應商、客戶——總會不大願意相信我是來真的,也許連我自己也感到懷疑。”鮑爾默說。因此,他決定退休,寄望下一任CEO能夠整頓公司,帶領它更快速地行動。

  2014年2月,鮑爾默正式退休。

    1999年最後一天,也就是鮑爾默在微軟披掛上任的前一天,微軟的市值為6000億美元;在鮑爾默宣佈卸任的前一天,微軟的市值為2770億美元。

 

第三位:薩提亞·納德拉(2014年至今)

  北京時間2014年2月4日晚10點,微軟公司宣佈其董事會選定薩提亞·納德拉出任公司的執行長,併成為公司董事會董事,成為微軟繼鮑爾默和聯合創始人比爾·蓋茨之後的第三任掌門。

.NET6 平臺系列4 .NET開源之路

  自2014年2月上任以來,他重新調整微軟的主要戰略,推出【移動為先、云為先】戰略使微軟市值翻番,重回巔峰。2019年,年內微軟股價仍大幅上漲,4月25日微軟股價一度觸及130.89美元/股,市值達到了1.003萬億美元。

  自1992年加入微軟以來,納德拉主導了涵蓋公司主要產品和服務的重要戰略和技術轉型,其中最引人注目的是微軟邁向雲端計算,以及建立起世界上規模最大的雲基礎架構來支援 bing、 xbox、 office和其他服務。

   在就任微軟CEO期間,納德拉重點推動以下工作:

  • 納德拉親自出席釋出會,推出了針對iPad平臺的Office軟體套裝。
  • 微軟宣佈將不再對智慧手機和小尺寸平板電腦收取Windows軟體授權費用。
  • 納德拉為企業使用者推出了管理員工移動裝置的企業檔案應用,無論他們使用的是微軟裝置還是競爭對手裝置,均可以接入這一服務。
  • AI+雲戰略
  • 2014年成立.NET 基金會,開源 .NET,實現跨平臺。 
  • 2016年2月微軟以5億美元收購 Xamarin。
  • 2016年6月微軟以262億美元收購 LinkedIn。
  • 2018年6月微軟以75億美元收購 GitHub。
  • Office 365 與 Microsoft Azure 雲整合,推出 Microsoft Office 365。
  • 敞開胸懷,積極擁抱 Linux
  • 其他

  2018年薩提亞·納德拉出版個人著作《重新整理——重新發現商業與未來》,書中披露了這幾年微軟轉型歷程與關鍵性細節。

   薩提亞·納德拉用敏銳的商業目光、高明的發展戰略、開放的胸懷、偉大的同理心,駕駛著微軟這艘世界級IT航母一路高速發展,繼續揚帆遠航。

 

.NET 開源之路

.NET6 平臺系列4 .NET開源之路

  微軟在Build2014大會上宣佈Windows Library for JavaScript (WinJS) 開源,支援跨平臺開發應用。不久再次宣佈另一項舉措,即創辦.NET基金會。這項舉措將進一步推動開源事業的發展。在微軟官方宣告中介紹,這項基金會將為企業客戶、開發者使用者提供一個社群平臺,進一步強化.NET生態圈,推動開源、社群參與性以及創新能力。為此,微軟首先將旗下24款.NET相關程式程式碼開源,基於Apache 2.0許可協議。其中一款程式是微軟全新的.NET編譯器平臺,代號Roslyn,這套平臺採用大量C#以及VB的API介面進行開發設計。

  自此,微軟.NET平臺正式開啟開源、快平臺之路。

Windows Library for JavaScript (WinJS) 開源地址: https://github.com/winjs/winjs/

 技術棧

 1、.NET:C#、.NET5、.NET6、.NET Core、MVC、ASP.NET Core、Web API、RESTful API

 2、jQuery、Vue.js、Bootstrap

 3、資料庫:SQLServer、MySQL、PostgreSQL、Oracle、SQLite、SequoiaDB 、

                     Redis、MongoDB、ElasticSearch、TiDB

 4、ORM:Dapper、Entity Framework、FreeSql、SqlSugar、分庫分表

 5、架構:領域驅動設計 DDD、ABP

 6、環境:跨平臺、Linux、Windows、MaxOS、IIS、Nginx

 7、移動App:Android、IOS、HarmonyOS、微信、小程式、快應用、

                        Xamarin、uni-app、MUI、Flutter、Framework7、Cordova、Ionic、React Native、Taro、NutUI、

                        mpvue、Smobiler

   

  其他:

  •  雲原生、CI/CD、DevOps、微服務、Docker、K8S
  •  Dapr、RabbitMQ、Kafka、分散式、大資料、高併發、負載均衡、中介軟體
  •  RPC、ELK
  • .NET + Docker + jenkins + Github + Harbor + K8S
  •  Python、Go