前端工程師的未來


今天被問了一個問題:前端工程師的定位及未來的出路在哪里?既然你想做前端你覺得它的未來在哪里?當時一下被問住了,之所以說自己想做前端可能有以下幾個原因:1.喜歡JS,它靈活強大,能方便的做很多事情;2.之前看了園子里幾篇很不錯的前端文章,前端工程師入門更易(精通確實很難),好的前端相對稀缺;3.前端更容易獨立做點東西,未來更多的是可以借助其它平台開發,比如基於微信、微博、百度雲開放平台等,在他們基礎上加自己的前端能快速的形成解決某種需要的產品(沒有實際的調研過,不知道這個想法是否正確)。於是又上網搜集各種資料主要是前端工程師的前景和知識體系及成長之路,覺得自己比較認同的摘錄匯聚一下。

賀師俊Web開發者

我在另一個答案里提到過我認為Web前端的職業前景不容樂觀。這里暫時沒有時間展開。先說個有趣的事情,國內Web前端的標桿人物克軍(豆瓣)和玉伯(阿里)寫了個“對聯”如下:前端研究,研究個屁;前端設計,設計個鳥。就算是調侃吧,但也可見業內頂尖人士對此職業在縱深上的擔憂。

另外說待遇的話,當然也有非常高的,玉伯在其他答案里提到過有超50萬年薪甚至近百萬的。不過我個人對這些高薪同學在公司的實際角色有所保留。總的來說,一般理解上的前端工程師在各互聯網公司的職級相比其他技術崗位或者UED其他崗位我認為不夠高。造成這樣情況的有不少是歷史原因。

 

 

張克軍豆瓣前端工程師

 

第一大挑戰還是兼容性。雖然微軟已經決定將ie6安樂死,ie9/10看起來相當標准。向后兼容似乎輕松了,但向前兼容又開始越來越讓人頭疼了。打算搞一個web app,你會發現android上的webkit是多么混亂。在桌面瀏覽器上總是有css hack可以擺平,但在mobile上只能考慮退化方案。從兼容瀏覽器(外加套殼的瀏覽器)到兼容設備,實際上兼容性變得更復雜了。
第二大挑戰是交互的復雜度。和目前UI/交互的要求相比瀏覽器引擎給我們接囗的確太低級了。於是今年前端技術的熱門話題是各種javascript, css的預處理器、各種mvc框架、和微框架的討論。
第三大挑戰是代碼可維護性。復雜度的提升直接影響代碼的維護性。JS/CSS/HTML代碼生命周期越來越長,也就越來越需要從代碼質量、架構和工具上保證它們的可維護性。代碼的歷史問題是永遠的痛點。
第四大挑戰是性能。
第五大挑戰是個人成長。

 

李秉駿web前端開發者/創業者/正在經歷大學的學生

說說我的感覺吧。我現在就是一個前端工程師。我覺得前景是不錯的,不然我就不會選擇這樣的一個切入點。那么下面我來說說具體是為什么吧。
1,明白前端干什么。以前就可能是僅僅地切圖,把設計變成代碼。但是現在隨着webapp興起,以及利用web構建富客戶端,包括更多交互豐富的離線應用,對於前端的挑戰也越來越大,所以需要更硬底子的功夫。包括你多瀏覽器原理,http協議,還有js,css等最基礎的認識等。所以要求不低。
2,明白你選擇該職業的目的。有人說做ceo最好從產品經理入手。其實未必,大部分ceo,尤其是成功的,都從技術入手。前端開發,從維度上跨越了,設計,交互,數據交互,后台。因此是一個橋梁的作用,在未來需要了解的層面也多,地位不亞於任何一方。因此可以讓你知道更多。
3,切入點好。我目前雖然還是實習生,但是我並非計算機專業,但是這不會妨礙我。因為目前前端職業要的是你有硬功夫,而且 誰強誰弱,一看代碼組織,風格,一目了然

 

柴春燕前端開發工程師

 

Web前端工程師的職業生涯,我覺得可以分為三步,初級前端開發工程師- > 資深前端工程師- > 前端架構師。每種職責都有其不同的角色和分工。
前端開發工程師(或者說“網頁制作”、“網頁制作工程師”、“前端制作工程師”、“網站重構工程師”),這樣的一個職位的主要職責是與交互設計師、視覺設計師協作,根據設計圖用HTML和CSS完成頁面制作。同時,在此基礎之上,對完成的頁面進行維護和對網站前端性能做相應的優化。
資深前端開發工程師,相比較“前端開發工程師”而言,更加資深一些,當然其工作的職責也會相應的更加大一些。一般而言,資深前端開發工程師需要使用JavaScript或者ActionScript來編寫和封裝具有良好性能的前端交互組件,同時還要對Web項目的前端實現方案提供專業指導和監督並在日常工作之中對新人及相關開發人員進行前端技能的培訓和指導。另外,還要跟蹤研究前端技術,設計並實施全網前端優化。
對於前端架構師,更多意義上說像是一個管理的崗位,但是其職責要求卻不僅只是管理。前端架構師需要帶領組員實現全網的前端框架和優化,還要創建前端的相應標准和規范,並通過孜孜不倦的布道來完善並推廣和應用自己的標准和框架。同時,還要站在全局的角色為整個網站的信息架構和技術選型提供專業意見和方案。

林燦斌C/Web前后端/數據庫/信息安全/移動客戶端…

