擔心你的.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 建站點
如果你沒有準備好
但要清楚,如果這不是你想走的路并不意味著你就是個差的開發者。有許多杰出的開發者用著各種不同的技術。轉向一個新技術并不能使你成為好的開發者;無論你是想轉向或者不想。不要讓“酷孩子們”的心理傷了你的自我。
英文原文:Worried About Your .NET Skills? 譯文鏈接