NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

Polymer 0.8 带来了性能的提升,也包含破坏性的变更

  • 2015-04-12
  • 本文字数:1314 字

    阅读完需:约 4 分钟

Polymer 团队推出了 Polymer 0.8 的 alpha 版本,其中包含了“建议包括在 1.0 版本中的 API”,但同时它“与 0.5 版本中的 API 不相兼容”,存在着许多破坏性的变更。这个类库的新版本在文件尺寸和性能方面都得到了优化,而它的特性还没有全部完成。

Polymer 0.8 中包含了一个 _Shady DOM_ 特性,这是它自己实现的一套 Shadow DOM 的 polyfill,最初是由webcomponents.js所提供的。因此用户可以选择导入这个更小的webcomponents-lite.js文件,Shady DOM“对速度进行了优化“,并且希望避免“shadow DOM 这个 polyfill 所带来的复杂性、庞大尺寸、性能缺失以及侵入性。”

新版本中不再使用polymer-element标记,而是用dom-module标记取而代之,正如以下代码片段所表现的一样,它的作用是定义并注册某个元素:

复制代码
<dom-module id="hello-world">
  <style>
    div { color: red }
  </style>
  <template>
    <div>Hello World!</div>
  </template>
</dom-module>
<script>
  Polymer({is: "hello-world"});
</script>

原本在模板中的样式也被转移到模板之外了,正如以上示例所显示的一样。

Polymer 0.8 使用了一个单一属性集合的对象,以定义属性的观察者和计算属性。无论是否出现在属性对象中的所有属性都可以与数据进行绑定。由于使用了生成的属性访问器,因此数据绑定系统变得更易于使用,而调试也变得更简单和快速。在属性对象中的值域中定义了默认值,可以选择直接提供某个数值,也可以选择调用某个函数以返回数值。

复制代码
Polymer({
is: "my-component",
properties: {
observed: {
type: Number,
value: 100,
observer: 'observedChanged'
},
product: {
computed: 'multiply(x,y)'
}
}
});

要了解所有破坏性变更的完整列表,推荐阅读一下迁移指南中的内容。要重点指出的是,0.5 版本中的元素尚未完成移植,但在最终版本中会确定将所有元素移植。而关于对 0.5 版本未来的支持,该团队是这样说的

我们已经意识到目前有许多项目依赖于 0.5 版本中的功能,而且在所有的元素都完成移植之前,这些项目无法转而使用 0.8 版本。我们将持续关注新的 pull request 并进行合并,直至所有元素都完成移植为止。但是,我们目标是将 0.8 版本作为新的基准,全力打造这个高性能、适用于生产线上的新版本。如果 0.5 版本还有任何增量发布,只要有必要,我们都会通过一个新的分支发布该功能。

根据团队的基准测试结果来看,Polymer 0.8 的启动时间快了4 至8 倍,在Chrome 上也是如此。它的资源占用也有明显减少。如果想要深入了解0.8 版中的新特性,推荐你阅读一下开发者指南

有大量的的新特性是针对Polymer 1.0 版本而开发的,这些特性中有许多还无法运行,或只能部分运行,包括:内容体安全策略、支持手势、更好的Shady DOM 表现、跨scope 的样式、更多的模板特性、数据绑定调试工具、基准测试等等。在0.8 版本中已经支持了HTML 元素的继承,但对于扩展自定义元素的支持则推迟到了1.1 版本,原因在于“由于我们在0.8 版本中进行了一些性能方面的改进,变相造成了这一功能在新版本中的实现比起在0.5 版本中要面临更大的困难。”

查看英文原文: Polymer 0.8 Comes with Performance Improvements and Breaking Changes

2015-04-12 06:051808
用户头像

发布了 428 篇内容, 共 172.1 次阅读, 收获喜欢 38 次。

关注

评论

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

C语言编程语法—输入与输出

智趣匠

函数 输入输出 6 月 优质更文活动

百度推出高考搜索指数,最有“钱”景的专业你绝对想不到

科技热闻

GitHub星标20k+的Java指南,号称"Star收割机"

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

Github 上最值得学习的 Springboot核心笔记,硬核简直了

做梦都在改BUG

Java spring Spring Boot 框架

百度APP iOS端包体积50M优化实践(三) 资源优化

百度Geek说

ios 开发语言 Object-c 企业号 6 月 PK 榜 6 月 优质更文活动

阿里Java调优笔记爆火,7大模块优化实战,请查收

做梦都在改BUG

Java 性能优化 性能调优

GitOps 最佳实践(下)| 基于 Amazon EKS 构建 CI/CD 流水线

亚马逊云科技 (Amazon Web Services)

Kubernetes

快手严厉打击直播下收割麦行为:自媒体蹭热度不可违背公序良俗

石头IT视角

分析初识vue小案例

张三丰无极

6 月 优质更文活动

From Java To Kotlin 2:Kotlin 类型系统与泛型终于懂了

Seachal

Java android kotlin 泛型 类型

从Docker和Kubernetes看Containerd

鲸品堂

Docker 容器 Containerd 企业号 6 月 PK 榜

架构实战营模块 1 作业

銀色流星

架构实战营

K8S | 核心原理分析

Java Docker 架构 Kubernetes k8s

对线面试官-线程池(三)

派大星

Java 面试

关于前端,你都会什么?

MonkeyZz

前端

建立互联网可靠性工程体系框架的思路

阿泽🧸

可靠性工程 6 月 优质更文活动

如何轻松应对复杂的分布式系统日志收集和分析

xfgg

ELK 日志收集架构 6 月 优质更文活动

太赞了!阿里技术团队《Java 面试官手册》突击版对外开放!

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

对比才知差距!海尔“精华洗”用实验告诉用户

脑极体

海尔

基于STM32+NBIOT+华为云IOT设计的智能井盖

DS小龙哥

6 月 优质更文活动

重磅版本发布|三大关键特性带你认识 Milvus 2.2.9 :JSON、PartitionKey、Dynamic Schema

Zilliz

非结构化数据 Milvus Zilliz 向量数据库

2023-06-05:Redis官方为什么不提供 Windows版本?

福大大架构师每日一题

redis 福大大

DevOps| 研发效能团队和PMO团队如何合作共赢?

laofo

DevOps cicd 研发效能 持续交付 PMO

什么是死锁?它是如何产生的?

javacn.site

小程序容器技术助力数字门户拓展多样化服务

FinFish

跨端开发 小程序容器 小程序容器技术 数字门户 移动门户

什么是OSPF被动接口?如何配置?华为、思科、瞻博网络三厂商命令来了

wljslmz

OSPF 6 月 优质更文活动

Flink实例:电商用户行为实时分析

TiAmo

数据分析 电商 flink 实战 6 月 优质更文活动

京城传喜报:汨江源喜获2023第25届北京高端油博会“金奖”

科技热闻

WHATWG vs W3C

MonkeyZz

Docker技术架构概述

穿过生命散发芬芳

Docker 6 月 优质更文活动

GitHub霸榜4个月,鹅厂大牛手写SpringCloud实战笔记,雀食不一般

做梦都在改BUG

Java 架构 微服务 Spring Cloud

Polymer 0.8带来了性能的提升,也包含破坏性的变更_开源_Abel Avram_InfoQ精选文章