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