近幾年前端工程師挺火,但是深入講,前端工程師都能幹什麼?

如題,不知不覺web前端火了這麼久了,我卻只知道前端做頁面啊,精美啊,好看啊。但是,感覺好像沒觸及到前端工程師的本質,想問問,前端工程師深層次來說,究竟是在幹什麼?如何才能提升自己對於前端的正確認知?


上天入地,無所不能!

-----------------------

+Node.js 可以開發伺服器、API,當服務端工程師

+Hybrid、React Native 可以開發移動應用,當移動應用工程師

+nw.js、electron、React Desktop 可以開發桌面應用,當桌面應用工程師

+Canvas、OpenGL Unity 可以開發遊戲,當遊戲開發工程師

+Sketch、FramerJS 可以搞設計、搞原型,當交互設計師

+Ruff 可以搞嵌入式開發,做嵌入式開發工程師 | 來自評論區 @極光無限

+Cylon、Nodebots、Robotjs 可以做硬體開發,做硬體工程師 | 來自評論區 @舒樂熊

-----------------------

歡迎補充


先拋開前端這個詞,先搞清楚軟體工程師是幹啥的,再用工程師+前端去考慮什麼是前端工程師。你會發現其實前端不只是html css js 更加不只是jq。


樓上寸老師說「上天入地,無所不能」,那說的其實是像他那樣一小部分人的狀態,大部分前端工程師可能還是處於像你所理解的那樣「做頁面啊,精美啊,好看啊」。

你說「感覺好像沒觸及到前端工程師的本質」,其實我覺得,不用糾結什麼本質,就好像不用糾結什麼「人生終極意義」一樣,這都是寫飄忽虛幻的東西。

你問「前端工程師深層次來說,究竟是在幹什麼」,我不知道什麼叫「深層次來說」,但我可以說說不同層次的前端工程師在幹什麼:

1,入門級

做頁面。就這麼簡單。把Designer出的各種設計圖轉化成html+css+js+image的靜態網頁,並把它們交給後端開發人員製作成頁面模板。這就是入門級的前端工程師所做的事情。

2、進階級

還是做頁面。不過稍微複雜一些,你需要開始注意一些更複雜的問題,首當其衝的就是瀏覽器兼容性問題。老實說瀏覽器兼容性問題真的不是那麼好搞定的,畢竟每個項目對瀏覽器版本的要求都不一樣,而且現在不光有PC瀏覽器還有各種移動設備上的瀏覽器,同時國內廠家的瀏覽器種類也越來越多,坑也是密密麻麻。除了兼容性,你可能還要關注一下性能問題,包括但不限於網路性能、渲染性能、js邏輯的性能等等,這個展開講可以寫本小冊子了,呵呵。

3、中級

帶團隊。你可能會奇怪,一個中級工程師就能帶團隊了?可是真的很多公司就是這樣,尤其是小公司。當你了解了html、js、css以及各種瀏覽器的各種特性細節之後,你會被任命帶領一個小的開發團隊,當然是前端開發團隊。可能加你一共也就三四個人,甚至更少。這時候你的工作內容除了自己寫一點頁面以外,還會幫助組員解決各種各樣的細節問題,畢竟,組裡,你是最懂技術細節的。這個時候,一部分人開始停步不前,而另一部分人開始關注另一個新的問題:工程化。前端代碼都是非常鬆散的,項目結構性差,一旦開發人員數量多起來,業務複雜起來,如何管理這麼多人、這麼多代碼是個非常大的問題。能否在這個問題上得到突破,決定了你能否邁向下一個級別。

4、高級

架構設計。此時你熟悉前端開發的各種技術細節(當然忘了一部分細節也沒事 ^_^),同時對各種前端框架、技術的特性聊熟於胸,你知道如何組織和管理項目讓大家能以最快的速度達到項目要求,你甚至了解手下每個人的所長所短。於是當新項目到來,你迅速根據自身過往的經驗選取若干種技術和工具,配上你認為最合適的人選組成項目團隊,披荊斬棘日夜兼程將產品汪的各種奇葩需求斬於馬下。這麼做了一兩個項目之後,你可能又覺得空虛了,你要尋求新的目標。恰好,NodeJS打開了通往新世界的大門。

5、非典型前端

穿過NodeJS打開的大門,你進入了全新的世界——後端。全新的世界,無限的可能。樓上寸老師說的「上天入地,無所不能」,我猜就是這個狀態。愛幹嘛幹嘛吧,這個時候,你應該不會再來知乎上問「後端程序員都在幹嘛」這種問題了。

其實,要成為一名「非典型前端」並不一定非得經過1~4的步驟。只是現在已經上了年紀的前端大多是這樣過來的,畢竟,NodeJS出來的時間也並不算很久。


http://ruff.io

可以做嵌入式開發, 下周測試板定向邀請購買


後端做服務、複雜的數據處理。

前端用業務邏輯重新組織一下給用戶使用。

nodejs的出現和各種桌面手機平台的混合開發和打包技術,正在把前端工程師往業務邏輯的組織和實現者方向推。


