前端工程師的未來在哪裏?

enter description here

本文引自:前端工程師的未來在哪裏?

阿里妹導讀:很多童鞋在上次的問卷調查裏表示,希望多推出一些前端方向的內容。今天爲大家分享一篇關於前端工程師職業發展的文章,拋磚引玉,期待與大家一起交流探討。

我是成曰,目前在螞蟻金服數據平臺部任職前端工程師,從事數據中臺產品的研發。目前對前端架構與質量、用戶體驗、TypeScript比較感興趣。

以下我說的都是個人觀點,比較宏觀粗淺,主要針對的是前端工程師本身,沒有深入技術和業務細節,請謹慎參考。

職能概覽

enter description here

前端工程師首先是個程序員,其次也是個軟件工程師,他們工作在離用戶最近的地方,負責人機交互和用戶體驗,雖然叫“前端”,但其實他們的工作邊界其實已經很寬了。

展望未來,我想前端的工作會繼續分化,也會繼續融合,分工是工業革命以來社會高效協作的主要推動力,以後很長一段時間應該也會維持這種形態,融合的原始推動力也是提高效率。分化和融合是不斷的演化和互吸收轉化的,不過核心的東西我想還是不會有太大變化。

觀點

  1. 繼續分化(領域、行業、技術棧)

  2. 繼續融合(端技術、Web 全棧技術、人工智能與端技術)

  3. 核心不變(計算機科學本質、軟件工程思想與實踐、程序員職業素養)

enter description here

1. 繼續分化

領域

前端領域會繼續分化,例如阿里內部的前端就已經有中後臺、圖形、端技術、泛 Node、開發者服務5個大方向了,每個大方向也會細分,舉一些例子:

(1)中後臺:有云控制檯、信息&資產管理平臺、內部研發&項目管理平臺、人工智能&機器學習平臺、數據研發分析平臺,企業內部信息平臺等。具體產品如阿里雲控制檯、ERP、PAI、DeepInsight、阿里內外、Basecamp 等。

(2)圖形:有基礎圖形庫、3D圖形、數據可視化、流程圖等。具體產品如 G2、DataV、阿里雲城市大腦、滴滴智能交通調度圖、雙十一大屏等。

(3)端技術:有移動端(iOS、Android、MobileWeb、PWA、小程序)、PC 端(客戶端、Web 端)、觸屏電腦、各種監控大屏、智能手錶手環,智能汽車&家居屏幕等。具體產品如淘寶支付寶的 App、PC 主站、移動 H5 站,阿里郎、VS Code、雙十一大屏、UC 瀏覽器 UWP 版本、各種智能手錶、手環、汽車、家居屏幕等。

(4)泛 Node:有工具鏈、Web 框架、IoT、客戶端(Electron、NW)等。具體產品如 DEF/Atool/F2E-Test(阿里前端開發者工具)、Egg.js、阿里雲的 IoT 應用、VS Code 等。

(5)開發者服務:有應用開發運維平臺、組件市場等。具體產品如阿里雲的應用搭建平臺 Boat、Fusion-Design 組件市場,支付寶小程序開發者工具等。

行業

(1)2B

信息管理、財務、建築、航天、水利、金融、製造等傳統行業軟件以及阿里提出的五新:新零售,新制造,新金融,新技術和新能源,新技術賦能傳統行業

SAAS 軟件及服務:如 Teambition、Trello、釘釘企業版、Basecamp、http://Growing.io

(2)2C

移動 App:如微信、微博

PC 工具應用:如 Google Doc

產品展示類網站:如阿里雲、支付寶官網

技術棧

  • React(Native)
  • Angular(NativeScript)
  • Vue(Weex)

2. 繼續融合

端技術

  • 前端、客戶端技術思想的融合
  • 組件化(組件化搭建頁面)
  • 組件生命週期鉤子函數(如 iOS ViewController)
  • MV*(如 MVVM 設計就來源於微軟客戶端開發框架)

