關(guān)于.NET技術(shù)前途問題的討論

我去年曾經(jīng)在論壇發(fā)起過關(guān)于.NET技術(shù)前途問題這個(gè)話題的討論,也引起了很多同行和朋友的回復(fù),時(shí)間過去大半年,自己也有了一些新的理解。本文的目的就是將其中一些精彩的觀點(diǎn)整理出來并談?wù)勛约旱挠^點(diǎn)。

引子

我們都知道微軟.NET技術(shù)更新速度快,很多技術(shù)還沒成為主流就已經(jīng)退出歷史舞臺。

曾經(jīng)的SilverLight給了我們多少驚喜,結(jié)果微軟直接支持HTML5取代它。

xna也是風(fēng)靡一時(shí),可惜微軟直接拋棄了它。

雖然微軟提出了“移動(dòng)優(yōu)先,云計(jì)算優(yōu)先”的戰(zhàn)略口號,但是目前來看WP也沒多大作為,甚至有不少Windows Phone方向的微軟MVP都轉(zhuǎn)向了Android開發(fā)。

那么目前來說,.NET技術(shù)主要的方面就是ASP.NET(webforms、mvc、web api等)和少量的Windows桌面應(yīng)用開發(fā)(主要是Winform還有少量的WPF)。雖然vs2015集成了android和iOS開發(fā),但是是收費(fèi)的,而且開發(fā)者似乎也沒有多大熱情。

作為使用微軟.NET技術(shù)的您,對.NET技術(shù)的前途這個(gè)話題有什么看法呢?歡迎討論。

觀點(diǎn)

sp1234

從windows10開始具有的UWP很可能制定將來的前端應(yīng)用程序的一種工業(yè)標(biāo)準(zhǔn),應(yīng)該從現(xiàn)在就考慮如何用它來對自己公司的產(chǎn)品進(jìn)行宣傳。唯一的問題就在于“它的性能如何?”,現(xiàn)在還不好說。

微軟需要自己能夠在手機(jī)上跑起來幾個(gè)強(qiáng)勁的傳統(tǒng)桌面軟件,例如把Photoshop在手機(jī)上跑起來,把Word和Excel跑起來(而且不是像office365那種web閹割版,而是完整的有深度的功能),把各大銀行的桌面支付軟件(而不是web版的)跑起來,能夠用桌面windows的遠(yuǎn)程桌面程序去操作手機(jī)桌面(包括用鼠標(biāo)直接把文件從桌面windows拖入手機(jī)的文件夾內(nèi)或者放到應(yīng)用界面上),在手機(jī)上直接跑windows桌面版的QQ而不需要另外再開發(fā)手機(jī)版本……

這些都能輕松實(shí)現(xiàn),不再開出“空頭支票”,那么“三屏一云”將能讓微軟雄霸下一個(gè)10年。而微軟的“三屏一云”中的“云”還沒有落地,還停留在推銷它自家的服務(wù)商,還沒有讓開發(fā)人員發(fā)現(xiàn)可以自由架構(gòu)的東西。微軟還應(yīng)該在.net framework中內(nèi)置一套服務(wù)器集群分布式任務(wù)管理框架,哪怕性能不是最高的,哪怕比較簡單,但要是最可靠的,例如實(shí)現(xiàn)基本的 Gearman式的功能,能夠分布式地調(diào)用方分布在1000+臺服務(wù)器上的 windows 服務(wù)程序。

我認(rèn)為許多人都是在2006~2013年之間接觸 .net 的,因此可能不很知道微軟平臺技術(shù)的潛力在哪里。

實(shí)際上假設(shè)我想為一個(gè)“部級”國營企業(yè)集團(tuán)的幾十位中層領(lǐng)導(dǎo)單獨(dú)開發(fā)一個(gè)辦公系統(tǒng)(不是那種隨便弄的小OA),那么我可能就要糾結(jié)silverlight、wpf、web前端技術(shù)等等,既要考慮到對美工的(應(yīng)該使用專門開發(fā)“酷炫的2d動(dòng)畫繪圖組件”的平臺),又要考慮到對程序員的要求(希望門檻不高的JavaScript程序員就可以開發(fā)大系統(tǒng)),而且希望所有的應(yīng)用的服務(wù)端都有符合當(dāng)今世界潮流的大數(shù)據(jù)、復(fù)雜事件處理集群技術(shù)為基礎(chǔ)。

如果有UWP,這個(gè)選擇就輕松多了,我可以把精力用在內(nèi)容技術(shù)而非膚淺的技術(shù)層面上。而且不愁領(lǐng)導(dǎo)們不喜歡更換windows

phone手機(jī)或者平板電腦,因?yàn)锳ndroid上的所有應(yīng)用也可以同時(shí)在上面使用。這就是 .net程序員在2015年底、2016年初可能可以學(xué)習(xí)技術(shù)架構(gòu)了。

