写点什么

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

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

关注

评论

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

2024年本机一键验证登录最强指南已出,请查收!

MobTech袤博科技

为什么 80% 的码农都做不了架构师?

秃头小帅oi

10年产品经理教你快速提升消息推送的点击率

MobTech袤博科技

软件测试学习笔记丨自动化测试策略

测试人

软件测试 自动化测试 测试开发

10分钟说清楚,秒验一键认证除了快,还有哪些优点?

MobTech袤博科技

如何搭建企业级MQ消息集成平台

谷云科技RestCloud

ipaas MQ消息

海外云手机助力出海电商引流获客

Ogcloud

云手机 海外云手机 云手机海外版 电商云手机 跨境云手机

一文快速读懂消息推送的到达率、转化率和卸载率

MobTech袤博科技

K8s技术全景:架构、应用与优化

不在线第一只蜗牛

架构 Kubernetes 容器

开创加密资产新纪元:深度解析ERC-314协议

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

抖音、小红书都在用的秒验一键登录验证方式,到底好在哪?

MobTech袤博科技

iOS 开发中上传 IPA 文件的方法(无需 Mac 电脑)

哪个好人,2024年还在做push攻略科普啊!

MobTech袤博科技

聚道云连接器打通红圈CRM和金蝶云星辰,赋能环境科技公司数字化转型

聚道云软件连接器

案例分享

高维解码|Redis 收紧许可证!开源软件公司如何在云时代生存?

Zilliz

redis 开源 许可证 Zilliz 开源公司

都2024年了,你还不知道一键登录怎么选吗?

MobTech袤博科技

用three.js做一个3D汉诺塔游戏(下)

OpenTiny社区

前端 three.js

云手机提供私域流量变现方案

Ogcloud

私域运营 私域流量运营 云手机 海外云手机 跨境云手机

10年大厂运营大咖告诉你,如何有效应对消息推送厂商配额

MobTech袤博科技

20余年运维实践经验总结!一本书掌握数字化运维方法

嘉为蓝鲸

运维 数字化转型 运维管理 IT 运维

3分钟教你最大化利用APP消息推送(Push)在运营中的优势

MobTech袤博科技

秒验资深玩家熬夜整理的15个常见问题,拿走不谢!

MobTech袤博科技

内部人士揭秘:千万不要关闭手机一键登录验证

MobTech袤博科技

秒验:让APP验证和登录远不只是便捷

MobTech袤博科技

海外云手机:跨境电商引流的利器

Ogcloud

云手机 海外云手机 云手机海外版 国外云手机 跨境云手机

如何选择高防服务器?稳定性与安全性兼备

一只扑棱蛾子

高防服务器

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