写点什么

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

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

关注

评论

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

Android和iOS应用程序加固方法详解:混淆、加壳、数据加密、动态加载和数字签名实现

以微模块+液冷重塑绿色智算中心,新华三亮相CDCC数据中心标准大会

Geek_2d6073

赋能自然语言处理的强大模型

百度开发者中心

nlp 大模型

糟糕!试用期被裁了

王磊

Java

软件测试/测试开发/人工智能丨从面试屡遭失败,到年薪28w

测试人

人工智能 软件测试

“数字创新产品课程” 2024年1月20-21日 · CSPO认证周末班【提前报名特惠】CST导师亲授

ShineScrum

ArcGraph 缓存的设计与应用实践丨技术解读

Fabarta

AI 图数据库 数据库缓存 AI基础设施

大模型时代的智能运维与部署

百度开发者中心

人工智能 nlp 大模型 LLM

汇总 | 一文了解常用的 NFT 数据分析平台

NFT Research

NFT 数据分析平台 NFT\ NFTScan

情感语音识别:挑战与未来发展方向

数据堂

引领Transformer时代的新型大模型架构

百度开发者中心

大模型 LLM

OpenHarmony之NAPI框架介绍

OpenHarmony开发者

Open Harmony

全国独家线下面授 | 上海大规模敏捷LeSS认证2024年3月14-16日开班

ShineScrum

基于 Flink SQL 和 Paimon 构建流式湖仓新方案

阿里云大数据AI技术

软件测试 |人工智能在软件测试中的崭新应用

测吧(北京)科技有限公司

测试

Curve v2.7 发布:支持 Hadoop SDK,助力大数据存储降本提效背景

OpenCurve

开源 文件存储 分布式存储 块存储

线上ES集群参数配置引起的业务异常案例分析

vivo互联网技术

性能 Elastic Search

软件测试/测试开发/人工智能丨多维度的测试场景覆盖

测试人

人工智能 软件测试

如何使用 CSS columns 布局来实现自动分组布局?

伤感汤姆布利柏

CSS 前端

情感语音识别:技术发展与未来趋势

数据堂

ITSS会议周丨新华三参编运维国标发布,探索技术服务发展新路径

Geek_2d6073

选择云服务器的五大考虑因素:性能、成本与安全性

一只扑棱蛾子

云服务器

大宗商品贸易集团数据治理实践,夯实数字基座 | 数字化标杆

袋鼠云数栈

数字化转型 数据治理 数据资产 数据开发 大宗贸易

HarmonyOS属性动画开发示例(ArkTS)

HarmonyOS开发者

HarmonyOS

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