前端工程師是網路時代軟體產品研發中不可或缺的一種專業研發角色。從狹義上講,前端工程師使用 HTML、CSS、JavaScript 等專業技能和工具將產品UI設計稿實現成網站產品,涵蓋使用者PC端、行動裝置網頁,處理視覺和互動問題。從廣義上來講,所有使用者終端產品與視覺和互動有關的部分,都是前端工程師的專業領域。
前端工程師的發展之路和前景是怎麼樣的呢?
前端是一個相對比較新的產業,網路發展早期(1995年~2005年)是沒有專業的前端工程師的。
隨著網路的發展,大約從2005年開始,正式的前端工程師角色被業界認可,到了2010年,網路開始全面進入行動時代,前端工程師的地位越來越重要,前端領域的技術發展也越來越快,各種新的想法、設計模式、工具和平台都快速發展,對前端工程師的技能要求也越來越高。 有一些數據可以說明前端產業的發展迅速。
在2010年後最受歡迎的新程式語言中有相當部分和前端有關,例如 Dart、Clojure、CoffeeScript 和 TypeScript。
身為前端最重要的程式語言 JavaScript,在最近幾年不論是程式碼量還是關注數都穩居 Github 平台熱門程式語言榜。
產業對前端需求持續增加,前端程式設計師薪水在業界處於較領先的位置。
有同學問說:「前端工作需求很多,老是改來改去,實際的技術點並沒有多少,產品決定業務邏輯,從事底層基礎服務會不會更有挑戰和職業未來?」
的確,越貼近業務與產品層面的工作,需求差異性越大,可能改變越頻繁。不只是前端改來改去,PHP服務端做業務的同學也面臨這樣的問題,業務邏輯改來改去。越底層通用性越強,改動相對較少。
不過事情都是有兩面性的,首先可以這麼想想,是底層基礎服務的市場大還是互聯網業務和產品的市場大。其次,基礎服務的通用性很容易達成,而產品層面上如何通用化,如何在業務驅動的產品研發中利用工程化和工具化提升開發效率,這其實是一個很難的問題。豐富的網路產品已改變並正在改變我們的生活,然而作為產品的創造者,工程師們如何讓自己過得更好,這個領域值得研究。
另外,不要覺得實際的技術點沒有多少,舉幾個例子:實現曲線和曲面動畫,計算地圖的最短路徑,讓png靜態圖片類似於gif圖一樣做局部的運動,抽獎遊戲,物理效果的HTML5遊戲,3D圖表,擴增實境的WebGL視訊串流處理等等,這些都是在前端領域中遇到的實際問題。
就 JavaScript 來說,在實際專案中設計最合適的模型高效解決現實問題本身就很有挑戰。作為典型的新生代程式語言,JavaScript 特性豐富,使用靈活,效能優良。物件導向、函數式程式設計、各種設計模式、MVC 和 MVVM,這些本身就有足夠的吸引力。
前端要解決介面和互動問題,其實UI層面的問題一直是軟體工程的難題,因為UI不停地在變化。瀏覽器各版本的相容性、Web 標準、行動裝置、多終端轉配,給了前端工程師很大的挑戰,對前端工程師的能力也有很高的要求。許多UI問題有不只一種解決方法,許多問題有非常巧妙的想法和精彩的解決辦法,前端在工程師群體裡是屬於非常有創造力的一個群體,因為這個行業需要豐富的創造力和想像。
前端工程師還是Web標準的製定者、實踐者和推動者,而現在的W3C標準不僅限於瀏覽器,還包括各種手持智慧設備,車載設備、智慧家庭等等。在未來萬物互聯的時代,前端將不只是網頁上的工程師,而是所有人機互動領域的工程師。
前端領域發展很快,各種新科技新觀念不斷湧現,這是個好現象。但前端發展太快也帶來一些問題,例如有同學就問到我究竟該學些什麼,Angular.js、React、Node.js、ES6、ES7、CoffeeScript、TypeScript……似乎永遠有太多東西需要學習,有些東西好像還沒學明白就被另一些新的技術取代而「過時了」。
其實還是那句話,前端工程師首先是軟體工程師,基礎是最重要的,如果基礎不紮實,一切應用技能就都是「浮雲」。前端的基礎是什麼? HTML、CSS、JavaScript基本功,數學、演算法、資料結構、作業系統、編譯原理基本功。
一個優秀的前端工程師必須要有自己擅長的領域,並且鑽研得夠深入,同時要有眼界,能「跨界」。可以以前端作為職業,但千萬不要把自己的技能限制在前端領域,因為有很多東西,只有站在前端之外,才能看得更清晰,更透徹。
學東西千萬別盲目跟風,大家都在談AngularJS就立即跑去學習,過幾天大家都談React了,就又放下AngularJS去學習React。前端領域知識點很多,值得學的東西也很多,聰明的同學懂得花時間學習成體系的知識並且研究得足夠深入,因為只有這樣才能從中總結出規律,形成方法論,這樣才能最大化學習的價值。
以上是做web前端開發怎麼樣?的詳細內容。更多資訊請關注PHP中文網其他相關文章!