心結
有一個心結一直困擾著我:為什麼身為前端工程師,我總覺得低人一等。其中的主要原因,雖然羞於出口但確是事實,那就是“不自信”。
對於我,這個心結產生於兩點:
- 前端很難給公司創造直接的收益,也就很難獲得公司的認同
- 前端工程化的歷史積澱較少,缺少一種成熟的框架來指導我們如何組織程式碼結構,如何進行架構分層。相對於後端而言,前端專案略顯單薄。
框架應該是像Angular這樣,不僅是一個執行時庫,還給出了一系列優秀的工程化正規化。
基本的自信
每個人都有不自信的一面,通常我們會通過模仿別人,來建立起自己的自信。
就我而言,前端專案的普遍略顯單薄的問題是我最大的心結。因此,我會去模仿後端,學習OOP、MVC分層、IOC、AOP,甚至是《阿里巴巴Java開發手冊》中的規範,汲取前人的經驗,逐漸形成自己的前端工程化理解,建立起基本的自信。
一條捷徑:直接學Angular給出的正規化!
真正的自信
然而一味地模仿別人,非但不能帶來超越,反而只會讓我們活在別人的陰影當中。
其實在技術領域也是一樣,如果一味的模仿後端,而忘記了前端應該專注的東西,那麼就很可又能陷入一種,什麼都懂一點但沒有一個能精通的困境,這種自信是不堪一擊的。
前端在模仿完後端,形成自己的工程化體系後,更應該專注於"人機互動"這個領域。我們要知道,HTML+CSS+JS這套體系不僅是用來製作網站用的,他的更大的用途是在人機互動上,比如字元、圖形、音訊、視訊、VR、語音識別這些領域,而這些基於Web的人機互動,全部都是依賴於HTML5規範的。
未來,會有越來越多的領域會接入Web生態,比如Native、AI、IOT、VR等等,Web有著無限的可能性,而所有的這些,都離不開HTML。
所以,作為前端工程師,我們真正該投入大量精力去研究的應該是HTML5、CSS這些標準、規範。能在基於瀏覽器核心的人機互動裝置上,實現極致的人機互動功能,才是我們前端工程師的硬實力。
只有硬實力,才能帶來真正的自信。
該不該往大前端發展
個人的見解是:看自己的定位。
不管什麼工種,都需要有自己專精的領域。像專業的後端,他們除了寫工程程式碼,還會往OLTP、OLAP方向深入,進而成為公司的核心競爭力,這是很難被替代的。但是大前端,雖然搶了一部分客戶端和後端的飯碗,但是它的工作內容還是隻停留在寫工程程式碼的這個層面,很難形成自己的核心競爭力,替代性也是比較強的。
-
如果想去一個正在快速迭代的公司,並且自己想搞一些事情,成為帶領專案的負責人,那就使勁學Node,往大前端發展。
-
如果想去一個有成熟產品的公司,只想專注某個技術領域,想成為公司核心競爭力的一部分,那就少學Node,多學Web生態的各種規範、標準。