写点什么

Google 发布 Polymer 1.0 版本

  • 2015-06-04
  • 本文字数:1402 字

    阅读完需:约 5 分钟

在 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-06-04 09:472973
用户头像

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

关注

评论

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

Flink 引擎在快手的深度优化与生产实践

Apache Flink

大数据 flink 编程 流计算 实时计算

HTTP 认证

急需上岸的小谢

7月月更

Python 入门指南之模块

海拥(haiyong.site)

7月月更

什么是撞库及撞库攻击的基本原理

郑州埃文科技

撞库 撞库攻击 拖库

走进天太|加速智能生产力落地 让机器人随处可见

科技之家

云脉芯联加入龙蜥社区,共建网络“芯”生态

OpenAnolis小助手

开源 芯片 龙蜥社区 CLA 云脉芯联

ACM MM 2022 | 腾讯优图11篇论文入选,含盲超分辨率算法等研究方向

科技热闻

K8S探索之Service+Flannel本机及跨主机网络访问原理详解

网络 Kubernetes 集群 7月月更

Spring Cloud源码分析之Eureka篇第五章:更新服务列表

程序员欣宸

Java SpringCloud Eureka 7月月更

5G NR SIB1介绍

柒号华仔

5G 7月月更

2022年云管理软件用哪个好?贵吗?功能有哪些?

行云管家

云计算 企业上云 云管理平台 云管理

从Starfish OS持续对SFO的通缩消耗,长远看SFO的价值

小哈区块

中移链Java-SDK实战使用

BSN研习社

区块链、

搭建帮助中心,推动SaaS企业发展

Baklib

SaaS 客户服务 帮助中心 文档管理

第四期SFO销毁,Starfish OS如何对SFO价值赋能?

西柚子

关于TCP与UDP你应该知道的

是乃德也是Ned

7月月更

【LeetCode】单词替换Java题解

Albert

LeetCode 7月月更

公有云计费套路多?这里有一份破招详解

焱融科技

工程师世界的《原则》,Quora创始人豆瓣9.2分神作!

博文视点Broadview

SpEL快速上手及实践

转转技术团队

Java spring 后端

找论文参考:机器视觉会议和期刊

AIWeker

人工智能 7月月更

这么强?!Erda MySQL Migrator:持续集成的数据库版本控制

尔达Erda

数据库 程序员 开发者 云原生 MySQL 运维

一文搞懂Python上下文管理器

曲鸟

Python 7月月更 上下文管理器

【计算讲谈社】第五讲|不止能上路,更能做好服务:自动驾驶产品规模化的问题定义

大咖说

人工智能 自动驾驶 阿里云 科技

等保测评报告编号组成部分有哪些?代表什么意思?

行云管家

等保 等级保护 等保测评 等保2.0

基于http-flv的抖音直播端到端延迟优化实践

字节跳动视频云技术团队

直播 端到端 直播低延迟 直播解决方案 http-flv

2022年新型显示OLED行业发展洞察

易观分析

OLED

细数下,FinClip 6月都干了啥

FinClip

音视频通话前的网络及设备检测该如何操作?

ZEGO即构

音视频开发 通话检测

帮助文档——助客户快速了解您的产品如何使用

Baklib

Java—Spring

武师叔

7月月更

Google发布Polymer 1.0版本_Google_张天雷_InfoQ精选文章