jQUery的现状与未来

之前在网络上看到这篇文章,引在此处分享一下

2018年7月25日,Mislav Marohnić发了一条推文,宣布GitHub.com前端已经彻底删除了jQuery。而且,还自问自答地解释(低调炫耀),删除jQuery之后也没用其他框架,而是全部依赖原生API。

2018年7月27日奇舞周刊上推送了一篇文章:再见jQuery,我的老朋友,作者是07年最早翻译jQuery1.1文档的为之漫笔。由此可见jQuery在前端疯狂发展的背景下正缓慢的流失生命力。

jQuery的辉煌

jQuery最初诞生于2006年8月,作者是John Resig。10多年前,网页开发者(当时还没有“前端”这个概念)深受浏览器不兼容性之苦。以jQuery为代表的一批JavaScript库/框架应运而生:

  • Dojo
  • jQuery
  • MooTools
  • Prototype
  • Yahoo! User Interface Library (YUI)
  • Script.aculo.us

这些库有的像jQuery一样是主打通用性,比如Dojo、Prototype;有的则走更专业化的路线,比如YUI(组件化)和Script.aculo.us(动画交互)。从通用功能看,这些库大都提供了如下特性:

  • 语法糖:链式调用、实用函数
  • 选择元素:基于各种标准选择符和库自定义的选择符,以及通过回调进行筛选
  • 操作DOM:创建和操作元素,乃至各种属性操作
  • 处理事件:ready事件及各种注册和触发事件的方法,乃至委托
  • 动画:基于animate的CSS属性动画,以及内置动画方法
  • Ajax:封装原生的XMLHttpRequest API,简化请求方法及回调处理

一批宣传和推广这些库和框架的书籍相继面世,迅速推动了这些库的采用。2010年出版的DOM Scripting, 2nd(《JavaScript DOM脚本编程艺术(第2版)》)就是其中之一。这本书专门有一个附录,介绍当时流行的库,主推jQuery。

jQuery凭借其选择器方法、面向集合的链式调用、对事件和Ajax的完善支持、简单而强大的动效等独有优势,迅速风靡,成为几乎所有网站开发必备的JavaScript库,乃至开创了jQuery编程风格。

开发者选择jQuery的理由简单直接:

  • 跨浏览器
  • 简单高效
  • 稳定可靠
  • 插件丰富

2011年新版的“犀牛书”第6版——JavaScript: The Definitive Guide, 6th甚至拿出第19章整整64页篇幅隆重讲解了jQuery(“Chapter 19. The jQuery Library”)。

jQuery从此走向鼎盛和辉煌。后来,随着前端交互越来越重和移动应用的普及,jQuery UI、jQuery Mobile相继面世。

时至今日,jQuery仍然在支撑着数以千万计各种规模网站的运作——尽管聚光灯下已经不常看到她的身影。

历史的选择

最近10年,是“前端行业”有史以来发展最快的10年。

移动社交时代的到来不仅没有让桌面Web失色,反倒刺激了Web标准的迅猛改进。HTML5不仅带来了极大的向后兼容性,也带来了更丰富的原生DOM API。CSS从CSS3开始走上模块化的快车道,文本样式、排版布局、媒体查询,各种新模块让人目不暇接。

各大主流浏览器也在快速跟进,Firefox、Chrome、Opera、Safari、IE乃至Edge,都在积极重构甚至重写内核,争做支持Web标准的“楷模”。在这个大背景下,各大互联网公司不断调高兼容的IE版本号,从8到9到10,再到11。

当然,还有ECMAScript语言标准。自从划时代的ES6(ECMAScript 2015)发布之后,JavaScript终于真正开始摆脱“玩具”语言的尴尬境地。更重要的,从ES6起,ECMAScript也进入了快速迭代、每年发一版的节奏。ES7、ES8,以及ES9,每次都会给这门语言注入更强大的语言特性。

与此同时,Node.js和Babel等服务端运行时及转译工具的出现,也让前端工程化,以及向传统工业级软件开发最佳实践靠拢的速度日益加快。

2012年,图灵社区中一篇文章总结“JavaScript宝座:七大框架论剑”(http://www.ituring.com.cn/article/8108)。当时的“七大框架”是:

  • Backbone
  • Knockout
  • Spine
  • CanJS
  • Ember
  • AngularJS
  • Batman
  • Meteor

后来,谷歌主打SPA(Single Page Application,单页应用)的Angular终于一枝独秀。不久,脸书推出的“在JS里写HTML一样优雅”的React则一路高歌猛进。最终,集各家所长且简单易用的Vue横空出世。

前端开发已经从后“刀耕火种”时代的“农业文明”,逐渐进化为以大规模、可扩展、规范化、自动化为特征的准“工业文明”。

俗话说:“皮之不存,毛将焉附。”随着时代变迁、技术进步,jQuery赖以存在的环境正逐渐消失。如前所述,新的环境催生了一批框架新秀。曾经辉煌的jQuery终于走到了可以华丽谢幕的时刻。

尾声

如今,时移世易,jQuery即将谢幕,新一代组件化开发框架粉墨登场。然而,“太阳底下没有新鲜事。”不管是使用Angular,还是React,抑或是Vue,还是要真正理解它们背后的工作原理。

jQuery作为第一代前端库的优秀代表,成就了今天Web的繁荣,也成就了一代Web开发者。既不希望它离开,又希望它早点离开,这应该是很多早期接触jQuery的前端开发者的心声吧。

在这里引申知乎上流传的一句话:

jQuery以后会退出前端世界,但jQuery会长期存活在教科书里成为活化石一样的存在。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值