http://www.itjxue.com  1970-01-01 08:00  来源:  点击次数: 

如何替代 jQuery

先进的浏览器已经将很多 jQuery 的优点吸纳为原生实现了。

有些轻量级的框架可以替代常用的部分,比如 NodeList.js()

jquery 会被vue,react,angular替代吗

前端越来越混乱了,当然也可以美其名曰:繁荣。

当新启动一个前端项目,第一件事就是纠结:使用什么框架,重造什么轮子?

那么,希望看完此篇,能够给你一个清晰的认识,或者让你更加地纠结和无所适从 = =!

本篇拿一注册功能作为样本,使用各种框架去实现功能,从而对比各种方式的优劣。

1.jquery依然依靠丰富的dom操作去组合业务逻辑,当业务逻辑复杂的时候,每行代码都会有不知所云的感觉。因为:

第一:业务逻辑和UI更改该混在一起,

第二:UI里面还参杂这交互逻辑,让本来混乱的逻辑更加混乱。

当然第二点从另一方面看也是优点,因为有的时候UI交互逻辑能够更加灵活地嵌入到业务逻辑,这在其他MV*框架中都是比较难处理的。

2.vuejs非常小清新,小清新不代表做不了复杂的东西,比如官方的这个demo就不错:

3.reactjs代码量最多,因为它既要管理UI逻辑,又要操心dom的渲染。

4.extjs是唯一一个让User和View解耦,通过事件回调去关联起来。也可通过watch去实现双向绑定。

5.angularjs没用过,无感。

记得当年做silverlight、WPF的时候OnPropertyChanged不都是自己管理的吗?全都包起来真的好吗?

就这么多。

至于他们的不同,可以参考:

react完全代替jquery使用好不好

不建议抛开jquery, jquery有海量的用户和他简单、好用的api分不开的,基本每个前端开发都会jquery。而react在组件化开发中更有优势,但是react并没有提供兼容或者底层封装好的api,比如ajax。

所以react组件化开发的时候搭配jquery会更有效率。

为什么bootstrap要放弃jQuery,jQuery不适合现代的web开发了吗?

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

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

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

(责任编辑:IT教学网)

更多
上一篇:没有了

推荐CMS技巧文章