前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【思考】为何弃用jQuery?(下)

【思考】为何弃用jQuery?(下)

作者头像
林小帅
修改2019-09-10 09:30:22
1.4K1
修改2019-09-10 09:30:22
举报
文章被收录于专栏:林小帅的专栏

回想上一篇对于 jQuery 的文章已经是去年的时候了。

关于“下“的内容却迟迟没有动手,其中也有诸多事情干扰,也可以认为是借口,但我自己其实也是还没有想清楚该如何去说这个事。

既然是和前端相关,那么我们就先简单了解一下市场浏览器份额相关的数据。

太长不看版:

  1. 开发者和浏览器对于 jQuery 的依赖程度越来越低。
  2. Angular/React/Vue 三大框架也成为了前端工程师必会技能。
  3. 现代浏览器的发展实现了很多 DOM/BOM 的APIs,已经足够我们在生产中使用了。

01 - 2014

2014 年,此时浏览器的份额的大头还是属于 IE 阵营,占有率为 49.49%。当然 Chrome 也呈新兴之态占有率达到了 28.1% 蚕食了众多浏览器的大部分市场。而同年 2 月 尤雨溪(Vue.js 框架的作者) 开源了一个前端开发库 Vue.js。

Vue.js 是继 AngularJs(2009)、ReactJs(2013)之后的第三个 MVC 架构模式的框架。自此前端框架的派系就在无形之中建立了起来,有点三国鼎立的味道,同时也为未来的前端工程世界埋下一颗种子。

这时的市面上还是拥有大量正在使用的 jQuery 1.6.x/1.8.x 版本的项目和网站,但是 jQuery 光辉开始暗淡的里程也由此开始,虽然同年 5 月官方还发布了 jQuery 的 2.11 版本。

02 - 2015

然而就在一年之后 2015 年 IE 此时的市场份额开始下跌,Chrome 逐渐受到开发人员以及市场的喜爱,此时的 Chrome(35.12%) 与 IE(38.78%) 是平分秋色,当年6月JavaScript语言正式发布了新的标准(ECMAScript 6.0 简称 ES6),且正式命名为 ECMAScript 2015(ES2015)。新标准的出现,加速了设计和开发不分家的局面中独立出来,且市场上也开始出现了新的声音“You Don't Need jQuery”。

You Don't Need jQuery 库的出现无疑对 jQuery 是一个沉重的打击,它详细描述了哪些完全可以替代 jQuery 的方法,以及展示了部分新的现代浏览器支持的 APIs 的使用。其中作者在 README 中写道:

Frontend environments evolve rapidly nowadays and modern browsers have already implemented a great deal of DOM/BOM APIs which are good enough for production use. We don't have to learn jQuery from scratch for DOM manipulation or event handling.

大意是:如今现代浏览器的发展实现了很多 DOM/BOM 的APIs,已经足够我们在生产中使用了。对于 DOM 的操作或事件的处理,我们不再需要从头去学习jQuery。

ES6 的出现也给前端 MVC 架构模式的框架打了一剂强心剂,加入了 ES6 新特性的版本蓄势待发,而各大开发者社区对于 Angular/React/Vue 的讨论也日渐火热以至于后来产生了一个前端技术鄙视链,但这是后话了。

03 - 2016

而到了 2016 年,微软的一则宣告又将 IE 摆在了大众的眼前,然而这次宣告对于 IE 来说并不是一个好消息。《微软宣布在 1 月 12 日 起停止支持旧版本浏览器》这一则标题在开发者和媒体中掀起了一阵小高潮。但这最后的判决书已经下达,意味着陪伴了大众多年同时也遭开发者唾骂了多年的 IE 浏览器终于可以退出历史的舞台告老还乡了。

同年 IE 市场份额骤降至 29.05%,而 Chrome 则顺理成章的成为了浏览器市场份额的领军人物,但增长量并未提高太多 (39.49%)。那么 IE 丢失了的这部分的份额去哪里了呢?

打着双核模式的国内浏览器厂商借着此时大力推广了一波,其中 QQ、2345、搜狗、猎豹等纷纷蚕食了相当一部分的市场,而这部分市场是如何来的,大家想必都心里有数。

