net為什么衰落了?
雖然我們說任何一款開發語言和框架的存在都有它存在的價值,但是任何一件事物的興衰也都是有它的時代背景在里面。
若在6年前,如果我們說.NET衰落了 ,估計會有很多.NET程序員跳出來反駁,無非就是說.NET最多就是待遇上比Java要低,但它比Java要優秀(肯定也會提到所謂的語言特性和IDE)。但最近幾年如果有.NET同學找工作,便會發現目前各大招聘網站上的.NET崗位少得可憐。這說明了什么問題呢?如果在某個城市,此工作崗位很少,你覺得找工作很容易嗎?不得不承認一點,現在企業的信息化技術選型中,.NET處于劣勢,之前使用.NET架構體系的企業也無一例外的轉向Java懷抱。
從事開發的朋友們都知道,Java從始至終都是最熱門的編程語言,而Java的興盛很大程度是取決于互聯網的興盛發展。然而.NET平臺一開始的定位就限制了此平臺的發展,別人開源,它閉源。別人擁有著良好的生態體系,而它卻沉迷在自己構建的封閉體系里。
就目前來說,.NET更新頻率看似很快,其實都是在彌補以前犯下的錯誤。如果說.NET跨平臺是來和Java競爭的,那為什么.NET要在Java發展得十分成熟的時候才慢慢走向跨平臺而不是一開始就支持跨平臺?其實它之所以走上跨平臺之路,也是為了挽留為數不多的.NET使用者與開發者。
為什么.NET平臺現在不受企業和開發者待見了呢?原因無非是以下幾點:
1、生態圈與成熟度
不管是互聯網行業還是傳統行業,上了規模的公司在信息化這塊無一例外的都有Java的身影,比如京東最早是.NET開發的,為什么后來也改用Java重構了呢?因為Java語言無論是在生態體系上還是成熟度上都優于.NET平臺,很多開源軟件并沒有提供.NET版本的,但絕對會提供Java版本的。
2、實施成本上
要知道,.NET平臺也就是最近幾年才慢慢“跨平臺”的,而且不是完全的跨平臺(跨平臺程度遠不如Java)。又有多少.NET程序員了解過Linux系統?國內.NET項目基本上還是以傳統模式部署在Windows系統上,但要知道Windows Server系統是需要授權的,并不是讓你免費使用的,SQL Server數據庫同樣如此。看似免費使用,但使用方同樣承擔著風險。而Linux系統則是開源免費的,不存在授權費用,所以在服務器操作系統中Linux份額比Windows Server份額要高。
另外一個就是人力和時間成本,.NET開發者了解Linux系統的很少,而Linux系統比Windows Server的門檻要高得多,想上手Linux系統需要消耗大量時間成本。
3、Java占據了移動端的先機
現在主流手機操作系統就是Android、iOS,而Android開發是基于Java語言的!其實微軟幾年前也有推出手機操作系統,然而在很短的時間內消失在人們視線中。
以上就是我的觀點,對于這個問題大家是怎么看待的呢?歡迎在下方評論區交流 ~ 我是科技領域創作者,十年互聯網從業經驗,歡迎關注我了解更多科技知識!