layui 為啥干不過 Vue?
當前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
?首先需要糾正的是,layui 和 Vue 并不是一個層次的框架,Vue 是用于構(gòu)建 Web App 的底層框架,而 layui 則是基于 jQuery 封裝的上層 UI 框架,jQuery 才是用于構(gòu)建 Web App 的底層框架,與 Vue 屬于同一層次。layui 和 Vue 兩者本質(zhì)上不存在競爭關(guān)系,如果非要比較應(yīng)該拉同一層次框架進行比較,比如:Element UI 和 layui 或者 jQuery 和 Vue。 為什么 jQuery 干不過 Vue,就 jQuery 干不干得過 Vue 這個問題倒是可以簡單寫一寫自己的看法: 單看 jQuery 和 Vue(不包括全家桶),主要從兩個角度:1. 易用性 2. 編程范式 從易用性的角度上來講,私以為 jQuery 的易用性相較 Vue 稍微差一點,為什么只說稍微差一點呢?因為在日常使用中,jQuery 和 Vue 都能覆蓋大部分開發(fā)場景,符合二八定律,20% 的 API 能夠覆蓋 80% 的場景,但不同的是 Vue 對于部分常用的 API 封裝得更好,使用起來更加方便。 從編程范式的角度上來講,jQuery 和 Vue 屬于兩種完全不同的編程范式,前者為命令式編程,而后者為聲明式編程。就拿計數(shù)器的例子來說:如果要使用 jQuery 實現(xiàn),那么需要在做加法或者減法的時候手動選擇計數(shù)器對應(yīng)的 DOM 節(jié)點,取出 textContent,然后做加法或者減法,再賦值給計數(shù)器對應(yīng)的 DOM 節(jié)點的 textContent;而相同的操作在 Vue 中只需要給綁定在模板中的 count 變量做加減法即可,框架會自動實現(xiàn) DOM 操作。在這里就可能感受到一定的差別了,最直觀的感受就是你需要記憶 jQuery 的 API,同時你需要關(guān)注應(yīng)用中某一個功能點的在 DOM 操作上的具體實現(xiàn)細節(jié),而對于 Vue 來說,DOM 操作已經(jīng)由框架來實現(xiàn),對于開發(fā)者而言屏蔽了很多實現(xiàn)上的細節(jié),可以更加專注與業(yè)務(wù)邏輯。 當然也還有一些其他的原因,比如說 DOM 操作,jQuery 更多是 DOM 操作的封裝,而 Vue 則屏蔽了 DOM 操作。事實上做得足夠好的 DOM 操作性能上是不輸任何框架的,正如 jQuery 的 Slogan「鋒利的 jQuery」所描述的那樣。但這只是理想情況,大多數(shù)情況下 DOM 操作受限于各種各樣的原因(主要是開發(fā)者代碼水平)總是五花八門,是無法做到足夠好。 React/Vue/Svelte/SolidJS 等等這些屏蔽了 DOM 操作的框架在我看來解決了 DOM 操作五花八門的問題,很大程度上鎖定了 Web App 的性能下限,意思是只要你按照我的方式來寫代碼,性能就不會差到哪里去。 該文章在 2025/9/8 16:02:28 編輯過 |
相關(guān)文章
正在查詢... |