大前端的統一

  • 虛擬 DOM 技術:React/ReactNative/ReactCanvas
  • 各種移動設備內核和引擎的統一:WebKit/V8
  • Web 技術文檔的統一:Mozilla Web Docs

Web全棧技術

  • 前端、後端技術思想的融合
  • MV*(如前端的第一個 MVC 框架 Backbone.js 就來自於 Ruby on Rails 開發者)
  • AOP、依賴注入(Angular)
  • GraphQL(SQL)
  • IndexedDB(Database)

人工智能與端技術

  • 人工智能、前端技術的融合
  • 端是最終觸達用戶的節點
  • 端數據採集->後端機器學習、數據分析->智能推薦呈現
  • 物聯網、前端技術的融合
  • 智能家居/汽車/工業設備可能是有屏幕的,同時可以基於如 JerryScript 這樣的 JS 執行引擎使用 Node.js 開發聯網應用

3. 核心不變

計算機科學本質/軟件工程思想與實踐/程序員職業素養。

  • 計算機科學基礎:如基本的操作系統概念和計算機組成原理,算法和數據結構基礎等等。
  • 軟件工程思想與實踐:如軟件開發模式,設計模式,架構思維,自動化思維,單元測試集成測試,UML 等等。
  • 程序員職業素養:如對代碼整潔和可讀性的追求,對軟件開發的熱情,對編程技藝的自我提升等等。

歷史回顧

回顧過前端的演化,主要參見最底下的相關資源,下圖簡要回顧一下 95 年以來軟件開發和前端歷史:

enter description here

前端的未來

那些生存空間越來越小的產業

  1. 小規模移動 App:移動 App 市場被一些巨頭把持,小規模App生存空間越來越小
  2. PC 信息導航類網站(網址、購物、論壇、生活):現在移動優先,而且有智能推薦,並且是強社交

無界面交互

Web 前端能做一些事,主要是大前端的範疇

  1. 會話式界面(視頻語音會話、語音搜索:WebRTC,開源語音庫:Common Voice)
  2. 感官式界面(視覺:WebAR/WebVR)
  3. 無界面,未來會有大量 IoT 設備(IoT 有自己的通信協議和規範,前端的工作是在用戶看不見的後臺)

富界面交互

大量工作需要前端來做:

  1. 日常辦公軟件(複雜應用,並且慢慢從桌面程序演化爲 Web):Office、Email、文檔管理、產品設計、項目管理、代碼編輯器
  2. 大數據/AI配套軟件(複雜應用,並且慢慢從桌面程序演化爲 Web):需要大量的後臺系統來做數據分析/機器學習
  3. 播放器/遊戲:H5 代替 Flash,如 Web Audio、Web Video、Canvas
  4. 容器/DSL/內核/小程序:支付寶/微信/釘釘容器,內核(也就是 UC、QQ 瀏覽器內核),及其自定義 DSL(如果將來手機的底層能力都可以上浮到小程序,很有想象空間)
  5. 產品信息展示類網站(炫酷應用):各種智能設備官網、大企業官網

未來在哪裏?

enter description here

回顧觀點

  1. 繼續分化(領域細分、行業細分、技術棧細分)

  2. 繼續融合(端技術融合、Web全棧、人工智能與端技術的融合)

  3. 核心不變(計算機科學本質、軟件工程思想與實踐、程序員職業素養)

一些建議

(1)關心人工智能的發展,思考 TA 在前端領域可能產生的應用場景

  • 視覺稿自動生成代碼
  • 根據用戶使用習慣自動排出最符合該用戶習慣的界面
  • 收集用戶數據在前端實時做學習和分析,如deeplearn.js

(2)相信前端的未來,Web的力量

  • WebKit
  • V8
  • Flexbox:Yoga

(3)結合公司業務特點有重點的關注前端的某些方面,畢竟技術服務於業務

後記:前端的發展超出了所有人的想象力,未來肯定是難以預測的,也沒有做預測的必要,我們要做的還是踏實做好眼前的事情,“過往不戀、當下不雜、未來不迎”,與君共勉!

相關資源

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章