github_22161131

現(xiàn)在 .net 就是守著傳統(tǒng)的桌面和web開發(fā)領(lǐng)域,向跨平臺和云端發(fā)展。

然而這對于國內(nèi)的 .net 開發(fā)人員未必是好事。為了實(shí)現(xiàn)跨平臺和云端發(fā)展,當(dāng)然也因?yàn)?.net

的核心采用開源形式開發(fā),迭代會(huì)加速,問題會(huì)增加,文檔會(huì)進(jìn)一步跟不上,官方的中文資源會(huì)更少。也就是說,.net

前沿的發(fā)展會(huì)進(jìn)一步拉開與國內(nèi)開發(fā)者的距離。如果把CSDN論壇的帖子作為平均水平,那可以說差距已經(jīng)很大了,繼續(xù)拉大的話會(huì)讓更多人無所適從。

如果silverlight和xna也算技術(shù)的快速更新,那么未來的.net會(huì)更快,不過開源模式下如果微軟不管了社區(qū)也可以繼續(xù)發(fā)展,像F#現(xiàn)在就是已經(jīng)完全社區(qū)化發(fā)展的??梢哉f大環(huán)境就是技術(shù)更新會(huì)更快,能適應(yīng)這樣環(huán)境的開發(fā)者會(huì)有更大的優(yōu)勢。

客戶端技術(shù)里面,WinForms和WPF應(yīng)該沒什么變化,基于WinRT的技術(shù)依賴Win10應(yīng)該能夠擴(kuò)大些市場,不過看不到能夠爆炸性發(fā)展的可能。Xamarin/Mono技術(shù)依賴的是iOS和Android市場,短期內(nèi)應(yīng)該比較穩(wěn)定。

而在服務(wù)端,因?yàn)榭缙脚_,應(yīng)用的領(lǐng)域可以大大增加。

在云端,因?yàn)榭缙脚_,也可以增加.net的使用可能。同時(shí)可能會(huì)出現(xiàn)更多支持.net的paas云平臺。

IoT端,因?yàn)閃in10和跨平臺,也可以增加一些.net的市場。

在我看來,.net未來的發(fā)展與Win10的關(guān)系并不大,Win10能夠多帶來一些基于WinRT技術(shù)的市場,然而這個(gè)市場微軟想擴(kuò)大并不容易,可能大部分只能集中在企業(yè)領(lǐng)域。影響最大的是官方推動(dòng)的開源和跨平臺,這會(huì)讓整個(gè).net生態(tài)系統(tǒng)慢慢擺脫對微軟和windows的依賴。與Mono相比,微軟做的更為徹底,重新設(shè)計(jì)了.net,將其完全模塊化,支持多clr,這是 .net 的一次質(zhì)變。

bigbaldy

直接用linux呀,而且C#是除了C++以外調(diào)用NativeMethod最方便的語言,C#沒有現(xiàn)成解決方案或不好實(shí)現(xiàn)的直接調(diào)用C++的,在加上目前mono4.0的大幅改進(jìn),用linux已經(jīng)沒有任何問題,其實(shí).net真的已經(jīng)非常全面,桌面、移動(dòng)、web、游戲等等什么都能干,而且某些還非常精,只可惜現(xiàn)在xamarin不免費(fèi),u3d都有免費(fèi)版,現(xiàn)在缺的就是開發(fā)者,抓住開發(fā)者才能抓住市場,真不知道決策層是怎么想的。

著名的漏洞挖掘工具peachfuzzer為何在3.0版時(shí)用C#全面重寫,而且是全平臺的,那會(huì)還是mono3.0時(shí)代,這已經(jīng)說明C#在linux下的表現(xiàn),官方還說,換了C#后性能大幅提升。 目前全球最大的游戲平臺steam上發(fā)布的游戲,u3d的游戲已經(jīng)非常多,而且有很多還是大型3D游戲,原來這可是C++獨(dú)占的。

吾愛破解論壇,.net的帖子也非常多,各種學(xué)習(xí)教程,破解逆向教程,實(shí)用小工具等。

游戲論壇中以3dm舉例,很多游戲修改器也都是.net的,畢竟C#開發(fā)效率高而且是與nativeapi交互最方便的高級語言

再看社區(qū)活躍度,現(xiàn)在不論是全球的stackoverflow還是國內(nèi)的csdn上,發(fā)帖量能在C#前面的只有Java

種種跡象表明.net要火,而且說句實(shí)在話,純語法角度,還真難找出像C#這么優(yōu)雅的(除了Python),從基礎(chǔ)類庫來看,C#是最好用的,沒有之一。

ajianchina

