Michael Chen 的技術文件技術雜談為什麼要用(或不用) jQuery | jquery react比較
在Netscapevs.InternetExplorer的瀏覽器大戰時代中,jQuery的確幫助許多開發人員解決瀏覽器不相容的議題。然而,近幾年來jQuery過時的呼聲不斷高張,一方面是現在瀏覽器在標準化已有改善,jQuery的角色相對弱化;另一方面,jQuery的範式(paradigm)是以DOM為中心,而現在新的思維是以資料為中心。那麼,是不是我們已經不再需要jQuery了呢?我們可以從以下數個面向來考量是否要使用jQuery:市佔率函式庫大小對InternetExplorer的支援度DOM導向vs.資料導向難易度市佔率現在新的網頁前端學習教材通常會著重在Anguar、React、Vue等新興工具...
在 Netscape vs. Internet Explorer 的瀏覽器大戰時代中,jQuery 的確幫助許多開發人員解決瀏覽器不相容的議題。然而,近幾年來 jQuery 過時的呼聲不斷高張,一方面是現在瀏覽器在標準化已有改善,jQuery 的角色相對弱化;另一方面,jQuery 的範式 (paradigm) 是以 DOM 為中心,而現在新的思維是以資料為中心。那麼,是不是我們已經不再需要 jQuery 了呢?
我們可以從以下數個面向來考量是否要使用 jQuery:
市佔率 函式庫大小 對 Internet Explorer 的支援度 DOM 導向 vs. 資料導向 難易度 市佔率現在新的網頁前端學習教材通常會著重在 Anguar、React、Vue 等新興工具,而不會把重心放在 jQuery 等出現較久的函式庫,某種程度也代表了這些新興工具比較有話題性。不過,jQuery 仍然在全世界的網站中占有八成的市佔率,而一些新興框架的使用率其實遠遠不及 jQuery (可看這裡[1])。
另外,Bootstrap 也依賴 jQuery,如果要接手他人寫的案子,完全沒用到 jQuery 和 Bootstrap 的機率應該很小;已有 jQuery 的案子,用其他工具把 jQuery 換掉的機會更小,因為這樣做整個網站要大改,反而不划算。
函式庫大小雖然有些程式人會覺得 jQuery 很肥,但實際上並不是如此。我們這裡以壓縮過的函式庫大小來進行比較如下:
Library Version Size jQuery 1.12.4 95 kb jQuery 3.3.1 85 kb Zepto 1.2.0 26 kb Angular 6.0.1 3123 kb React + DOM 16.4.1 99 kb Vue 2.5.16 85 kb在實際上線的網站中,這些函式庫通常會用壓縮過的版本,故我們以這個版本為準。
由此可以看出,Angular 是超重量級的框架,而 jQuery 和 React 差不多,Vue 又相對輕量一點。至於 Zepto 是一個和 jQuery 部分相容的函式庫,主要是用在 Cordova 等資源相對受限的應用程式中,平常用到機會相對少。
對 Internet...