儘管有批評者,jQuery 仍向前邁進
已發表: 2021-11-03Web 技術很少能長期保持持續增長的用戶群。 WordPress 已經做到了,Bootstrap 也是如此。 但即使是他們也沒有 jQuery 的市場滲透率。
這個古老的 JavaScript 庫於 2006 年首次亮相,並且(在撰寫本文時)被超過四分之三的所有網站使用。 它的成功和長壽都是值得一看的。
然而,它也是許多在線刻薄的目標。 在某些圈子裡,開發人員不願意為 jQuery 提供應有的價值——而是專注於最新的熱門庫。
這是可以理解的,因為像 Vue 和 React 這樣的初級競爭對手有很多令人興奮的功能——如果遠不及用戶數量的話。 人們自然想談論新事物。 只是不斷發展的成熟產品不會產生同樣程度的狂熱。
但這並不意味著我們應該完全忽略 jQuery。 它對網絡產生了巨大的影響,並且在今天仍然有用。 和我一起回顧圖書館的過去以及未來可能會發生什麼。
為大眾帶來跨瀏覽器的 DOM 操作和效果
在 jQuery 出現之前,實現具有跨瀏覽器支持的 JavaScript 是很困難的。 此外,將 CSS 用於動畫等高級效果的概念尚未完全實現。 因此,該庫的部分目標是確保諸如事件處理和 DOM(文檔對像模型)操作之類的任務可以在各種系統配置上運行。
而且您無需成為 JavaScript 專家即可使用它。 即使是一點點背景知識,開發人員也可以根據用戶交互從元素中添加或刪除 CSS 類。 該文檔提供了許多有用的代碼示例,可以對其進行修改以滿足特定需求。
它還允許在 jQuery UI 的幫助下實現高級 UI 元素。 手風琴、日期選擇器和選項卡式界面等功能直接內置到項目中。 它們也可以通過 CSS 或自定義主題來設置樣式。 它的架構還允許構建自定義插件。
換句話說,它為原本不一致的開發領域帶來了一致性,並且相當容易使用。 這使得 jQuery 成為希望將 JavaScript 添加到項目中的開發人員的一個有吸引力的選擇。
該庫已被各種不同的產品使用。 例如,它已經與 WordPress 捆綁了好幾年了。 而且,由於 WordPress 為超過 40% 的網站提供支持,這無疑也提高了 jQuery 的使用量。
總而言之,使用各種瀏覽器和設備的能力使 jQuery 成為開發人員安全、可靠的選擇。
批評
沒有完美的工具。 網頁設計師使用的一切都有其缺陷和缺點。 jQuery 也不例外。
多年來,圖書館飽受批評。 並且提出了許多公平點。 以下是一些突出的:
不再需要 jQuery
正如我們所提到的,jQuery 最初為希望在項目中引入高級功能而不必擔心兼容性的開發人員提供了掩護。 好吧,現在有更多的選擇。
尤其是 CSS,在許多情況下可以取代 jQuery。 例如,動畫等元素可以在不需要第三方依賴的情況下製作。 這是一個可以利用硬件加速的本機解決方案。 結果是沒有開銷的閃電般快速的性能。
此外,自 jQuery 早期以來,vanilla JavaScript 也取得了長足的進步。 借助廣泛的瀏覽器支持,開發人員可以對使用它構建的內容更有信心。
jQuery 效率低下/過時
當一個項目已經存在 15 年以上時,肯定會出現一些低效率的問題。 但是,值得注意的是,您的項目使用的 jQuery 版本可能會產生重大影響。
考慮 WordPress 的案例。 通過多個版本的內容管理系統 (CMS),捆綁了 jQuery 1.1.x。 保留這些舊版本的部分原因是為了保持與主題和插件的向後兼容性。
最後一個是 jQuery 1.12.4,於 2016 年發布。直到 WordPress 5.6(2020 年發布),更現代的 jQuery 3.5.1 才進入核心。
如果您仍然堅持使用那些舊版本,那麼性能肯定會受到影響。 但是,在我自己的測試中,運行更高版本的 jQuery 的網站在 Google PageSpeed Insights 中的表現似乎要好得多。 當然,您的體驗可能會有所不同。
這並不是說 jQuery 總是最有效的解決方案。 儘管如此,在這方面已經取得了進展。
展望未來
對於所有的批評,jQuery 似乎不會很快消失。 部分原因是依賴於它的大量產品。
例如,將其與 WordPress 核心分開將是一項艱鉅的任務。 這還沒有計算同樣使用該庫的主題和插件的數量。 即使是高度協調的切斷聯繫的努力也可能需要數年時間。
另一件需要注意的是,jQuery 仍在積極開發中。 已經努力使其與現代網絡同步。 最近的版本提高了性能並修復了錯誤。
此外,該項目將重點放在 jQuery 核心上。 jQuery UI 和 jQuery Mobile 項目都在結束,為核心改造騰出資源。 託管項目代碼的內容交付網絡 (CDN) 也正在得到加強。
結果是 jQuery 仍在改進,因此仍然是網頁設計師的選擇。
你還應該使用 jQuery 嗎?
誠然,我不是一個鐵桿 JavaScript 開發人員。 我不能告訴你最適合你的項目的庫,或者你是否應該使用庫。 這些都是非常個人的決定,基於偏好和需要。
如果您習慣使用 jQuery,您可以確信該庫仍然可以工作並接收更新。 坦率地說,這應該足以成為繼續使用它的理由。
至於其他開發人員可能會怎麼想——仇恨者會討厭。 但不要讓這阻止您使用您喜歡和信任的工具。 十多年來,jQuery 贏得了它。