为啥Jquery被淘汰了?

摘要: 技术进步永不止步。

Fundebug经授权转载,版权归原作者所有。

jQuery的成就

jQuery是一个伟大的库,

  • 它解决了dom api兼容的问题,使得dom操作更简便
  • 它支持类似css选择器的方式来选择组件
  • 支持批量的操作数组中的元素,也叫隐式迭代
  • 支持链式操作,可以在一条语句中完成很复杂的逻辑
  • 有易于使用的插件扩展机制
  • deffered的异步方案比promise更早。

等等。

jquery可以说在dom操作领域做的很棒了,几乎统治了一个时代,甚至影响了w3c,dom api中的querySelector就有jq的影子。

但是,如今使用jq的公司越来越少了,但这并不是说在dom操作领域有更好地库,而是因为mvvm的出现。

mvvm的出现

dom操作是业务无关的逻辑,不应该出现在业务的代码中,虽然使用jq简化了很多,但是代码依然是难以维护和复用的,直到mvvm的出现,把数据和视图的绑定变成了自动化的操作,进而把dom操作从业务代码中移除。业务代码因此变得更加的纯粹,也更容易复用。

技术的发展规律

其实,技术的发展趋势就是追求更高的复用性,更简便的业务代码写法,所以最终都会要求跨平台、都会彻底分离非业务逻辑。

jvm上的语言持续的火了10多年,java长期霸占语言排行榜榜首,很大的原因就是因为jvm的跨平台,这是技术发展的趋势,就像node的libuv平台层、react的vdom、游戏引擎的多端打包等一样,随着各种端和平台越来越多,跨平台几乎是对一个新技术基本的要求。

业务代码应该是纯粹的,任何业务代码都应该独立出去作为可复用资源而存在。比如dom操作的代码很多时候是业务无关的,所以mvvm实现了自动的绑定之后,逐渐的成为主流,jquery不符合这个趋势,所以也逐渐走向没落。

jQuery的没落

jQuery在dom操作领域已经做得很好了,但是它不符合技术发展的一般规律,所以最终肯定是会被取代的,就像大润发战胜了所有的对手,却在互联网时代被阿里收购一样。只是因为它做事情的方式不是最佳的,对开发效率和代码复用性的追求最终导致了jquery的淘汰。

从jquery帝国一统,到如今mvvm诸雄割据,对效率和代码复用性的要求对技术做出了选择,顺应这个趋势的技术才能长盛不衰。

jQuery战胜了dom操作领域的所有对手,只是输给了时代。

关于Fundebug:

Fundebug专注于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了7亿+错误事件,得到了Google、360、金山软件、百姓网等众多知名用户的认可。欢迎免费试用!

评论 ( 6 )
最新评论
Fundebug 4F 17 天前 6F

要淘汰美元是不可能的,这辈子都不可能...

hugeannex 1F 21 天前 5F

对的。能画能力。跨dom操作,mvvm更是致命。

hugeannex 21 天前 4F

哪淘汰了?谁淘汰的?从没听说过!我很少用,但我也没说人家淘汰了!我没用过美元,难道美元淘汰了?

张国旺 2F 21 天前 3F

就是就是,真要jq来做mvvm的事,只要扩展一个jquery.viewModel.js

q889518 22 天前 2F

不是一个量级的东西,而你的大部分不用jq哪里得来的数据,起码我的朋友圈都是程序员99.9%的都是用JQ
一看楼主就是不知道在哪复制来的

张国旺 22 天前 1F

为mvvm开路,也不能踩着jQuery吧,两个不是一回事。
jQuery 有 ajax 貌似可以做 mvvm 交互的事
但 jQuery 本质上不是为前后台交互而生的。
jQuery 重点在 DOM 对象集合存放到 jQuery 对象中。更方操作DOM
更多的是为用户体验方面做着特效支持。如:事件 动画 等
而mvvm在这方面是没有能力的。