上面有幾位說得已經挺到位了,但個人能夠吸收多少,能看懂多少,還是取決於個人的技術水平,涉獵範圍和項目經驗。很多時候,應該關心的不僅是前端能做什麼,更重要的是自己能做什麼。前端可以做很多事情,你需要通過努力讓自己能做的更多,更好,這個是王道。


我在用 nodejs 帶 vasp 預測化學反應…

那個說 node 是後端的,這玩藝有界面…


謝邀。

嗯, HTML+CSS + 基本的JavaScript是讓你的網站更好看,更有動態效果。但這只是web前端工程師的入門。

- 畢竟web前端工程師也是工程師,所以你要考慮工程化的一些東西,比如你的組件的管理和維護、代碼的組織、構建生態等等。

- 同時,web是網路化的,你也要多網路整個通信的機制有一些了解

- 然後,你的代碼是跑在瀏覽器上,所以對瀏覽器的工作原理的理解會幫助你理解好web

- 還有,安全,性能,測試,等等

當你把上面這些話題都玩一遍的話,相信你對web前端工程師會有更好的認識。


根據題主的闡述,題主對前端的理解停留在jq階段,深入了解前端可以看看augular,vue,react,深入了解前端的後端可以看看nodejs


前端工程師,就是工程師的一種,沒人規定只能幹啥,不能幹那


網易雲音樂前端開發的 lol進入界面前端開發的 atom bra編輯器前端開發的 你的手機應用前端開發的 淘寶購物車的抗壓是前端開發的 ,以樓主的邏輯後端除了對資料庫增刪改查還能幹什麼,安卓,ios也是一種前端開發,只是現在前端特指web前端而已


除了不能自己一個人來生猴子,好像都可以通過團隊來解決的吧


其實我覺得前端技術被深入發掘的時代,還沒到來,至少還沒普遍到來。

基於 WebGL 的遊戲客戶端開發,基於 canvas2D 的複雜文檔處理軟體(比如 office 類,繪圖類,cad類等。不是在炒工業 4.0 嗎?以後沒準兒你打開網站使用廠商提供的 Web CAD 畫個圖,第二天產品就寄到你家裡來了)開發,基於 WebRTC 和 mpeg-dash 的多媒體應用(在線教育,直播,視頻監控等)開發,等等。這些領域雖然都有人在做,但還不算普遍。

理論上,沒有什麼界面是 web 不能做的,連變電站里的 scada 系統和工廠里的組態系統,界面都可以用 web 做,只是目前 web 的部分特性還不符合要求(首先天生開源、無法防止篡改(想想 adblock)這兩點就很難克服),沒人這麼干罷了。以及,現在用 WPF 實現的東西,以後都有可能搖身一變變成 web。

或許有一天,你眼之所見的軟體界面,手機里的,手錶里的,汽車裡的,電腦里的,甚至洗衣機微波爐里的,全是 web。


隨著需求的日益複雜,解決人的分工問題,人的分工勢必導致代碼的分層,技術的分層。於是產生了前端工程師。

可以開個腦洞,隨著需求再這麼發展下去,會產生前端頁面工程師,前端數據交換工程師,前端架構師,前端鼓勵師,幫助前端與後端撕逼師,前端頸椎康復理療師,前端心理健康諮詢師等等。


時尚型:經常在世界上最大的同性交友網站聊聊天

全面型:技能樹往PHP/Nodejs上點,視野越來越開闊

鑽研型:JS是什麼我不知道,但我CSS就是很牛13

打雜型:什麼都會,但我只是想低調的裝個13

深層次型:優化優化優化,顛覆顛覆顛覆,寫書寫書寫書

回歸正題:

本質型:老老實實寫代碼,萬劍歸宗(霧

其實前端要做的事一開始不是很多,但只有自行車就夠了嗎?

總要有人出來造飛機造火箭的。


總是有人問我,那你能造出自己都搬不動的石頭嗎?

我說不能,但能寫出自己都無法 fix 的 bug。


不是前端能幹嗎,而是哪個公司的前端在幹嘛。公司不同,前端的工作也不同,我以前前端後端一塊摟。

但是,我始終認為,喜歡編程,想創造出好的東西,無論你是前端後端還是其它行業,都一樣流弊,因為,我們寫的出的是這個世界上沒有的東西。


前端開發現在已經複雜的讓人看不懂了,但是並不是技術複雜,而是陷入了各種新概念,各種依賴管理,各種構建工具,各種框架。真是簡單的事,往複雜里做。特別是自從nodejs出來以後,前端的開發人員就思想扭曲了:勞資是全棧工程師,js無所不能,es6一統天下!


好看是設計師的問題,我們關心的,是兼容和頁面性能優化


什麼都干,p圖,設計原型,和客戶談判,做成靜態頁面,連接資料庫導入動態數據


推薦閱讀:

你用到了 CSS 框架中的百分之多少?
css3怎麼實現高度從固定到自動的過渡動畫?
一個前端開發工程師,什麼最重要?
Web前端崗位面試題有哪些?
如何評價阿當的文章《當我說前端基礎時,我在說什麼》?

TAG:前端開發 | 前端工程師 |