做爲一個.NET開發者,怎麼看待和選擇層出不窮的新技術,新架構?

常常在一些技術社區看到這些的問題,一個.NET開發者去求職,看到應聘的公司的技術棧仍是比較老的ASP.NET WEBFORM的時候,但願瞭解將來會否使用ASP.NET MVC的時候,沒有得到確定答覆,因而就放棄了這一份機會,以技術選企業,是否必要?前端

最近我在開發一個開源的微商城系統OdnShop,發佈以後,有些用戶就問,怎麼不是ASP.NET MVC的?不支持MSSQL嗎?要上.NET CORE了,諸如此類的問題。固然這些問題並無標準答案,從技術本質來講,技術只是用來解決業務問題的一種手段,因此技術的新舊並非考慮的核心,但開發效率,維護成本,穩定性等等確實必須考覈,由於他會影響投入,影響收益。git

因此,我想就.NET程序員如何看待新技術,如何選擇新技術,提供一種個人思考,但願你們理性思考,理性討論,不要把某種框架,某種技術做爲一種宗教信仰。程序員

 

一,WEBFORM OR ASP.NET MVC?數據庫

WEBFORM的本意是很好的,就是但願把桌面開發的那一套拖拉控件的模式借鑑到了WEB開發,若是你開發過WINFORM就應該知道,拖拉控件實現GUI是很方便,固然了要實現很炫酷的GUI的時候,就不容易了,由於須要深刻了解控件的原理以及GDI等技術,可是WEB就不一樣了,HTML+CSS能夠實現很美觀的界面,只要想的到,均可以作的到,可是由於基於HTML標記語言,多了一個標記,界面就可能發生變化,而基於WEBFROM拖拉出來的控件,常常會生產出一堆的無用的標籤致使頁面效果達不到預期,爲了達到預期目的,反而須要花不少時間瞭解控件的用法,甚至本身重寫控件,這樣就失去了本來的意義,開發門檻和開發效率反而沒有獲得提高。因此ASP.NET MVC就很成了你們但願的新選擇了。框架

可是我想表達的是MVC是一種好的設計思想,但MVC並不等同與ASP.NET MVC,ASP.NET MVC只是官方提供的一種最佳實踐的框架。並且MS的技術體系,有時候每每確實先後的連貫性,想一想這些年,MS推出了多少新技術,新框架,不少人花了不少時間去學習,最後可能連個像樣的DEMO都沒有作出來,那個技術,那個框架已經成爲過去式了。學習

ASP.NET MVC只是其中一個,個人觀點是MVC依然是一種好的思想和理念,會一直存在和發展下來,可是ASP.NET MVC1到ASP.NET MVC6,將來會走向何方,只有MS才知道,因此若是你計劃作一個新項目,不管是選擇WEBFROM仍是ASP.NET MVC都是能夠,那種技術你擅長,你熟悉,可否快速提供給客戶一個穩定可用的解決方案,那就是一種好的技術,可是若是你計劃研發一個產品,我認爲WEBFORM和ASP.NET MVC都不是很好的選擇,產品的生存週期每每比較長,而MS的技術更新換代就比較頻繁,產品總不能年年都重構,年年換框架吧,且不說須要投入大量的人力時間,還可能引入一堆的BUG。因此如何開發產品,個人觀點是既可使用WEBFORM好的一面(好比後臺,用控件的方式,有時候開發效率很是高效的),也會借鑑MVC的優秀思想(在前端,更好的實現代碼和界面分離等),但儘可能不使用太多的框架,而是本身根據產品的發展和須要,本身去實現,好比MVC,徹底能夠根據本身的須要,實現一種輕量級的MVC框架。網站

 

二,MSSQL OR MYSQL ?雲計算

一直以來,.NET + MSSQL基本是標配,開發.NET系統,基本都會搭配使用MSSQL,但自從用了MYSQL以後,我就不多用回MSSQL,不是說MSSQL很差,而是MSSQL太笨重,某些簡單的問題,好比分頁,MYSQL就很是容易,MSSQL早期版本還須要搞個存儲過程來實現,新版本提供了新的語法,可是又沒法向下兼容,可是MYSQL在一些複雜的聯合查詢是沒有MSSQL強大的,具體特性我就不去比較了,畢竟每種數據庫各有其優缺點,做爲一個普通開發者,也沒有辦法徹底去吃透兩種數據庫的全部特性,以我我的使用的經驗,我以爲企業MIS選MSSQL會比較好,而互聯網產品,選MYSQL會更好一些,由於輕量,資源友好型。操作系統

 

三,.NET OR .NET Core ?設計

一直以來,MS的技術只能運行在WIN系統,自從.NET CORE的推出,徹底改變了舊有的技術觀念,那麼.NET CORE是否值得選用,值得期待,我認爲:值得!

首先,擁抱更加開放的技術符合時代潮流,多一種選擇,老是好事,固然了,若是你是本身開發的產品,本身用,就只跑WIN也沒啥很差!

其次,我曾經開發一個搜索產品,基於.NET開發的,我遇到不少潛在客戶來諮詢,他們的網站是使用PHP,跑在Linux上的,問可否支持Linux,若是從開發產品的角度來講,能支持多一種操做系統,意味着更多的潛在客戶。

再次,.NET CORE會不會中途就不了了之,MS的新CEO上臺後,MS的發展方向已經很清晰了,WIN的地位已經降低了,公司營收愈來愈依賴雲計算,這說明MS用不着把.NET綁死在WIN上,VS都有MAC版本了,MS已經愈來愈開放了,不是MS想通了,要開放了,而是開放了能更賺錢,能幫助企業賺錢的方向,企業會放棄,不了了之嗎?

 

總之,對待新技術,新框架,不要作一個宗教式的技術狂熱者,而是作一個理性的實用主義者,慎重選擇框架類技術,好比WPF,ASP.NET MVC等,積極擁抱大方向,好比.NET CORE。本文只是我我的的思考,歡迎理性討論!

相關文章
相關標籤/搜索