BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Polymer 2.0版本引入突破性改变,升级迁移已平滑过渡

| 作者 Abel Avram 关注 7 他的粉丝 ,译者 Alina 关注 0 他的粉丝 发布于 2017年1月4日. 估计阅读时间: 3 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

Polymer 2.0版本用Custom Elements API v1替换了v0,弃用了Polymer.dom,并以Shadow DOM取而代之。不过这个升级迁移过程并没有看起来那么大难度,因为他们推出了一个兼容层,使得用Polymer 1.7+版本编写的代码能够在2.0版本中运行。

Polymer 1.+版本是基于Custom Elements API v0构建的。Custom Elements API v0使用document.registerElement()进行初始化自定义元素,现已被弃用。那么如何在Custom Elements API v1下创建新元素呢?Polymer 2.0版本改用customElements.define()进行创建。API的这个最新版本很快将被所有主流浏览器所支持。Chrome 54+已经实现了该API,Safari TP也已在使用,而Edge和Firefox对该API的支持工作也在进行中。(更多关于各浏览器对Custom Elements API v1的支持情况可以在这里找到。)与此同时,这个填充代码(polyfill)可以加强所有浏览器对自定义元素的支持。

Polymer 2.0版本的另一个重要改变是使用Shadow DOM v1代替Polymer.dom。有些浏览器已运行了Shadow DOM v1,有些则正在开发。Shady DOM从Polymer中分离出来作为填充代码。

在数据系统方面,Polymer 2.0版本推出了许多增强功能:对对象和数组不再进行脏数据检查(dirty checking),对数组的处理更加简单,以及对数据变更通知进行分批,

为避免这些突破性改变对系统造成损害,Google推出了一个兼容层,使得用Polymer 1.7+版本创建的自定义元素能够在2.0版本中运行。开发人员只需要“修改现有代码,使其在内容分布和样式上符合Shadow DOM v1 API的要求,同时适应在更改Custom Elements v1 API时导致的变更”。Polymer还引入了混合元素(hybrid elements)使其与Polymer1.x兼容。将来某一时刻,将有工具自动把Polymer 1.x创建的自定义元素转换为2.0。

Polymer 2.0版本使用ES6中的类语法(class syntax) 对自定义元素进行定义。Polymer 1.x版本中的工厂方法仍可以通过兼容层进行使用。

开发人员可以使用Polymer 2.0 Preview,但它现在还处于开发过程中,还不能被用于生产环境。Polymer 2.0 GA将于2017第一季度发布。

查看英文原文Polymer 2.0 Introduces Breaking Changes But the Migration Has Been Smoothed


感谢薛命灯对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

欢迎来到Polymer中文网! by Cris Liao

polymer-zh.cn/
这里有Polymer最新的更新消息和最全的文档内容。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

深度内容

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT