網站開發的前端技術變化

 



2021/10/9 整理

現在前端已經進入了 MVVM 時代,但 jQuery 並不會退出歷史舞台,即使沒人用 XP、Win7 操作系統,即使所有人都用 Chrome 也不會。jQuery 手工操作已經存在的 DOM,操作比較精細,性能好但開發效率低,瀏覽器兼容較好,各個門戶主要還是用 jQuery。


MVVM 解決的是開發效率問題,構建複雜表單比較順手,大大降低了手工操作 DOM 的代碼量,適合內部應用,管理後台,但 MVVM 不是萬能的,缺點是

1. 要實現 DATA 變化的雙向綁定,一般瀏覽器兼容差

2. DOM 動態生成無法 SEO,搜索引擎搜不到

3. 通過數據操作 DOM 實質上不夠精細,有一點性能上的損耗


jQuery 解決的是遠古時代的瀏覽器兼容問題,將 DOM 操作做了一層兼容性封裝,但其用法本質上與直接使用原生 JS 接口沒有什麼不同。

1. 原生操作 DOM 不可能消失,雖然已經有了 document.querySelectorAll(selector),但有沒有覺得還是 $(selector) 更方便?雖然有了 element.addEventListener(event, handler) 但 $(select).on(event, handler) 是不是更簡潔?

2. jQuery 有一個強大的前端生態

畢竟流行了十幾年,目前很多複雜前端組件、框架都基於 jQuery,比如說編輯器,日期選擇器,自動提示等,你可以用 MVVM 來重寫,但動態渲染 DOM 與穩定性 DOM 有先天的性能差距,越複雜的控件,MVVM 的性能損失越明顯。

而且基於 jQuery 相當於基於原生 JavaScript,jQuery 可以視為原生 API 的一層封裝,以後沒有瀏覽器兼容問題了,自己實現一個 jQuery 適配器即可,比如 zepto,所有基於 jQuery 的組件可以直接用。







程式語言編年史

程式語言編年史原文 下面這張圖片描繪了整個程式語言的歷史。包括各種程式語言的發明人、程式語言的特點和適用領域、被什麼網站或公司使用等 (檢視 完整高清圖 )。 之所以會有那麼多不同的程式語言是因為設計程式語言的初衷不同、對語言學習曲線的追求不同、不同程式之間的執行成本差異...