【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

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

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

关注

评论

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

深入理解并发编程艺术-内存模型篇

Java并发 内存模型 Java内存模型 多线程高并发 高并发编程

强化学习从基础到进阶-案例与实践[5]:梯度策略、添加基线(baseline)、优势函数、动作分配合适的分数(credit)

汀丶人工智能

人工智能 深度学习 强化学习 6 月 优质更文活动

Wise 的平台工程 KPI 探索之旅

快乐非自愿限量之名

KPI 平台工程 wise

镭速——简单、快速、自动备份数据到云端

镭速

3DCAT实时云渲染助力上海市乡村振兴可视化平台,展现数字乡村的魅力

3DCAT实时渲染

云渲染 数字孪生实时云渲染

2023-06-25:redis中什么是缓存穿透?该如何解决?

福大大架构师每日一题

redis 福大大架构师每日一题

OSPFv3:第三版OSPF除了支持IPv6,还有这些强大的特性!

wljslmz

OSPF 6 月 优质更文活动

智慧垃圾分类处理3D可视化系统

2D3D前端可视化开发

智慧环卫 智慧垃圾处理 智慧垃圾分类 智慧环保

低代码应用搭建平台,基于低代码快速开发管理系统

互联网工科生

低代码 低代码开发 JNPF

超越极限!80Gbps高速传输,让您的数据瞬间飞速传递

镭速

一文了解Java低代码开发平台

互联网工科生

Java 低代码 JNPF java低代码开发平台

前端如何入门 Go 语言

高端章鱼哥

前端 Go 语言

数字孪生城市革命!低代码开发平台引爆智慧未来

EquatorCoco

低代码 低代码开发 数字孪生城市

AI+低代码:解密AI赋能,释放创新力量!

快乐非自愿限量之名

AI 低代码

利用Flutter和小程序容器打造更强大的用户体验

FinFish

flutter 小程序 跨端开发 小程序容器 跨端框架

AWS 亚马逊云科技 1 亿美金入局AIGC,哪些AI云服务已经可以对标微软、谷歌?

B Impact

国外主机引领你的网站征服全球!

一只扑棱蛾子

国外主机

实录分享 | Alluxio Operator一体化部署方案

Alluxio

分布式 operator Alluxio 大数据 开源 容器化部署

谷歌推出“能讲会听”的大语言模型 AudioPaLM,实现语音理解和生成

Zilliz

谷歌 AIGC 大语言模型

建筑产业变革肇始,华为提笔写下新《营造法式》

脑极体

全屋智能

集团公司该如何构建信息化系统?

优秀

信息化系统

2023年度解决方案大奖花落用友,人才发展解决方案备受瞩目

用友BIP

数智人力

强化学习从基础到进阶-常见问题和面试必知必答[5]::梯度策略、添加基线(baseline)、优势函数、动作分配合适的分数(credit)

汀丶人工智能

人工智能 深度学习 强化学习 6 月 优质更文活动

从幕后走到台前!过去十年,我们在阿里云如何建设可观测体系?

阿里巴巴云原生

阿里云 云原生 可观测

浅谈全面预算在交通运输与物流行业的应用

用友BIP

全面预算

SOFAStack 的下一个五年

SOFAStack

开源 SOFA 程序员 java

EMQ & 明道云:零代码高效构建工业物联网设备管理平台

EMQ映云科技

IoT 工业物联网 明道云

App Store——OpenAI 的MaaS模式或将上线,与Microsoft、Salesforce 争To B客户

B Impact

C语言中.与->的用法介绍

攻城狮Wayne

官宣!2023云原生编程挑战赛正式启动

阿里巴巴云原生

阿里云 云原生 云原生编程挑战赛

Java并行流指北

javalover123

并行 Java' 并行流

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