虽然刚刚经历了家主宣告的 IE 一下丢失了大部分市场份额,但是什么时候完完全全的消失在大众视野之中谁也不知道。IE 过往的经历太多深入人心,它的未来会不会像百足大虫死而不僵?没人知道。

那么 jQuery 呢?由于三大前端框架的流行程度不断提高,社区的活跃度也日益火爆,越来越多的项目开始转向使用这些框架。当然还有一部分项目在转型升级的过渡期中还保留着使用 jQuery

IE 的退休,现代浏览器的兴起,对新标准的支持以及前端开发框架的进化等,这些都让开发者们加速脱离了对 jQuery 的依赖。而 Angular/React/Vue 三大框架也成为了前端工程师必会的技能之一。

04 - 2017

2016 年底的一场“Chrome开发峰会”无疑不是将 Chrome 霸主地位昭示出来。并且同时在移动网络方面也开始大力发展支持,也提供了更多的对开发者的支持。

IE 的市场份额继续下降(24.42%)但还是没有大幅衰退,其中原因还是因为在操作系统的市场份额中 WIN7 占有的比例为 61.69%,其默认自带的浏览器版本还是为 IE 8/9 系列,其中 IE8 占有 10.01%,IE9 占有 9.50%,其他版本为 4.91%

2017 年 1 月 9 日 张小龙在《2017微信公开课Pro》上发布的小程序正式上线。其开发框架亦是 MVC 模式,其中页面部分使用了 XML 结构,且没有完整的浏览器对象,所以传统的 BOM/DOM 等 APIs 不存在导致 jQuery 在此毫无用武之地,进一步的被大量开发者摒弃。

05 - 2018

微软从 2015 年就将 Edge 作为 IE 的新内核预置在 WIN10 系统中,然而让 IE 死亡的行动从未停止。2018 年 3 月 微软宣布登陆iPad和安卓平板。这意味着Edge浏览器已经覆盖了桌面平台和移动平台。 虽然 Edge 出现之初对于 ECMAScritp 的支持度就达到了 72%,微软早已发出对 WIN7 的死亡通知但 WIN10 系统的推广也未能撼动 WIN7 的市场地位。

虽然 WIN10 系统的推广在市场占有率上不断攀升,但是这并不能挽回微软在浏览器市场上的颓势,于 2018 年底时微软宣布 Edge 的内核迁移为 Chromium 内核,最终微软还是无法阻挡现代浏览器的崛起。

IE 6 曾经的辉煌没人会忘记,而现代浏览器也有着一家独大的趋势,恍惚之间我在想现代浏览器的今天是否会重走 IE 当年的步伐?不过未来的事将由未来的人们去参与见证。

最后的结语

而如今开发者和浏览器对于 jQuery 的依赖程度越来越低,那么 jQuery 的未来会像 IE 一样衰亡然后退出历史的舞台吗?

我想 jQuery 并不会很快的失去它的光辉,在国内环境中还是拥有大量的老旧系统在使用着 IE 浏览器,至少还保证了 jQuery 在国内环境中还是占有一席之地,但这也不是应该乐观的因素。随着互联网大潮的侵袭,人们愈发倾向使用体验更好更人性化的产品,也迫使一些深入一线民众之中的企业、机构开始转变投入使用新的前端技术体系之中。

未来的结果我并不知道,但是随着时间的推进,我能看到的是在新的 ECMAScritp 标准不断完善的情况下 jQuery 的重要程度的确在下降,但不能否认的是它也确实是一个优秀的 JavaScript 库,曾经它的出现也确实帮助了不少开发者解决了众多兼容性或开发上的难题,它也值得被铭记。

如有一天我在工作中又需要使用到它的时候,我想我会和它说一声:

老朋友你好,老朋友再见!

参考来源:

百度统计-流量研究院: http://tongji.baidu.com/data/browser 微软官网公告内容: https://www.microsoft.com/zh-cn/windows/windows-7-end-of-life-support-information https://www.microsoft.com/zh-cn/microsoft-365/windows/end-of-windows-7-support https://support.microsoft.com/zh-cn/help/4057281/windows-7-support-will-end-on-january-14-2020 各关键词说明部分来自百度百科 数据统计数字来自百度统计

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 异域传真 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档