JQuery, 曾經從事網頁工作者的標配, 以前還沒有前端的概念, 但不懂JQuery幾乎是會被嘲諷的. 而當下的使用量卻逐年降低, 更多的用戶轉向新興的 React/Angular/Vue . 今天我們來聊聊, 相比JQuery成熟龐大生態圈, 為什么我們現在開始逐步的放棄 JQuery.
前言
截止至筆者寫這篇文章為止(2018.1), 前端開發的大趨勢主要是以下幾點:
- 舊瀏覽器逐漸被淘汰(比如IE8及以下, 主流框架已經放棄了支持)
- 移動端需求的增加
- 用戶體驗要求變得更高
- 前端架構從傳統的后台 MVC 向 RESTFul API + 前端 MV* 遷移
眾所周知. JQuery只是一個DOM和ajax的封裝庫. 現在前端項目的日益發展導致JQuery已經不足以承載太多的復雜項目了. JQuery能兼容各種低版本的瀏覽器這一大優勢也在舊瀏覽器淘汰的路上逐步減弱. 越來越多的開發者開始擁抱新型框架, 它們使前端不太需要關心DOM了, 只需要關心狀態.
Vue
因為我目前主要使用的是Vue的技術棧, 就來說說為什么要選擇 Vue 吧.
首先, Vue.js是一個庫, 並不是一個真正框架(或者說是一個UI層面的框架). 它相比其他兩個主流框架 (React/Angular) 來說 Vue 的學習成本相對來說會比較低. 其次 vue 的作者是國人尤雨溪 因此它對中文的支持會更友好一點(說句題外話, 偶爾能看到有老外吐槽. Vue.js的源碼偶爾能看到中文的注釋2333).
Vue是漸進式框架, 它主要關注的是視圖管理. 其核心思想主要是數據驅動和組件化. vue的優勢主要有以下幾點:
-
侵入性低
不對整體構架做過多約束, 方便與其他庫或是已有的前端技術棧整合. 比如說當前的項目就是在使用JQuery, 我們也可以將項目移入vue里, 然后逐步的進行改良. -
vue鼓勵模塊化
因為組件系統是 Vue 的另一個重要概念, 因為它是一種抽象,允許我們使用小型、獨立和通常可復用的組件構建大型應用. 這將有利於將界面代碼自然分割成更容易維護的模塊. 簡而言之就是模塊化開發, 減少代碼的重復性和提高復用性.
vue.js比較推薦的是基於commonJs的一個模塊方案. 通過webpack這樣的模塊構建工具, 將一個組件的模塊, css和js都寫在同一個文件里. Vue本身也有自己腳手架叫做vue-cli, 通過腳手架來幫助我們自動構建項目, 再使用npm進行包管理也是使項目模塊化的一種. -
Vue的語法糖和各種修飾符使得編寫JS變得更加的容易. 同時使用一些依賴庫, 比如
babel使我們能大膽的使用ES6的語法糖. 原先需要封裝一個函數的命令, 現在只用一句代碼就能解決了. 大大的提高效率. -
Vue也有自己的生態系統和一個活躍的社區.
后記
JQuery作為曾經的霸主, 現在市場使用的份額仍然不小. 原因主要是一些老舊的項目仍然在使用着. 其次, 有些時候我們也會遇到需要頻繁操作DOM的場景, 再加上JQuery龐大的生態圈. 有很多完善的插件仍然可以使用. 因此, JQuery雖然過時了, 但在未來幾年中, 也必然還會有它的份額存在.