前端是負責輸出到 客戶端的頁面的編寫,為了提升用戶體驗(很濫的詞不過都這么說)。
Web前端工程師一般都要求要能熟練使用HTML、CSS、JavaScript。題主既然問到了AJAX這樣的問題,那我想題主甚至可能對JavaScript都不太熟悉,那么就不能稱為Web前端工程師了,只掌握了HTML和CSS的話,只能叫 網頁美工了。

不能打架,不能打架。AJAX的好處都有啥?誰說對了就給他!
下面我來說下AJAX的重要性:
1、 節省帶寬和運算壓力。像navibar、footer之類的,各個頁面基本一致的,大量重復。使用AJAX局部刷新需要更新的content,節省服務器帶寬和運算壓力,在網站PV足夠大的情況下,會有一定的提速左右。特別是一個長帖子/問題/博文,發布回帖/答案/評論時,使用AJAX submit數據,對比用form submit,速度和對服務器的壓力,差距可以以倍來計算。
2、 用戶體驗,首先由於上面的原因,使用AJAX獲取的數據會更少,而且不需要二次渲染navibar、footer之類的重復元素,也會 一些。另外網頁從一個跳轉到另一個的時候,會整個閃成白色再重新載入新的頁面,用戶體驗不好。像知乎這樣,我可以非常方便地修改答案,體驗就很不錯。
3、看到知乎這個保存草稿的功能了嗎?非常實用的功能,前段不用AJAX做你等着后端拿着form submit去實現嗎?那得是多蛋疼的體驗。
當然,也有一些不適用的場景,例如需要做SEO優化的場景。

 

 

waterwu08年至今,專注前端及可視化

 

10年時我寫過篇BLOG有說起過這個  水想前端(一):鳥瞰 。

在咱前端的頭上,有三座大山: 設計、后台、兼容性
一前一后都不如別人專業,而兼容性問題,看得出問題、卻看不出水平。不禁仰天長嘆:我勒個去!
從這點上來看,前端挺像秘書,做的是潤滑劑,但卻有點吃力不討好。

---

而從現在看來,前端的發展道路太多太多了,他是個發展太快的領域,所以現在呈現出一片混亂的局勢——這同時也是前端的機遇,亂世總能做更多事情的。

在我看來,這一片混亂的局勢才是挑戰的主要來源。

面臨的挑戰有:

  1. 來自多終端的挑戰:內容型網頁的響應式設計。單純IE與標准瀏覽器的角逐已經開始告一段落,開始進入更混亂的手機/平板/桌面三分天下的局勢。頁面重構童鞋們任重道遠。
  2. 功能與開發效率的平衡:前端開始在非大眾產品上嶄露頭角,尤其是后台管理系統、組織信息反饋系統等。這時我才不管什么low Level API呢,君不見ExtJS, YUIjs等哥斯拉久盛不衰?這時前端童鞋面臨的往往是前后端甚至包括數據層面通吃的局面,這何嘗不是挑戰。(我一直覺得,這方面才是最適合后端轉前端的路線)
  3. 混合式APP的大潮:不管是桌面端還是移動端,都越來越多軟件/應用開始使用混合式的開發,從而在保證核心功能體驗的同時、提升總體的開發效率。(Hybrid App,反正我的理解是原生代碼與WebView混合)
  4. 作為可互動終端:使得信息傳達能更具體化、可視化、互動化。最典型的就是數據可視化方面的挑戰(當然我覺得不止於此)。d3js的團隊從protovis全力轉入到d3js中就可見一斑:d3js更加強調可視化呈現的動畫、以及即時反饋的交互能力。這在我看來也是WEB的未來之一。誰說WEB就必須是大眾使用的呢?一個統一的標准總比每次都訂做圖形引擎來得要好。

 

張帥發現問題,解決問題,創造價值 | Web dev…

王海時 贊同

 

1. 溝通。前端工程師在項目中處於一個中間位置,對下要和后端工程師商定接口,對上要和產品、設計有良好的溝通。無論哪一個環節中出現的問題,都會在前端最先表現出來,良好的溝通可以保證盡早發現並解決這些問題。
2. 寫出可維護的代碼。前端三大語言html,css,javascript都是十分靈活的,寫出可以工作的代碼並不難,真正難的是保證代碼的可維護性。代碼可維護性涉及的問題包括,(html)標簽語義化,標簽結構化,(css) 規則體系化,組件化,(js)框架的選擇,模塊化,高內聚,低耦合。
3. 寫出高性能的Js代碼。包括字符串操作,dom操作,ajax操作。需要考慮性能問題的環節實在很多。
4. 兼容性。兼容性問題仍在拖慢前端工程師工作進度的主要問題,等ie6死掉,國產瀏覽器外殼質量做的好一些,情況可能會有所好轉。
5. 技術更新快。前端技術更新速度十分快,html5,css3,nodejs, commonJs,按需加載,等等都是最近幾年出來的。google又搞出一個Dart語言,鬼知道它會會真的把js取代了。

歐雷世界公民

你的問題描述的方式讓我覺得你不想去做 ajax 等與數據操作有關的事情,但從你在其他人回答的評論中的語言又表現出你是“迫於無奈”。不知道你的真實想法到底是什么……

不過,無論是哪種,都證明你對前端工程師這一職業不了解。下面的內容(摘自 https://gist.github.com/ourai/6411507)是一名優秀的前端工程師需要掌握以及具備的,供你參考——

開發技術

  • 程序
  • 頁面
    • 標准規范
      • W3C
    • 知識儲備
      • 網頁設計
        • 排版
        • 響應式
      • SEO
      • WCAG
      • 微數據/微格式
    • 網頁語言
      • 標記語言
        • HTML
        • XHTML
        • XML
      • 樣式表
        • CSS
        • XSL

軟技能

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM