jQuery官方声明:jQuery 3.0和jQuery Compat 3.0
jQuery 3.0 —— 下一代的 jQuery
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以及以下浏览器的支持。无论是jQuery的1.x和2.x版本都具有相同的公开API,然而它们的内部实现是有所不同的。
我们的下个版本将使用不同的命名规则。正如之前,将有两个不同的发布文件。1.11.1的继承版本将成为jQuery Compat 3.0。jQuery 2.1.1的继承版本将为jQuery 3.0。在npm和Bower上会有两种不同的包,但它们通过共享相同的版本来表明它们具有相同的API的行为。
我们也会随着这些发布政策来重新调整我们的浏览器支持。jQuery发布时的主包会依旧保持小巧简洁来支持发布时的常规浏览器(特定浏览器的当前和以前版本)。依据市场份额,我们可能在这个包中支持额外的浏览器。jQuery兼容包提供了更广泛的浏览器支持,但文件尺寸会大一些并会有潜在的低性能风险。
除了大版本号的跳跃外,我们不会对目前jQuery代码做太多转变。我们想处理好版本的变更。一些变化诸如删除过时的方法的将被一个新版本的jQuery迁移插件检测到,这样更容易发现和修复它们。我们将在未来的博客中列出更多的修改细节。
下面就是一些jQuery API 3.0版本要说的内容:
- 如果你要兼容更广泛的浏览器,包括IE8,Opera 12,Safari 5等,使用jQuery-Compat 3.0.0包。我们推荐大多数站点使用这个版本,因为它为最多的网站访问者提供了最佳的兼容性。
- 如果你的网站是专为领先的浏览器搭建的,或者是一个webview(例如PhoneGap或Cordova)容器中的HTML应用,并且你知道哪些浏览器引擎会使用它,那就使用jQuery 3.0.0包。
- 除非我们宣布,否则,在相同的主次版本中这两个包将包含相似的公众API。这样开发者可以很容易在它们之间切换,并且会保持与第三方jQuery插件最大的兼容性。