17611538698
webmaster@21cto.com

jQuery 20周年:那个用 $ 符号拯救前端的传奇

前端 0 20 3小时前
图片

21CTO导读: 你还记得否,在那个美元符号($)尚未统治网页的年代,我们是怎么写JavaScript代码的吗? 那是一个 document.getElementById 遍地跑、IE6 让人抓狂、为了让一个简单的下拉菜单生效就要敲上百行代码的“荒蛮时代”。 直到 20 年前的那一天,一个年轻的程序员站了出来,用一行优雅的 $(),改变了整个互联网的轨迹。

1985 年的噩梦与 2006 年的火花


说起 jQuery 的故事,得先聊聊那个让所有早期开发者“头皮发麻”的浏览器时代。


在 2000 年代初,搞前端开发叫“网页设计师”,后来这群人开始自称“排雷”或者“打补丁”工程师。 这是因为微软的 IE 和火狐、网景(Firefox,以及Netscape)浏览器各自为政,同一个样式、同一个点击事件,在两个浏览器里的表现可能完全相反。开发者们为了搞定兼容性,不得不充斥着各种 if (IE页面) 的“恶心”判断。


那时,经常有人无奈地高喊:让微软垄断到底吧!


2006 年 1 月,在一个叫 BarCampNYC 的小型技术聚会上,一个叫 John Resig 的年轻人站上了讲台。

当时的他提出了一个在今天看来依然振聋发聩的口号:

“编写 JavaScript,本应该是一件有趣的事情。”

他说出来的时候就已经开始行动了。就在同年的 8 月 26 日,jQuery 1.0 正式发布了

图片

jQuery作者John Resig在X上的个人资料页

没有盛大的发布会,也没有铺天盖地的营销活动。但这个小巧的库,做了一件极其伟大又显得“叛逆”的事:它把所有复杂的 DOM 操作、动画和跨浏览器兼容处理,统统打包塞进了一个极其简洁的函数里——$()

从那天起,程序员不再需要写十几行冗长晦涩的代码去抓取节点,你只需要像写 CSS 选择器一样轻松搞定:

// 曾经抓狂的跨浏览器 Ajax,如今只需要一行:$.get('/api/data',function(data){ ... });

“用更少的代码,实现更多的功能”(Write less, do more),jQuery 用这种近乎降维打击的方式,开启了自己的传奇。

拯救一代人的“生命之源”


jQuery 的出现,真的像一场革命,那么这意味着什么?

用当时一位开发者在 10 周年纪念帖下的留言来说:

“jQuery 拯救了 JavaScript!它是我们所有开发者的生命之源。”

它不仅拯救了专业的程序员,更彻底降低了构建互联网的门槛。 在那之前,JavaScript 是一门被认为“晦涩、怪异且难以维护”的语言;而在 jQuery 出现后,无数的设计师、后端程序员,甚至是刚接触电脑的爱好者,都能在一两天内上手,做出炫酷的网页效果或动态交互功能。

它构建了一个前所未有的庞大生态。各种 jQuery 插件如雨后春笋般冒出——弹窗、轮播图、日历选择器……你想要的工具,社区里早已有人替你写好。

图片

jQuery Reunion网站在宣传在达拉斯举行的 20 周年庆典时,对此做了很好的一番描述:

你还记得美元符号出现之前的互联网吗?那是一个document.getElementById充斥着各种问题、浏览器兼容性差(比如IE6!)、以及为了让一个简单的下拉菜单正常工作而编写冗长JavaScript代码的时代。

Hacker News 上有一位资深用户还深情回忆说:

“jQuery 的伟大,不仅在于它的功能,更在于它对整个 Web 领域的绝对主导。它让全球的 JS 开发者第一次拥有了一个统一的语言和社区。没有这个强大的土壤,后续前端世界的繁荣根本无从谈起。”

当拯救者成为“旧时代的代名词”


互联网技术的浪潮永远不会停下脚步。随着时间的推移,jQuery 走向了它宿命中的另一面。

进入 2010 年代后,现代前端框架开始崛起。以 React、Angular、Vue 为代表的新势力,带来了全新的“声明式编程”思想。

  • jQuery 的模式 是命令式的:“找到这个元素,把它改成红色,再找到那个按钮,给它加上一个类名……”

  • 现代前端框架的模式 是数据驱动的:“这是我的状态数据,无论数据怎么变,界面会自动更新成对应的样子。”


于是,技术社区上的风向变了。曾几何时,学会 jQuery 是前端的入门通行证;而到了后来,“还在写 jQuery” 甚至变成了一句轻微的嘲讽。

与此同时,浏览器本身也在进化。 现代浏览器吸取了 jQuery 的精髓,推出了原生的 querySelectorAllclassListfetch API。曾经需要依靠 jQuery 才能实现的跨浏览器功能,现在一行原生代码就能轻松解决。

那个叫 “You Might Not Need jQuery”(你可能不需要 jQuery 了) 的网站开始流传,大家似乎都在急着和这位曾经的老英雄告别。

66% 的网站,依然在默默感谢它


然而, jQuery 真的死了吗?答案可能会让你大吃一惊。

根据 W3Techs 的最新统计数据,直到今天,全球依然有超过 66% 的网站在运行着 jQuery

图片

无论是支撑着半个互联网的 WordPress、Drupal,还是经典的 Bootstrap 框架,底层依然流淌着 jQuery 的纯正血液。它就像埋在现代 Web 建筑最地下的基石,虽然不再显眼,却依然无比稳固地承载着无数站点的运转。

更重要的是,技术圈对它的评价正在从“盲目摒弃”走向“理性致敬”。

在 Docker 的技术博客里,在 Alex MacArthur 那篇著名的《别再把讨厌 jQuery 当成一种潮流》文章里,越来越多的开发者开始反思:

我们今天所享有的优雅 API、响应式设计和繁荣的前端生态,哪一个不是站在 jQuery 奠定的基石之上呢?


结语:致敬那个“有趣”的时代


从 2006 到 2026,二十载弹指一挥间。

今天,由 OpenJS 基金会和全球社区共同维护的 jQuery,依然以 MIT 协议开源免费地欢迎着全球开发者。

John Resig 当年在 BarCamp 讲台上说的“让编写 JavaScript 变得有趣”,也早已经变成了现实。jQuery 未必是今天技术选型的第一选择,但它用二十年时间完成了一场伟大的布道:它让技术的门槛退让于人的创造力。

让我们一起致敬 jQuery,致敬每一个曾被 $('#app') 惊艳过的夜晚,也致敬那段充满热情、粗糙却无比有趣的互联网金典时代!

作者:聆听音乐的鱼

评论

我要赞赏作者

请扫描二维码,使用微信支付哦。

分享到微信