說那么多沒卵用,最重要的問題在于微軟的盈利模式的改變,如果這個(gè)不改,還是束手束腳,哪天android爬上了桌面也說不準(zhǔn),那么龐大的移動(dòng)用戶基礎(chǔ),再加上免費(fèi),呵呵,微軟現(xiàn)在不改盈利模式,還想著吃老本,我看到時(shí)候夠他受的,他的盈利模式改了,才能降低操作系統(tǒng)的授權(quán)費(fèi)用,甚至免費(fèi),那樣才會(huì)有更多企業(yè)愿意加入到windows平臺,開發(fā)人員總是跟著企業(yè)需求走的,所以不要談什么.net技術(shù)的前途,沒有意義,一切需要從商業(yè)角度出發(fā),你才能夠看到什么才是有錢途的!

sp1234

微軟的 windows 10 以及 UWP 功能,已經(jīng)讓 Android 和 iOS 的程序可以在桌面 windows

上運(yùn)行了。windows 10 上可以同時(shí)運(yùn)行各種平臺的應(yīng)用窗口!windows 10

開啟了真正的開放戰(zhàn)略(是產(chǎn)品戰(zhàn)略,而不是什么“開源”之類的),允許別人家的軟件跟自己的操作系統(tǒng)上跑,而且設(shè)備驅(qū)動(dòng)的共通就一定會(huì)讓不同系統(tǒng)的進(jìn)程更方便地通訊。

微軟專門設(shè)計(jì)windows系統(tǒng)來把 android上自己的桌面的!

xuanbg

.net對比java,有三大優(yōu)勢,其中排第一的就是效率呀。其他兩項(xiàng)是IDE和相對統(tǒng)一和完整的框架,其實(shí)java最大的坑就是那些亂七八糟的框架,不用不甘心,用了全是坑。。。

bigbaldy

基礎(chǔ)類庫最人性化的就是.net,能夠在沒有任何文檔的支持下讓一個(gè)初學(xué)者憑著摸索寫出一個(gè)像模像樣的程序,其他任何語言也許照著API文檔都得琢磨會(huì),何況現(xiàn)在又全面開源,跨平臺也得到官方大力支持,.net是除了驅(qū)動(dòng)以外任何功能都能實(shí)現(xiàn)的,請問可以輕松開發(fā)單片機(jī)(microframework)、web(webform,MVC)、桌面(winform,WPF)、移動(dòng)(Xamarin)、游戲(U3D)等各個(gè)領(lǐng)域的語言還有誰?shellcode可以寫,鍵鼠鉤子可以裝,內(nèi)存指針輕松操作,富客戶端應(yīng)用各種動(dòng)畫超炫效果信手拈來,各種官方非官方MVC框架數(shù)不勝數(shù),android,IOS APP也可以借助xamarin大顯身手,真不知道為何會(huì)有人不看好.net。

gentle_wolf

玻璃上的蒼蠅。前途光明,沒有出路。 .net確實(shí)是很好的平臺,就是在中國不受待見。

百度,阿里,京東,去哪兒,58,趕集,土豆,優(yōu)酷,搜狐,網(wǎng)易,新浪都不用.net 只有騰訊還用一點(diǎn)點(diǎn).net,結(jié)果還放棄uwp的開發(fā)了。

攜程,汽車之家,搜房網(wǎng)用的是.net,比例太小了。

unearth

只要Windows不倒。.NET就不會(huì)倒。除非有比Windows更好的一套生態(tài)系統(tǒng)。估計(jì)也就是人工智能了。

liveths

我看技術(shù)是沒有對錯(cuò)的。區(qū)別是有沒有用對而已。Net也好Java也好。在對的地方用對就行,沒有過時(shí)不過時(shí)之分。

我自己的個(gè)人看法是,我熟悉Net,那就用Net。然后既然android有需要去學(xué)Java就是。

目前個(gè)人看法是Net加android是最好的。全java那個(gè)低下的開發(fā)效率。。。。。??影?。

總結(jié)

C#比Java簡潔、優(yōu)雅。對比一下同樣5年開發(fā)經(jīng)驗(yàn)的Java工程師和C#工程師寫的代碼就知道了。

.NET是跨語言(C++、C#、VB、F#等)的平臺。VS2015開始內(nèi)置了Python、R等大數(shù)據(jù)用到的語言和工具,并集成了Android、iOS移動(dòng)應(yīng)用開發(fā)。

.NET是跨平臺的。通過Mono可以將WinForm、ASP.NET等發(fā)布到Linux環(huán)境中運(yùn)行,這塊已經(jīng)很成熟了。

游戲開發(fā)中的Unity3D就使用了C#進(jìn)行開發(fā)。

至于說開源,微軟已經(jīng)開放了很多項(xiàng)目的源碼甚至內(nèi)核,有些項(xiàng)目甚至完全由社區(qū)來推動(dòng)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容