AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

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:002118
用户头像

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

关注

评论

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

ByteHouse技术白皮书正式发布,云数仓核心技术能力首次全面解读(内附下载链接)

字节跳动数据平台

数据仓库 云原生 白皮书 数据存储 企业号 4 月 PK 榜

音视频处理MCP:视频添加字幕

百度开发者中心

视频 音视频开发 智能视频

系统天气再现bug 网友:墨迹天气赶紧上!

极客天地

Reactor线程模型的演进和局部无锁化

做梦都在改BUG

生物计算大模型技术在药物研发领域的应用

百度开发者中心

人工智能 文心 ERNIE 生物医药

火山引擎DataLeap:3小时分享,体系化讲透企业数据治理如何做?

字节跳动数据平台

活动 数据治理 论坛 数据研发 企业号 4 月 PK 榜

新浪顶级架构师保驾护航!国内首本大型分布式架构笔记浴火新生

做梦都在改BUG

Java 架构 分布式

目前led显示屏厂家存在的问题

Dylan

制造 行业 LED显示屏

基于 Flink ML 搭建的智能运维算法服务及应用

Apache Flink

大数据 flink 实时计算

远程调试为何要亲历现场,也许也可以这样解决

石臻臻的杂货铺

远程调试

国产数字化升级工具强势来袭,瓴羊Quick BI工具免费试用

对不起该用户已成仙‖

物联网核心套件IoTCore:设备状态数据存储到时序数据库TSDB

百度开发者中心

物联网

阿里工作10年,我总结出了这份1071页Spring全家桶核心笔记

三十而立

从Spring的AOP看Synchronized锁失效和事务失效的情况

做梦都在改BUG

Apache Paimon 在同程旅行的探索实践

Apache Flink

大数据 flink 实时计算

深度学习基础入门篇[二]:机器学习常用评估指标:AUC、mAP、IS、FID、Perplexity、BLEU、ROUGE等详解 1.基础指

汀丶人工智能

人工智能 机器学习 深度学习 算法评价指标

6步带你用Spring Boot开发出商城高并发秒杀系统

华为云开发者联盟

高并发 开发 华为云 华为云开发者联盟 企业号 4 月 PK 榜

Serverless冷启动:如何让函数计算更快更强?

华为云开发者联盟

云原生 后端 华为云 华为云开发者联盟 企业号 4 月 PK 榜

从零学习SDK(2)SDK的基本概念和组成部分

MobTech袤博科技

Flink SQL 在美团实时数仓中的增强与实践

Apache Flink

大数据 flink 实时计算

一键快速切换工具:One Switch 1.29中文版

真大的脸盆

Mac Mac 软件 切换工具 一键切换

2023 年金三银四最新版 Java 面试八股文教程,涵盖 25 大专题:Java 基础 +spring 全家桶 + 大数据 + 网络 + 设计模式 + 算法

三十而立

LeetCode题解:136. 只出现一次的数字,哈希表,JavaScript,详细注释

Lee Chen

JavaScript LeetCode

音视频处理MCP:视频版权保护

百度开发者中心

音视频 智能视频 视频版权保护

“阿里味”GitHub上新软件架构设计与业务架构融合手册

做梦都在改BUG

Java 架构 架构设计

云原生月报丨阿里云云原生月度动态(202303)

阿里巴巴云原生

阿里云 云原生 月报

一文快速了解火山引擎A/B测试平台

字节跳动数据平台

大数据 AB testing实战 A/B 测试 企业号 4 月 PK 榜

2023年成都.NET线下技术沙龙来了!大咖分享,报名从速

MASA技术团队

.net dapr MASA

深入探索Go语言的unsafe包,揭秘它的黑科技和应用场景!

王中阳Go

golang 高效工作 面试题 黑科技 Go 语言

生成式AI已形成全球性“AI再造业务”趋势

百度开发者中心

#人工智能 文心一言 文心一格

硬核!互联网资深大佬手码高并发编程速成笔记(2023版)限时开源

三十而立

Java IT java面试

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