對.NET Core未來發展趨勢的淺層判斷
經常聽到園裡.NET開發人員在抱怨生態不如JAVA,想要轉JAVA,所謂打不過你,我就加入你!杜蘭特的思維方式固然是獲取總冠軍的一種方式,但是我們要關起門來問自己有沒有杜蘭特的實力。
用開發生態來類比NBA不是特別恰當,因為NBA只有一個總冠軍,但是開發生態一枝獨放不是春,百花齊放春滿園。我個人覺得做.NET生態的一員,完全沒有必要自卑,而是應該感到榮幸,隨著你認知的不斷深入,你完全可以擁抱其他生態,自成一家。如果你實在覺得JAVA或者.NET不能滿足你的需要,你也可以考慮GO或者Python。你轉來轉去,付出巨大的代價,最後薪資不見得每個月會增加多少,可能在你轉化的過程中,你還損失了不少。
存在即是合理,我試著從自己的有限經驗來對.NET Core未來做一個武斷:我覺得.NET Core對其他生態不會構成什麼威脅,.NET Core會給人家多個一個選擇,所以新人和新公司的大部分,舊人和舊公司的小部分會被吸粉,但是大的方面不會有什麼變化。不會像人說的那麼好,也不會差到哪裡去。但是.NET Core會因為微軟這個巨人的重新崛起,而名聲鵲起。
歷史底盤
從就業面來看,.NET主要集中在中小企業(私企),部分外企,部分國企,特別是傳統做OA,MES,CMS,WMS,ERP等企業有很多的使用者,由於微軟的先行者優勢,這類企業佔比非常高,應該說是金字塔的底端,而且目前PC端還是Windows的天下。另外因為微軟本身就是從2B起家的,而且在2B特別是Office和Windows這塊依然是一個巨大的平臺,這麼大的一個平臺大到你無法想象,所以圍繞平臺的生態自然不會消失,資源和營養也不會低下。
從巨頭的體量上來說,如果說微軟,亞馬遜,Google,Facebook是馬刺,勇士,湖人,頓凱爾特人等傳統豪門,BAT則更像是遊離在豪門外的火箭,雷霆,快船,猛龍,步行者等一眾邊緣球隊,雖然總冠軍也有,但是整體實力跟豪門差距巨大。而BAT之外的蝦兵蟹將等企業其實都不是絕對的安全,你去也好不去也好,你都不是一個足夠你依靠的大樹。
如果說易經是群經之首,那麼老子,孔子,墨子,莊子莫不受其影響和恩澤。就像是C是C++,JAVA,GO,C#等一切語言的鼻祖,微軟對谷歌,亞馬遜,BAT的影響也十分深遠。很多大牛從微軟亞洲研究院出來的,你可以從李開復,陸奇,張亞勤等代表人物身上看到微軟的影子。
開源生態
微軟內部技術相容幷包,早已不是侷限在語言和平臺的矛盾,隨著.NET Core擁抱開源和微軟收購GitHub,微軟不斷在向開源縱深發展,而且有些地方更加的徹底。如此一來,大夥多了一種選擇,好比在淘寶可以開店,在京東也行,甚至小程式都可以做微商,為什麼要吊死在淘寶這棵樹上。所以,.NET生態必然會穩中求進,雖然對其他的生態沒有什麼威脅。但是,別忘了,雲可是一個比語言,比生態,比Window比Office更加龐大的生態。如果說語言和語言相關的生態是一個湖泊,那麼雲服務和相關的雲端計算,雲技術,AI等內容,雲生態就是一個大海。
開源只是開始,更重要的是思想的轉變。也就是說你不管用的什麼語言什麼平臺,請你到我的雲平臺來,到Azue來,我都像大海一樣海納百川,就品牌和國際化程度來看,阿里雲和微軟顯然還有一些差距,或者說總體上還是弱一些。從這種開放程度來看,微軟從2000多億美金到8000多億美金,背後釋放的能力還是十分巨大的,必然會網羅一份擁躉和粉絲。
我們再看一下下面這段話:“.Net Core 開源後取得了更加快速的發展,目前越活躍使用者高達400萬人,每月新增開發者45萬,在 GitHub 上的月度增長達到15%。目前有來自超過3,700家企業的1.9萬開發者在為 .NET Core 做貢獻,.NET 基金會管理著超過60個專案。.NET Core 為開發者提供了跨平臺、雲原生應用的理想開發平臺,特別是即將釋出的 .NET Core 3,能夠全面支援從網頁到雲端、桌面、物聯網、人工智慧的全方位的跨平臺部署。在大會現場,微軟演示了 Windows 桌面在 .NET Core 3.0上執行的情況,充分展現了將其用於未來開發環境的無限可能。“——潘正磊在上海的Tech Summit 2018 大會上的原話(引自張隊長的連結)。
所以我的判斷是,如果你覺得沒有精力和年齡去轉JAVA,那也不用緊張,因為你的地盤還是穩中有進的。只是你別停止學習跨平臺和開源等新技術,因為開源意味著生態的更加多元和多樣,而你怎麼可能躺著就把錢賺了?而且你學習的新東西,轉到JAVA生態下可能付出的時間和精力是雙倍甚至三倍的。如果技術不是你的全部,你還有身體和孩子和創業,那麼為什麼不把時間花在更加重要的地方去,比如去學習經濟學和文學?如果你希望進入微軟工作,那麼.NET Core平臺也是需要了解。
全家桶
微軟家也有SPRING一樣的全家桶式的東西。比如.NET戰略裡面的相關技術棧,就是你用了.NET技術棧,你幾乎什麼都可以做,先不說做到的程度,至少桌面WinForm開發全家桶/Web開發全家桶/移動跨平臺(Xamarin全家桶)/雲服務(.NET Core微服務全家桶)等東西他都能給你一個選擇。從這次.NET Core對IOT的支援來看,微軟的IOT全家桶也已經出來了,這個好處必然也是吸粉的一部分。因為放眼JAVA,PHP,C,C++,GO都沒有看到一個像.NET一樣這麼的全能的人。.NET就像是一個表現很全面的三好學生,各方面都很均衡,但是不見得畢業後能做一個特長生。
另外說一下,SPRING等殺手級的框架外,其實JAVA開源的東西很多是野路子,沒有微軟專業,給你一步到位,所以對微軟的東西叫產品,對開源的東西只能叫專案,因為坑太多了。現在微軟的開放是以帶頭大哥加社群方式在助推,JAVA則是以BAT和社群等力量在助推,在開發的程度和產品的質量來看,微軟可以更加高效的集中力量辦大事,.NET使用者還是能感覺到明顯的效能和效率和生產力。比如泛型,委託,隱式型別推導,非同步程式設計,多執行緒併發程式設計,函數語言程式設計,Lambda表示式等語法糖,微軟推出的速度就像國家造路建橋一樣有自身壟斷的優勢。我有個感覺壟斷加開源會所向披靡,只有壟斷等於是閉關鎖國,只有開源質量和效率都沒能保證,只有兩者強力的組合才是王道。
總結
最後我想說盡管.NET Core做了一件JAVA看來很落伍的事情,但是也沒有必要嘲笑,因為微軟在下一盤更大的棋子,而開源跨平臺只是順便的一件事,未來的AI和雲服務佈局才是王者的必爭之地。所以,原來寫JAVA繼續在寫JAVA,寫Python或者C,C++的一樣跟沒事一樣,在耕耘著自己的一畝三分地。寫C#的一樣可以坦然以對。
關於.NET Core新平臺未來發展文章: