老友记:18岁的jQuery,你过得还好吗?

发表时间: 2023-02-11 06:22

#头条创作挑战赛#

家好,很高兴又见面了,我是"前端‬进阶‬",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!

前端‬进阶

前言

过去,Microsoft Internet Explorer 是最流行的浏览器,但是不遵循网络标准。 因此,开发者必须对编码内容进行IE兼容,以便站点能在所有设备中正常访问。比如常见的CSS Hack、Ajax兼容等都是IE时代的产物。

jQuery 在 2006 年横空出世,它允许开发人员只编写一次代码,而jQuery本身负责浏览器兼容性。 这使得 jQuery 一跃成为当时最流行的JavaScript编码库。

不仅如此,jQuery还比标准 DOM 操作 更易用!

历史的车轮滚滚滚向前,随着 Internet Explorer浏览器的逐渐隐退、浏览器标准化进程加快,兼容性已不再是开发者主要的考虑因素。

1. jQuery是什么?

jQuery 是一个快速、小巧的 JavaScript 库。 其API设计简单、而且默认跨浏览器兼容,使 HTML 文档遍历、事件处理、动画和 Ajax请求 等变得简单。 同时,结合多功能、高可扩展性,使得 jQuery 在一个时代改变了数百万开发者编写 JavaScript 的方式。

  • 遍历 DOM操作: jQuery 使得遍历 DOM变得非常容易。
  • 更改 DOM 元素:jQuery 使更改网页元素的样式、行为变得简单。
  • 动画内容:jQuery 允许在网页上动画内容,而且默认跨浏览器兼容
  • HTTP 请求:jQuery 使发出 HTTP 请求变得更容易,而且默认跨浏览器兼容
  • 跨浏览器兼容性:jQuery 完美跨浏览器兼容,使其成为开发人员的完美解决方案。
  • 大量文档:由于 jQuery 是一项较旧的技术,遇到的任何问题几乎都可以通过 Google、百度快速搜索解决。

2. jQuery在2023过的还好么?

2.1 w3techs数据回顾

下图展示了使用各种 JavaScript 库网站的百分比。w3techs数据显示:17.8% 的网站不使用w3techs监控的任何 JavaScript 库。而77.6% 的网站使用 jQuery,jQuery在JavaScript 库市场份额高达 94.3%。

w3techs数据回顾

以下 JavaScript 库的市场份额已不到 0.1%。

  • Zepto
  • Ext JS
  • amCharts
  • Meteor
  • Htmx
  • Sizzle
  • p5.js
  • Riot
  • DHTMLX
  • Mithril
  • A-Frame
  • Ember.js
  • Webix
  • MochiKit
  • UIZE
  • DOMAssistant
  • Google Closure Library
  • SproutCore
  • Glow

下图展示了使用 jQuery 的网站百分比的历史趋势。总体来看,jQuery的整体数据趋势稳定。

jQuery 的网站百分比的历史趋势

2.2 jQuery NPM数据

从jQuery在NPM站点的下载数据来看,周下载量稳定在5,509,027,而且使用有逐渐上升的趋势。而目前大火的React周下载量为16,262,798,jQuery在React的下载量面前依然有一定的可比性,实在难得。

搜索关键字jQuery,NPM相关的包达到了10210个,生态已经非常完善。相比之下React相关的包却达到了惊人的226510,这可能就是组件化开发的优势!

3.2023 年是否值得学习 jQuery?

如上图数据表明 jQuery 在 2023 年仍被广泛使用,jQuery最大的优势在于可以用更少的代码操作DOM

2023 年是否值得学习 jQuery?


我亲身经历过 jQuery 的时代,jQuery 提供了丰富的插件生态。因此,在一些开发项目中,如牵涉到复杂的视觉、交互、动画等逻辑还是会第一时间想到搜索jQuery插件。当然,jQuery很容易学习,上手成本极低,熟悉 JavaScript 的开发者半天即可快速上手。

4.本文总结

本文主要和大家探讨下jQuery、为什么有jQuery?jQuery在2023年的现状?顺便总结下陪伴大家一起走过10多年的老伙计。当然,有些人是欢送它,有些人对它依然依依不舍。不管怎样,让我们一起为它多年的陪伴鼓掌。

#头条创作挑战赛#

参考资料

https://www.seancdavis.com/posts/should-you-learn-jquery-in-2022/

https://blog.javascripttoday.com/blog/jquery-3-6-2-released/