擔心你的.Net技能嗎?
自從我十六歲起,我就在軟件行業開始了***份工作(沒錯,這意味著到現在已經28年了)。有一件事始終如一,那就是技術的變遷……但舊的技術并沒有消失。最近的一個例子就是Silverlight。做了五年全職做.Net培訓,當它進入了微軟的“維護模式”之后,我就飽受責難。但事實是許多企業正使 用Silverlight,并且它并不會很快消失。和Windows Forms,ASP.NET Web Forms,VB6甚至是MFC一樣。你需要問自己的問題是,你想要繼續使用舊的技術還是學習新的。
我應該堅持還是應該放棄?
這是一個復雜的問題,我想分享一個我在職業生涯中被問到的問題,我是希望享受開發的樂趣還是賺錢。我不一定兩者都能做到。我們當時與使用了 MUMPS的醫院系統互動。MUMPS(或者M)是使用一種無模式的數據庫(例如NoSQL)去存儲大容量的事務的系統。當然,這聽起來像是一種全新的技 術,但事實上它在1966年被設計出來并且仍然應用于主要的醫院和銀行。你想成為MUMPS的開發者嗎?留下的少數的開發者在賺著大錢。但是它并不是新技 術。這可能對你們來說并不重要,但是對另外一些人卻不。這和大部分技術一樣。當然,AngularJS、NodeJS和Python很迷人,但是自從大量 的無聊的開發者學習著它們,這些技術領域(學習者)已經更多了。
你必須回答基本的問題,你是想去學習一些新技術,還是做一份足夠養活你和你的家庭,在特定技術方面成為專家的工作?這沒有“酷”這樣的等級。每一個開發者都是不同的,對于你來說重要的,并不對其他人也重要。這是非常個人的決定。
.NET不會消失,但是你所使用的一些技術也許需求會越來越少(前述的Windows Forms,ASP.NET Web Forms,Sliverlight等),但是對這些技術精通的開發者總能找到自己的一席之地。當然,你可以決定轉向如ASP.NET MVC,Web API和WinRT等更新的.NET技術。做出學習更新技術的決定會給予你新的機遇,但也可能使你與一大群開發者去競爭。這完全取決于你真正想要什么。
今日的Web開發
如果你真就想轉移你的.NET技能去一個更新的網絡開發技術如ASP.NET MVC?別誤會我,從ASP.NET Web Forms過渡到MVC不是一個簡單的步驟。這么做意味著你必須要學習服務端和客戶端代碼怎樣一同協作。這意味著你需要學習JavaScript。
繼續讀下去,我知道我說了JavaScript,你們當中有些人可能已經猶豫了。C#和JavaScript在某些方面很相似,但其他方面明顯不 同。但事到如今,JavaScript并不是你10年前所害怕使用的糟糕語言。語言本身并沒有太大的進化,但是庫和工具卻變化了。有些時候我甚至喜歡寫 JavaScript。
在典型的一天開發中,我用ASP.NET MVC處理我大多數站點上大約30%的工作;大約70%我用客戶端代碼處理。諷刺的是,我所寫的客戶端代碼更像我曾經所做的Sliverlight工作。 我相信這是我們要實現的(并且有充足的證據支持這一點)。富客戶端網絡體驗正成為標準。試圖使用舊的技術如Web Forms去創造這樣的體驗將是痛苦的。但是運用你的.NET技術區創建非常好的Web站點并不如你所想的那樣遙不可及。
特別是當你來自桌面開發,網絡開發似乎勢不可擋。僅僅對技術叢林首字母的匆匆一瞥(如CSS,HTML5,MVC等等)就會讓大多數的人內心產生恐 懼。但事實是,這里有很多小技術點。它們中的大部分你之前已經做過,只是以不同的形式。用HTML5構建頁面和VB6 forms,Windows Forms或者XAML從根本上是不同的。數據綁定仍然在那。調用服務對于一些人來說可能是一個全新的層,但是有時我們中的大多數已經分離對服務的調用。 這只是代碼。
如果你準備好了
當然如果你準備好了我希望我的課程能夠幫助你得到你想要的。我已經在過去的幾年關注較新的網絡技術以便我在JavaScript,CSS,網絡調試和Web API設計的課程面向那些希望更換他們工具的開發者。我的課程包括:
- 為C#開發者準備的JavaScript
- 用FireBug, WebDeveloper, 和Fiddler調試網絡程序
- Web API設計
- 一個更好的CSS:LESS 和SASS
- 用Bootstrap, AngularJS, ASP.NET, EF和Azure建站點
如果你沒有準備好
但要清楚,如果這不是你想走的路并不意味著你就是個差的開發者。有許多杰出的開發者用著各種不同的技術。轉向一個新技術并不能使你成為好的開發者;無論你是想轉向或者不想。不要讓“酷孩子們”的心理傷了你的自我。