写点什么

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

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

关注

评论

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

6倍性能一直加速一直快,云耀X实例值得中小企业拥有

轶天下事

Koupleless 内核系列|模块化隔离与共享带来的收益与挑战

SOFAStack

开源 模块 架构治理 蚂蚁集团 单体应用架构

京东商家智能助手:Multi-Agents 在电商垂域的探索与创新

京东零售技术

人工智能 agent LLM 企业号 5 月 PK 榜

即将到期的30亿美元ETH期权将如何影响ETH走势?

区块链软件开发推广运营

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

MES系统适用于哪些行业?MES系统具体功能有哪些?

万界星空科技

工业互联网 制造业 生产管理系统 mes 万界星空科技

阿布扎比:自 2023 年第一季度以来,资本之都 ADGM 资产管理规模创历史新高的 211%

财见

和鲸科技联合中软国际教育,发布 AI 数智科研联合解决方案

ModelWhale

人工智能 科学数据

高并发UE4/UE5像素流送云推流解决方案

点量实时云渲染

ue 像素流送 像素流 像素流送技术 UE4

Apache Doris 2.1.3 版本正式发布

SelectDB

数据库 大数据 数据湖 数据分析 物化视图

湖南省气象信息中心:部署运行省人工智能气象应用支撑平台

ModelWhale

大数据 气象

DashVector + DashScope升级多模态检索

DashVector

数据库 后端 向量检索 大模型

性能测试中常用的性能指标有哪些?请解释每个指标的含义

测试人

软件测试 性能测试

MYSQL造数据占用临时表空间

不在线第一只蜗牛

MySQL 数据库

渣打国际商业银行与环旭电子完成签署3.2亿美元可持续金融绩效连结贷款

财见

百度发布Comate代码知识增强2.0,国内首个支持实时检索智能代码助手

不叫猫先生

人工智能 百度 AI 百度Comate

软件测试学习笔记丨App性能测试方案-霍格沃兹

测试人

软件测试 性能测试 测试开发

和鲸携手中国石油大学,助力首届青岛市公共数据创新应用大赛璀璨启程

ModelWhale

公共数据

加速企业上云数智化创新,云耀X实例有妙招

平平无奇爱好科技

柔性算力随心配,企业一键上云更智能

平平无奇爱好科技

继Bakkt之后的又一全新力作,ICE推出AI高频交易平台

科技热闻

丰富企业 AI 存储选择丨焱融科技与安擎完成兼容性互认证

焱融科技

焱融科技 高性能存储 存力 AI存储 安擎

继Bakkt之后的又一全新力作,ICE推出AI高频交易平台

科技汇

博思白板可以画思维导图吗?boardmix常见问题解答!

彭宏豪95

效率工具 在线白板 办公软件 在线协同 在线协作

欧特克工程建设峰会在京召开

E科讯

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