GMTC全球大前端技术大会聚焦前端、移动、AI应用等领域15个热门专题方向,购票立减¥960 了解详情
写点什么

Google 发布 Polymer 1.0 版本

2015 年 6 月 04 日

在 2013 年的 Google I/O 大会上,谷歌公司首次推出了 Web UI 界面设计套件——Polymer。该工具由加盟谷歌公司的原 Palm webOS 团队打造,以“一切皆组件、最少化代码量、最少框架限制”为设计理念,意在变革浏览器的操作体验。经过近两年的发展,该团队已经陆续推出了 Polymer 的若干后续版本。在近日召开的 2015 年度 Google I/O 大会上,谷歌正式发布了 Polymer 1.0 版本。

Polymer 与 W3C Web 组件这一社区标准计划紧密相连。传统网页开发都是采用 HTML、CSS 以及 JavaScript 等进行混合编程的方式,非常不利于修改、调试以及重用。为了降低开发的复杂度并提高可用性,Web 组件计划被提出,并获得所有现代浏览器厂商的支持。谷歌正是基于 Web 组件的可重用性和简洁性提出了 Polymer 项目。

Polymer 由基础层(Foundation)、核心层(Core)以及元素层(Element)三部分组成。其中,基础层包含了用于监视 DOM 元素与 JavaScript 对象改变的 DOM Mutation Observer 和 Object.observe()、处理鼠标和触摸操作的 Pointer Event、Shadow DOM、用于自定义 HTML5 元素的 Custom Element、封装自定义元素的 HTML Import、在 HTML 中实现数据绑定的 Model-Driven View(MDV)以及统一 Web 通话实现的 API——Web Animation。作为 Polymer 中关键的组件,基础层的作用在于代替浏览器为上层应用提供统一的 API,使得设计可以跨平台使用。核心层利用 polymer.js 提供了一层代码来表示 Polymer 选项,用于连接基础层与元素层。元素层包含了 Polymer Element 和 Polymer UI Element,为开发人员设计网页提供各种组件。

作为一个跨平台开源库,Polymer 支持开发者按照 Web 组件标准所定义的方式去编写组件。它把复杂的代码和结构封装在了不同的组件中,并允许开发者使用简单易用的规则进行命名。此外,Polymer 还提供了一套预定义的 UI Element,方便用户使用和二次开发。通过结合 HTML Imports、Template 标签、Shadow DOM 以及 Custom Element,开发人员只需要把不同的组件进行简单组合,即可轻松的创建出所需的网页。这样,开发人员就可以根据网页设计人员的需求不断的变更网页,提升用户体验和性能。而且,对于一个设计复杂的大型网站,只有基于 Web 组件的 Polymer 可以有效的对资源进行管理和调度。至于 W3C 标准还没有正式发布的问题, Polymer 产品经理 Taylor Savage 表示,所有相关的标准目前都已经比较成熟,相信很快就会进行发布。同时,基于这些标准的 Polymer 会相应的不断升级,继续为用户提供很好的服务。

在这两年中,Polymer 已经经历了 10 个版本的更新。在开发者预览版本(0.5 版本)之后,Polymer 团队听取广大开发人员的意见重写了开发库,在保持开发者良好使用体验的同时,大大提升了浏览器的性能。以 Chrome 浏览器为例,后期的版本比开发者预览版本代码量少 36%,速度却是原来的 3 倍。据Polymer 团队透露,本次发布的1.0 版本相比于之前的0.9 版本并没有很大变化,修复了一些bug,并再次进行了性能提升。由此可见,此次发布的Polymer 1.0 版本在性能、稳定性等方面已经成熟。目前,利用Polymer 的初学者套件,用户可以直接开始体验新版的Polymer。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群InfoQ 好读者)。

2015 年 6 月 04 日 09:472403
用户头像

发布了 268 篇内容, 共 101.4 次阅读, 收获喜欢 17 次。

关注

评论

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

限频/限流的一些思考

i风语

Java redis 微服务 sentinel ratelimiter

ARTS 第五周 6.21-6.28

我笔盒呢

软件架构语录

hiqian

为什么建议你使用枚举?

王磊

Java 枚举

IM聊天教程:发送图片/视频/语音/表情

GoEasy消息推送

websocket 即时通讯 聊天室 聊天

深入浅出kubernetes之WorkQueue详解

博文视点Broadview

Kubernetes 源码分析 k8s 队列 延迟队列

架构师训练营第四周总结

hiqian

海阅优品致力打造新零售蓝海

Geek_116789

MySQL实战45讲笔记(1)

程序员老王

msyql

那些会阻碍程序员成长的细节[3]

MavenTalker

程序员 职业规划 职业成长

iOS 动画 - 窗景篇(三·完结)

柯烂

ios swift 动画 移动互联网 动效

融云年中大促钜惠来袭 IM+RTC 超值套餐最低6折起

Geek_116789

来了!8M/S+速度,Pdown复活!

程序员生活志

架构师训练营第四周学习总结

张明森

[深入理解Redis]读取RDB文件

老胡爱分享

redis 源码阅读

在以后的高校招生中,应用区块链技术,可以防、治冒名顶替吗?

CECBC区块链专委会

区块链技术 高考 信息防篡改

架构师训练营第四周作业

hiqian

势能造就下的互联网大厂程序员为什么去开滴滴了?

非著名程序员

程序员 程序人生 提升认知 程序员成长

Dart vs Swift

柠檬水

swift dart

MySQL系列 - SQL查询与修改执行过程

俊俊哥

MySQL 性能优化 关系型数据库 存储

区块链≠分布式账本,别再傻傻分不清

CECBC区块链专委会

区块链技术 高考 信息防篡改

ARTS - Week 4

Khirye

ARTS 打卡计划 arts

重学 Java 设计模式:实战中介者模式「按照Mybatis原理手写ORM框架,给JDBC方式操作数据库增加中介者场景」

小傅哥

设计模式 小傅哥 代码优化 代码规范 中介者模式

告别静默式看房 融云音视频助力上海中原 App 上线 VR 带看服务

Geek_116789

对直播带货的一点思考

Neco.W

直播 直播带货

架构师训练营第四周作业

张明森

揭秘!中国人一定要知道的北斗卫星系统

程序那些事

北斗卫星 北斗系统 卫星定位 卫星授时 黑科技

玩转Java8中的 Stream 之从零认识 Stream

Java小咖秀

学习 stream java8 Java 面试 经验

一群龙舟划手 “拍了拍” 你:端午节安康~

博睿数据

【写作群星榜】6.20~6.26 写作平台优秀作者 & 文章排名

InfoQ写作平台官方

写作平台 排行榜

了不起的 TypeScript 入门教程 [1.2 w字]

阿宝哥

Java typescript 前端 Web

大数据技术升级脉络及认知陷阱

大数据技术升级脉络及认知陷阱

Google发布Polymer 1.0版本-InfoQ