蓝盟IT小贴士,来喽!
但是,jQuery经受住了时间的考验,实际上直到最近一直在逐年增加。 对此,jQuery的开发者Michagobiowski-owczarek分享了他的意见。
名字太长了,以后简称他MGO吧。
MGO是上个月在OpenJS博客上发表的两篇文章的作者,提到了jQuery正在进行的现代化工作。
在第一篇文章中,我们发表了建立在新版本的jQuery UI ui ——的jquery核心库之上的用户界面库。 这将成为项目的最终版本。 这意味着在jQuery UI之后将不再有大的迭代,并保持维护状态。
第二篇文章宣布废除jQuery Mobile。 这是jQuery的另一个子项目,为移动浏览器提供基于HTML5的用户界面系统。
但是,这两个项目的结束都不会影响jQuery当前的主项目,即jQuery Core。 这意味着短时间内不会消失在大众的视野中。
WordPress
虽然jQuery现在被大量使用,但是现在的开发人员可能连使用jQuery都没有意识到。 因为它被纳入了许多大型开源项目中。 ——中最有名的是WordPress。
许多WordPress的主题和插件依赖于jQuery。 jQuery库也是目前最流行的JavaScript框架和工具包(如4.0和更高版本)的基础层。
其实,大多数网站不需要复杂的开发框架。 它们大多是有一些动态行为的静态网站。 这样的网站通常用WordPress编写。 因为jQuery简单有效,所以在这个场景中也很流行。
而且,在今后很长一段时间内,jQuery将继续是WordPress的一部分。 因为在不损害后方互换性的情况下很难删除。
随着时间的推移,魔兽世界一定会逐步更新其技术,但这应该是一个渐进的过程。
但是,在WordPress社区中已经出现了一些反对的声音,在WordPress主题中使用jQuery对性能的影响成为了热门话题。GMO又问:“jQuery死了吗? 这样的文章流传了很多年,至少现在还活跃在WordPress生态系统中。 如果有人建议开发者们替换它,风险会自负。
jQuery以前的角色
jQuery的创造者John Resig于2006年1月在BarCampNYC发表版本时,他写道:
此代码彻底改变了Javascript与HTML交互的方式。
他主要指的是jQuery让开发者更容易操作DOM。 要知道,这是谷歌浏览器逆袭之前,目前微软臭名昭著的互联网浏览器占据了85-90%的浏览器市场,其中IE6占主导地位。 即使在当时,IE6也作为历史上最差的浏览器而闻名。
Resig还在2006年6月的帖子中指出了JavaScript开发者在浏览器中遇到的几个问题:
JavaScript有很多问题,其中大部分是由浏览器的不兼容性引起的。 此外,还需要解决标准化事件处理、DOM节点选择和动画渲染等问题。
这正是Resig着手解决的问题。 当时“大4”领先的JavaScript库是Dojo、MochiKit、Prototype/Scriptaculous和雅虎ui。
所以基本上,jQuery的发明主要是为了帮助开发者应对当时浏览器的不足。
jQuery的当前角色
现在,在各种易用的浏览器都符合Web标准的情况下,jQuery现在在Web上扮演的角色是什么?
另外,JavaScript标准本身在过去的十年中也有了很大的改善。 特别是在2015年ECMAScript 6发表之后。
目前,React已成为当今最受关注的JavaScript库。 许多现代框架,特别是Next.js,都建立在React之上。
其他常见框架(如Angular )有自己的库生态系统。 在当前的JavaScript框架中,还可以将UI分解为各种组件,从而更容易地扩展APP应用程序。
GMO在谈到Next.js和Angular时,做了如下陈述。
这些框架提供抽象,便于数据和视图之间的同步。 因此,用户不需要直接修改或访问DOM,通常不鼓励这样做。 在这种环境下,使用jQuery没有什么意义。 但这只是整个网络生态系统的一小部分。不过,GMO也承认jQuery可能存在大型APP性能问题。
这几年,我们大幅提高了jQuery的性能,但也有难以应对的问题。 其一,为了避免与浏览器冲突,jQuery不像其他库所做的那样修改本机原型,而是用jQuery包装器对象包装DOM节点。 此包装器对象是为每个操作新创建的。 在大多数情况下,这并不重要,但在DOM操作繁多的非常复杂的APP上可能会出现问题。
文/上海蓝盟 IT外包专家