为什么我在2019年仍在使用jQuery?

栏目: jQuery · 发布时间: 4年前

内容简介:许多人提倡“只使用vanilla JavaScript,你不需要jQuery”。其实我觉得许多JavaScript API - 特别是DOM API - 很糟糕。 el.insertAdjacentElement('afterend', other)无疑是有效的,但$(el).after(other)实际上是方便的,比DOM给我们的要好得多。标准JavaScript API中的许多常见操作都很尴尬;,你仍然需要辅助函数来执行各种常见任务。

许多人提倡“只使用vanilla JavaScript,你不需要jQuery”。

其实我觉得许多JavaScript API - 特别是DOM API - 很糟糕。 el.insertAdjacentElement('afterend', other)无疑是有效的,但$(el).after(other)实际上是方便的,比DOM给我们的要好得多。

标准JavaScript API中的许多常见操作都很尴尬;,你仍然需要辅助函数来执行各种常见任务。

添加任何依赖性都带来了复杂性和文件大小的成本,但jQuery并不是那么大:默认构建是30K缩小/压缩,如果没有ajax的自定义构建和不常见的只有大小23K,使用querySelector而不是SizzleJS的构建是17K 。原来的30K和优化的17K对于我来说似乎都是可以接受的。

你可以看一下 Bootstrap删除jQuery 的例子,说明使用vanilla JS需要付出多少努力:他们编写了自己的帮助器,不得不放弃IE支持,因为它太难添加,使得API不兼容(“我们打破了一切“),我花了一年半的时间研究它。如果我看一下最终结果,我真的不能说它好多了。

我理解他们为什么这样做; 人们想使用Bootstrap和Vue.js等等,使用Vue.js和jQuery有点傻。我非常赞成减少“网络臃肿” ,但我们需要务实和现实。包括~17K的jQuery真的那么糟糕吗?

有一些很好的理由不使用jQuery:如果你正在编写你想要被其他人重用的代码,或者你只是编写一个小函数。

使用“jQuery所有的东西”可能不是一个好主意,但也不是 “unjQuery所有的东西”。

我没有和jQuery结婚,我很乐意使用一个“jQuery light”,它可以修复JS API,更加可口。YMNJQ推荐使用 bonzo$ dom ,还有其他几个用于AJAX等等,但许多似乎没有维护。此外,每个人都已经知道了jQuery。为什么要用其他东西替换它,除非有令人信服的理由?

有些读者可能会想“关于Vue.js,React或其他一些现代框架呢?”这篇文章的目的是将vanilla JavaScript与jQuery进行比较,而不是提出一个Grand Unified Theory of Frontend Development 。

话虽如此,我认为有几个理由坚持使用简单的JavaScript; 主要是因为我想构建快速的网页,使用最简单的可行代码,并尽可能多的人访问。根据我的经验,服务器端生成的模板轻轻地撒上“渐进增强”风格的JavaScript通常是最好的方法。它通常更容易开发,往往更快,往往有更少的错误。

从根本上说,我认为网络是一个查看文档而不是操作系统的系统。即使对于许多“网络应用程序”(无论你的意思是什么),文档方法都能很好地工作。


以上所述就是小编给大家介绍的《为什么我在2019年仍在使用jQuery?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

500 Lines or Less

500 Lines or Less

Amy Brown、Michael DiBernardo / 2016-6-28 / USD 35.00

This book provides you with the chance to study how 26 experienced programmers think when they are building something new. The programs you will read about in this book were all written from scratch t......一起来看看 《500 Lines or Less》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具