当前位置:新闻中心行业动态 → 正文

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

责任编辑:editor004 作者:Abel Avram |来源:企业网D1Net  2017-01-04 11:39:08 本文摘自:INFOQ

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

关键字:Polymer

本文摘自:INFOQ

x Polymer 2.0版本引入突破性改变,升级迁移已平滑过渡 扫一扫
分享本文到朋友圈
当前位置:新闻中心行业动态 → 正文

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

责任编辑:editor004 作者:Abel Avram |来源:企业网D1Net  2017-01-04 11:39:08 本文摘自:INFOQ

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

关键字:Polymer

本文摘自:INFOQ

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^