Closed linhe0x0 closed 3 years ago
原文链接 : jQuery 3.0: The Next Generations 原文作者 : Dave Methvin 译文出自 : 根号三的博客 译者 : sqrthree(根号三)
2014年10月29日,jQuery 官方博客上更新了一篇博文,描述了关于下一代 jQuery 的一些信息。实际上这篇博文至今都已经一年时间了,jQuery 官方团队也早在2015年7月13日发布了 jQuery 3.0.0-alpha1 版本。我之前也只是匆匆的看过一遍,今日闲着无事,就尝试翻译了一下并发布了这篇迟到了一年的译版,想要了解 3.0 中的新特性的话可以关注我后续的更新。
jQuery 3.0.0-alpha1
3.0
很难相信从 jQuery 发布以来已经过去八年了,过去的这些年 Web 开发已经改变了很多, jQuery 也随之变化着。在这个过程中,团队一直在保持对旧代码的兼容性和支持目前最好的 Web 开发实践之间努力平衡着。
jQuery
其中最好的做法就是语义化版本,或者简单的称之为 semver,从实践的角度看,semver 给了开发者(以及构建工具) 一个避免由于切换软件版本导致的风险的方法。版本号为 MAJOR.MINOR.PATCH 的格式,并且其三个组成部分均为整数。在semver 中,如果 MAJOR 改变了,就意味着在 API 中出现了不兼容的改变,因此开发者们需要当心。
MAJOR.MINOR.PATCH
MAJOR
在 jQuery 中版本控制变得更加微妙,(对 jQuery 来说) 浏览器的兼容性和 API 的兼容性同等重要。为了创造一个 “苗条” 的 jQuery ,团队在2013年开始放出了两个版本。第一个版本保持着 1.x 的编号,当前(截止到原文发布时)最新版本为 1.11.1,其保持了最大数量的浏览器兼容性。第二个版本从 2.0.0 开始,目前是 2.1.1,为了精简代码,放弃了对 IE8及其以下版本浏览器的支持。1.x 和 2.x 版本的 jQuery 都有着相同的公开 API,尽管他们在内部实现上有一些不同。
我们的下一个版本将会使用一种全新的命名方式。像之前一样,仍然会有两个不同的发布文件。现在的 1.11.1 版本的继任者将被称之为 jQuery Compat 3.0。jQuery 2.1.1 则将由 jQuery 3.0来接替。在 npm 和 Bower 上(译者注: 这是目前非常流行的前端包管理工具),它们会是两个不同的包,但它们会共享同一个版本号,来说明它们在API层面上的行为是一致的。
1.11.1
jQuery Compat 3.0
jQuery 2.1.1
jQuery 3.0
npm
Bower
这次版本发布之后,我们也将调整对浏览器的支持策略。主 jQuery 包将继续保持短小精悍,并且只支持在发布之时广泛使用的常青浏览器(evergreen browsers 指的是特定浏览器的当前和此前的若干版本)。我们也会根据市场份额在这个包的基础上支持更多的浏览器。而 jQuery Compat 包则提供更广泛的浏览器支持,但是付出的代价就是文件变得很大,执行效率也会低一些。
jQuery Compat
尽管这一次版本号跳跃很大,但是对于大多数 jQuery 代码来说,我们不期望造成很多的代码迁移问题。我们在这次版本升级中可是符合 semver 中的好公民的标准的。诸如像移除已废弃的方法这样的改变会被新版本的 jQuery Migrate 插件检测出来,这样一来,发现并且修复他们就变得容易多了。我们也会在将来的博客文章中讨论这些变化中的更多细节。
semver
jQuery Migrate
下面就是一些 jQuery API 3.0 版本要说的内容:
jQuery API
IE8, Opera 12, Safari 5
jQuery-Compat 3.0.0
HTML
web
jQuery 3.0.0
未来每一个版本发布的时候,我们都会同时放到 npm 和 bower 上。两个包也会以单个文件的形式在 jQuery CDN 上提供。在那里使用他们和根据你自己的需要去包含 jquery-compat-3.0.0.js 或jquery-3.0.0.js 一样简便。我们也和 Google’s CDN 的运营人员谈过,他们也会为这两个包提供支持。
bower
jQuery CDN
jquery-compat-3.0.0.js
jquery-3.0.0.js
随着我们在3.0版本方面工作的推进,我们会向所有人告知代码变更、浏览器支持等一切细节的更新。敬请期待吧!
本文根据 Dave Methvin 的《jQuery 3.0: The Next Generations》所译,整个译文带有自己的理解与思想,如果译得不好或有不对之处还请同行朋友指点。如需转载此译文,需注明英文出处:http://blog.jquery.com/2014/10/29/jquery-3-0-the-next-generations/ 相关链接 jQuery 3.0.0-alpha1: https://code.jquery.com/jquery-3.0.0-alpha1.js jQuery compat 3.0.0-alpha1: https://code.jquery.com/jquery-3.0.0-alpha1.js
本文根据 Dave Methvin 的《jQuery 3.0: The Next Generations》所译,整个译文带有自己的理解与思想,如果译得不好或有不对之处还请同行朋友指点。如需转载此译文,需注明英文出处:http://blog.jquery.com/2014/10/29/jquery-3-0-the-next-generations/
2014年10月29日,jQuery 官方博客上更新了一篇博文,描述了关于下一代 jQuery 的一些信息。实际上这篇博文至今都已经一年时间了,jQuery 官方团队也早在2015年7月13日发布了
jQuery 3.0.0-alpha1
版本。我之前也只是匆匆的看过一遍,今日闲着无事,就尝试翻译了一下并发布了这篇迟到了一年的译版,想要了解3.0
中的新特性的话可以关注我后续的更新。正文开始
很难相信从
jQuery
发布以来已经过去八年了,过去的这些年 Web 开发已经改变了很多,jQuery
也随之变化着。在这个过程中,团队一直在保持对旧代码的兼容性和支持目前最好的 Web 开发实践之间努力平衡着。其中最好的做法就是语义化版本,或者简单的称之为 semver,从实践的角度看,semver 给了开发者(以及构建工具) 一个避免由于切换软件版本导致的风险的方法。版本号为
MAJOR.MINOR.PATCH
的格式,并且其三个组成部分均为整数。在semver 中,如果MAJOR
改变了,就意味着在 API 中出现了不兼容的改变,因此开发者们需要当心。在
jQuery
中版本控制变得更加微妙,(对 jQuery 来说) 浏览器的兼容性和 API 的兼容性同等重要。为了创造一个 “苗条” 的jQuery
,团队在2013年开始放出了两个版本。第一个版本保持着 1.x 的编号,当前(截止到原文发布时)最新版本为 1.11.1,其保持了最大数量的浏览器兼容性。第二个版本从 2.0.0 开始,目前是 2.1.1,为了精简代码,放弃了对 IE8及其以下版本浏览器的支持。1.x 和 2.x 版本的jQuery
都有着相同的公开 API,尽管他们在内部实现上有一些不同。我们的下一个版本将会使用一种全新的命名方式。像之前一样,仍然会有两个不同的发布文件。现在的
1.11.1
版本的继任者将被称之为jQuery Compat 3.0
。jQuery 2.1.1
则将由jQuery 3.0
来接替。在npm
和Bower
上(译者注: 这是目前非常流行的前端包管理工具),它们会是两个不同的包,但它们会共享同一个版本号,来说明它们在API层面上的行为是一致的。这次版本发布之后,我们也将调整对浏览器的支持策略。主
jQuery
包将继续保持短小精悍,并且只支持在发布之时广泛使用的常青浏览器(evergreen browsers 指的是特定浏览器的当前和此前的若干版本)。我们也会根据市场份额在这个包的基础上支持更多的浏览器。而jQuery Compat
包则提供更广泛的浏览器支持,但是付出的代价就是文件变得很大,执行效率也会低一些。尽管这一次版本号跳跃很大,但是对于大多数
jQuery
代码来说,我们不期望造成很多的代码迁移问题。我们在这次版本升级中可是符合semver
中的好公民的标准的。诸如像移除已废弃的方法这样的改变会被新版本的jQuery Migrate
插件检测出来,这样一来,发现并且修复他们就变得容易多了。我们也会在将来的博客文章中讨论这些变化中的更多细节。下面就是一些
jQuery API
3.0 版本要说的内容:IE8, Opera 12, Safari 5
等,请使用jQuery-Compat 3.0.0
版本。我们建议大多数网站都使用这一版本,因为它为网站的来访者提供了最好的兼容性支持。HTML
的应用以嵌入一个web
视图(例如: PhoneGap,Cordova),你预先知道其使用的是哪一个浏览器解析引擎, 那就使用jQuery 3.0.0
吧。jQuery
插件中拥有最好的兼容性。未来每一个版本发布的时候,我们都会同时放到
npm
和bower
上。两个包也会以单个文件的形式在jQuery CDN
上提供。在那里使用他们和根据你自己的需要去包含jquery-compat-3.0.0.js
或jquery-3.0.0.js
一样简便。我们也和 Google’s CDN 的运营人员谈过,他们也会为这两个包提供支持。随着我们在3.0版本方面工作的推进,我们会向所有人告知代码变更、浏览器支持等一切细节的更新。敬请期待吧!