還有十幾天 2018 年就結束了。前端
今天我就來和你們一塊兒回顧一下 2018 年的前端技術趨勢。若是你趕時間,能夠直接看文章末尾的總結。vue
咱們在2017年前端技術總結裏總結的關鍵詞是「狀態管理」;react
今天咱們給出的關鍵詞是「JavaScript」,含義主要有兩點:webpack
現在,大部分前端已經再也不對 CSS 有很大的關注度了,只要會用 flex 和 grid,幾乎就能夠解決大部分需求。即便是目前最潮的 CSS Houdini 技術,也是在用 JS 而已。web
這在一方面說明前端對 JS 的重視,另外一方面又說明 CSS 的易用性,不須要花太多時間,就能快速搭建頁面。不過大部分前端並不想要深刻了解 CSS,能用就行。編程
雖然全部前端都在關注 JS,可是並非全部前端都在寫 JS。已經有不少前端在用 TypeScript 了,還有一些前端在用 Reason、Elm、ClojureScript 和 Dart。小程序
尤爲是 TypeScript 的發展勢頭最猛,JS 學得好的前端很快就能上手 TypeScript,不少大公司的前端對 TypeScript 更是愛不釋手。後端
反觀 JS 自身的發展,最近 TC39 將 class private field(#x)移入了 stage3 階段,令不少 JS 使用者不滿。不滿的緣由大部分都是以爲這個語法太奇怪了(而若是使用 TypeScript 就能愉快地使用 private 關鍵字了,雖然二者並不徹底同樣)。微信小程序
相信在不久的未來,JS 這門語言會愈來愈沒法知足前端的技術需求,這給其餘語言帶來了機會。api
接下來講說其餘發展趨勢。
移動 App、移動網頁、PC 應用、PC 網頁、微信小程序、支付寶小程序、百度小程序、各類小程序……
如今各大 App 紛紛模仿 Vue 或 React 發佈本身的小程序,開發的重任天然擺到前端開發者的肩上了。(否則讓後端來作嗎?)
可是問題在於,這些端並不徹底一致,有不少細微差異。因而「一次編寫,端端運行」的需求就提上了日程,所以不少大公司的前端都在開發本身的全端方案(如 taro.js、mpvue 等)。
再加上 Electron 對桌面端的支持,React Native 和 Flutter 對手機端的支持,前端實質上就是全端,幾乎全部須要圖形界面的地方都被前端佔領了。
Angular / React / Vue 三者的粉絲已經不怎麼爭論了,公司用哪一個開發者就用哪一個,畢竟不少公司都已經有了 Angular / React / Vue 的一年以上的項目了,想換框架也是難事。
並且三者的生態環境也都比較完備和穩定了。不存在你能作而我作不到的點,因此你們都已經專一於業務開發,而不是框架的選擇了。
因此只要你會其中任何一個框架,都有飯吃。若是一個都不會,就很難找到工做了。
React 帶起了一股函數式編程的風潮,然而若是你問大部分前端「什麼是函數式」,確定有人仍是隻知其一;不知其二支支吾吾的。這是學習能力強的人的一個大機會。
前端的函數式還處於初級階段,因爲 JS 這門語言雖然有函數式的影子,可是依然缺失不少函數式語言必須具有的特性,這也是一些 JS 開發者轉向 ReasonML 的緣由。
今年各大公司均有自家的組件庫(阿里的 Ant Design、餓了麼的 Element UI、TalkingData 的 iView、滴滴的 Cube UI、有讚的 Vant 和 Zent),這得益於 Angular / React / Vue 的成熟的組件化能力。這也意味着對前端開發者的要求提升了,不只須要會用別人的 UI 庫,還須要本身能開發 UI 庫。
組件庫的興起也使得前端終於開始重視「單元測試」這一基本的測試手段了,不少人都會使用 jest 和 mocha 來進行單元測試。
如今前端開發者不像以前幾年對 Node.js 趨之若鶩了,而是隻在必要的時候使用 Node.js。由於前端已經理解就算學會了 JS 也不表明能手上 Node.js,並且 Node.js 也愈來愈專業化了,其領域知識跟前端幾乎沒有重合的部分。
因爲 webpack 配置的複雜性,愈來愈多的工具都把 webpack 進行了簡化和封裝,如 Vue CLI 三、Angular CLI 和 create-react-app。所以新人在建立項目的時候幾乎不會遇到複雜的 webpack 配置問題,一個成熟的前端團隊也只須要一兩我的維護 webpack 的配置便可。
相信不久以後,這些配置會進一步簡化。
總之,前端在經歷了一兩年的百花齊放後,逐漸趨於穩定,你們分別使用本身喜歡的框架,打造趁手的 UI 組件,而且開始使用 TypeScript 和單元測試來提升代碼的質量,以作出更好的產品。對後端知識沒有了解的前端也再也不盲目投入 Node.js 的懷抱了,而是認真作好前端業務;Node.js 的使用者也更專一於後端開發,這是雙方都在朝着專業化方向進步的體現。
若是你對文章中提到的 React、Vue、TypeScript、UI 框架和單元測試等知識感興趣,能夠咱們的 Vue 交流羣 5 或者 React 交流羣 2(請儘可能只加一個羣)
以上就是咱們在 2018 年觀察到的一些前端技術趨勢,不必定全面,若有錯誤歡迎指正。