写点什么

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

  • 2017-01-03
  • 本文字数:1000 字

    阅读完需:约 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 )关注我们。

2017-01-03 18:001822
用户头像

发布了 22 篇内容, 共 48748 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

JVM的YGC,这次被它搞惨了!,rabbitmq实战指南pdf最新版

Java 程序员 后端

Kafka-探险---生产者源码分析---核心组件,Java数据库题目大全

Java 程序员 后端

Kubernetes 常用命令大全,linux入门经典书籍

Java 程序员 后端

Kubernetes 稳定性保障手册 -- 可观测性专题,今晚我们通宵学习SpringCloud

Java 程序员 后端

Kubernetes官方java客户端之七:patch操作,深入浅出Java

Java 程序员 后端

JPA基本使用,Java虚拟机学习集锦是我攒来的

Java 程序员 后端

JWT单点登录,小甲鱼数据结构百度云

Java 程序员 后端

kubebuilder实战之三:基础知识速览,Java学习的三个终极问题及学习路线规划

Java 程序员 后端

JVM类加载你真的【了解】了吗(1),网易的朋友给我这份339页的Java面经

Java 程序员 后端

Json的FastJson与Jackson,java阻塞队列原理

Java 程序员 后端

JSP、EL表达式、JSTL标签,rabbitmq源码分析持久化

Java 程序员 后端

JVM--运行时数据区与内存模型,java开发基础知识点

Java 程序员 后端

JVM性能优化(四)提高网站访问性能之Tomcat优化,java程序开发实用教程邱加永答案

Java 程序员 后端

JVM总体概述,java高级编程内容

Java 程序员 后端

kafka扫盲——别等面试官一问三不知了,linux操作系统教程

Java 程序员 后端

Jib使用小结(Maven插件版),Java程序员面试必备的知识点

Java 程序员 后端

JVM性能优化(三)G1垃圾收集器(1),java原理书籍

Java 程序员 后端

JVM探究:全面解析OOM异常,都在这了,mysql数据库基础与实例教程孔祥盛

Java 程序员 后端

Kafka 的 replica 同步机制(ISR与OSR列表数据相互转换)

Java 程序员 后端

JMX客户端及对commons-pool的监控,java工程师面试视频

Java 程序员 后端

JSP 标准标签库(JSTL),javaee教程视频

Java 程序员 后端

JVM性能优化(三)G1垃圾收集器,附大厂真题面经

Java 程序员 后端

JVM类加载你真的【了解】了吗,java项目面试题

Java 程序员 后端

Kafka的生产者原理及重要参数说明,Java码农是如何进入腾讯的

Java 程序员 后端

JNI开发之方法签名与Java通信(二),mongodb入门篇

Java 程序员 后端

krpano全景之内置函数---asyncloop roundval 等(不定期更新)

Java 程序员 后端

JVM 内存模型,百度笔试题百度校招面试经验

Java 程序员 后端

kotlin 如何解决 java 开发痛点,让程序员 happier,java中级程序员面试

Java 程序员 后端

kubebuilder实战之八:知识点小记,java面试具体场景的解决方案

Java 程序员 后端

kubernetes下的jenkins如何设置maven,java异步请求原理

Java 程序员 后端

jvm运行时内存是怎么分布的?,java多线程编程技术第二版下载

Java 程序员 后端

Polymer 2.0版本引入突破性改变,升级迁移已平滑过渡_开源_Abel Avram_InfoQ精选文章