4

jQuery 4.0_迈向现代 Web 的垫脚石

 2 months ago
source link: https://www.fly63.com/article/detial/12688
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
jquery 一度占据主导地位,它使 html 遍历、事件处理和 Ajax 变得轻而易举。尽管现代框架吸引了开发人员,但 jQuery 仍然在 WordPress 等领域占据主导地位。jQuery 4.0.0 Beta 版本是迈向尖端未来的微小但关键的一步。

经过慎重准备,jQuery团队终于发布了v4.0的beta版本!这个版本带来了错误修复、性能提升和显著变化,最值得注意的是放弃了对IE<11的支持,以更好地适应现代web标准。jQuery团队长期寻求的重大改进在jQuery 4.0.0 beta中得以实现,包括清除多余代码、淘汰已废弃的api、移除未发布的内部参数,以及简化过于复杂的“魔法”行为。

让我们来看看4.0版本带来了哪些更新。

再见,IE 10 

jQuery 4.0.0 Beta 中的一个显着变化是终止了 IE 10 支持。它反映了网络社区向高级浏览器属性的转变,淘汰旧的以促进进步。通过放弃旧的 IE 版本,jQuery 减少了代码并提高了性能。

修剪老化的 API 

随着网络的发展,一些 jQuery 策略变得过时了。jQuery 4.0.0 Beta 大胆地抛弃了这些陈旧的 API,这一举措对于保持库的新鲜度和快速性至关重要。开发人员被鼓励让旧代码焕发活力,拥抱新鲜的 jQuery 风格。

具体包括:

  • jQuery.cssNumber

  • jQuery.cssProps

  • jQuery.isArray

  • jQuery.parseJSON

  • jQuery.nodeName

  • jQuery.isFunction

  • jQuery.isWindow

  • jQuery.camelCase

  • jQuery.type

  • jQuery.now

  • jQuery.isNumeric

  • jQuery.trim

  • jQuery.fx.interval

如果您的代码使用了这些函数,请务必更新它,以使用相应的原生方法或替代函数,确保与jQuery的最新版本兼容。

  • 移除特定方法:jQuery 4.0移除了一些设计用于内部使用的数组方法,包括push、sort和splice。开发者应更新他们的代码,以使用标准数组方法代替。

  • 事件顺序变化:jQuery 4.0中focusin和focusout事件的处理顺序发生了变化,以符合最新的W3C规范。这可能会影响依赖旧顺序的插件或代码。新的顺序是:blur -> focusout -> focus -> focusin。

  • jQuery.ajax添加FormData支持:jQuery.ajax现在可以自动处理二进制数据,包括FormData,无需额外配置。

  • 移除JSONP自动转换:jQuery 4.0不再自动将dataType:“json”和提供的回调函数转换为JSONP请求。现在推荐使用CORS进行跨域交互,因为它在jQuery 4.0支持的所有浏览器中都有效。这有助于避免在不知情的情况下执行来自远程域的代码。

拥抱 ESM 

也许 jQuery 4.0.0 Beta 中最大胆的飞跃是它向 JavaScript 应用程序的现代标准(ECMAScript 模块)迈进。这种转变不仅促使开发人员利用当代 JavaScript 功能,而且还确保与现代构建工具和模块加载器的顺利集成。

虽然许多人可能会倾向于 reactvueangular 等框架,但 jQuery 的刷新具有象征意义。它标志着图书馆持久的相关性和发展,为其爱好者预示着一个具有前瞻性的时代。

受信任类型和CSP支持

jQuery 4.0现在支持受信任类型,允许使用包装在TrustedHTML中的HTML作为jQuery操作方法的输入,同时遵守内容安全策略的require-trusted-types-for指令。

此外,为了避免CSP错误,jQuery 4.0已将大多数异步脚本请求从使用XHR改为使用<script>标签。XHR仅在特定情况下继续使用(例如使用“headers”选项时)。对于需要支持IE11的情况,建议使用主构建版本或添加原生Promises的polyfill。

更精简的构建版本

jQuery 4.0的精简构建版本经过优化,移除了Deferreds和Callbacks,进一步减小了它们的大小(压缩到不到20k)。虽然Deferreds提供了一些原生Promises没有的功能,但在大多数情况下,可以代替使用原生Promises。对于需要支持IE11的用户,建议使用主构建版本。

jQuery发展历史

什么是jQuery?

jQuery是一个快速、简洁的JavaScript框架。它最初发布是为了简化JavaScript编程并提供跨浏览器兼容性。在web开发的早期,不同浏览器在JavaScript实现上有显著差异,这使得编写跨浏览器的JavaScript代码非常困难。jQuery旨在通过提供一致的API,使JavaScript编程简化,更容易开发跨浏览器代码。

jQuery的出现

jQuery的历史可以追溯到2005年,当时John Resig开始开发一个名为“Behaviour”的库,旨在简化JavaScript编程。然而,他发现这个库太大且过于复杂,于是决定开发一个更轻巧、用户友好的JavaScript库,这就是jQuery的原型。

2006年1月,John Resig宣布发布了他的库,命名为jQuery。初始版本已经支持CSS选择器、事件处理和AJAX交互,其独特的链式语法和简洁的多用途接口受到了广泛赞誉。随着版本的迭代,jQuery逐渐增加了对动画效果、插件扩展的支持,使得开发者在web开发中使用JavaScript变得更加容易。

jQuery的影响

jQuery对web开发产生了重大影响,使得JavaScript编程对开发者来说更加可接近,并显著提高了跨浏览器的兼容性。许多网站和web应用仍然依赖于jQuery,因为它的易用性、广泛的插件生态系统和对老旧浏览器的兼容性。

jQuery还有相关性吗?

随着React、Angular和Vue.js等现代JavaScript框架和库的崛起,一些开发者质疑jQuery在现代web开发中的相关性。然而,出于几个原因,jQuery在web开发中仍然有一席之地:

  • 遗留浏览器支持:许多网站和web应用仍需要支持如IE11这样的老旧浏览器,这些浏览器缺乏对现代JavaScript特性的支持。jQuery提供了一个桥梁,允许开发者编写在广泛的浏览器版本中都能工作的代码。

  • 易用性:jQuery的简洁语法和广泛的文档使得开发者易于学习和使用。对于web开发新手或那些更喜欢简单直接的JavaScript编程方法的开发者来说,jQuery仍然是一个吸引人的选择。

  • 插件生态系统:jQuery的广泛插件生态系统为开发者提供了大量预构建的解决方案,用于常见的web开发任务,如表单验证、图片滑块和AJAX交互。这个生态系统通过允许开发者利用现有解决方案而不是重新发明轮子,节省了开发者的时间和精力。

  • 与其他框架的集成:许多现代JavaScript框架和库,如React和Vue.js,可以与jQuery共存,允许开发者在利用其他框架的优势进行应用开发的同时,使用jQuery完成特定任务。这种灵活性使得jQuery即使在现代web开发环境中也是开发者工具箱中的宝贵工具。

尽管jQuery可能不再是前端开发领域的主导力量,但它在现代web开发中仍然有其位置,因为它对遗留浏览器的支持、易用性、广泛的插件生态系统和与其他框架的集成。随着jQuery 4.0 beta的发布,jQuery团队展示了他们保持jQuery在不断发展的web开发生态系统中相关性的承诺。

那么,你认为jQuery还有存在的意义吗?

链接: https://www.fly63.com/article/detial/12688


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK