【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

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

关注

评论

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

「新」春节新用户注册福利

InfoQ写作社区官方

InfoQ 牛年特别策划

大作业一

ray-arch

1.1w字,10图,轻松掌握 BlockingQueue 核心原理

马丁玩编程

阻塞队列 图解源码分析 JUC

第四次作业&第五次作业

yoki

Go 1.16新特性embed打包静态资源文件

八两

embed Go 语言

「大」极客时间新春充值福利活动

InfoQ写作社区官方

InfoQ 牛年特别策划

「春」写作平台春节精选话题

InfoQ写作社区官方

InfoQ 牛年特别策划

第四章作业(一)

LouisN

Kafka设计实现与最佳实践之客户端篇

梦朝思夕

kafka 客户端

「牛」鲲鹏会海报拜年,福利大放送

InfoQ写作社区官方

InfoQ 牛年特别策划

「快」2月春节不断更

InfoQ写作社区官方

InfoQ 牛年特别策划

阿里云第七代ECS云服务器: 整体算力提升40%

赵钰莹

Linux Lab 进阶: 自动化测试

贾献华

Linux 测试 Linux Kenel

如何用 4 个小时搭建一个新 “Clubhouse” ,引爆声音社交新风口

阿里云视频云

App 音视频 WebRTC RTC clubhouse

无责任畅想:云原生中间件的下一站

阿里巴巴云原生

容器 微服务 云原生 dubbo 中间件

Elastic query string search

escray

Lucene Elastic Search 七日更 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

【STM32】点亮LED

AXYZdong

硬件 stm32 2月春节不断更

解决Homebrew下载更新速度慢问题

现实中游走

homebrew

工具介绍 | 百度分布式配置中心BRCC正式开源

百度开发者中心

百度 开源

技术干货 | 基于Doris构建的小程序私域流量增长

百度开发者中心

百度智能小程序 百度 Doris

架构师训练营 2 期 大作业一

架构师 架构师训练营第2期

「乐」话题王者第二季,欢乐开赛

InfoQ写作社区官方

InfoQ 牛年特别策划

大作业二

ray-arch

SRT协议初识

Changing Lin

2月春节不断更

「吉」移动APP, InfoQ 春节不打烊

InfoQ写作社区官方

InfoQ 牛年特别策划

「产品经理训练营」第四章作业

Sòrγy_じò ぴé

产品经理训练营 极客大学产品经理训练营 产品训练营

产品经理训练营 -- 第四周作业

Denny-xi

产品经理 产品经理训练营

作业4

瑾瑾呀

LeetCode题解:74. 搜索二维矩阵,二分查找,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

XSKY助力湖南省交通规划勘察设计院有限公司IT架构转型

XSKY星辰天合

「年」InfoQ 编程语言2月排行榜

InfoQ写作社区官方

InfoQ 牛年特别策划

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