阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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

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

关注

评论

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

第一周作业

Morphling

#架构实战营

全网首发!“阿里爸爸”最新出品SpringBoot高级笔记(内部笔记!)

Java spring

CODING 助力推进腾讯游戏国际化进程

CODING DevOps

DevOps 开发工具 腾讯游戏 软件研发

重磅!不容错过的阿里内部微服务速成手册也太赞了(2021版)

Java 程序员 面试 java编程

辞职1000小时后,我走进字节跳动拿了offer

Java 程序员 面试 java编程

Hive学习笔记(一)

五分钟学大数据

hive 7月日更

区块链互操作性:大规模应用的关键

CECBC

数据准备的能力,决定企业AI研发的边界

百度大脑

人工智能

程序员外包避坑指南?

孙叫兽

程序员 外包

DICOM--网关(路由器/适配器)

birdbro

医学影像 DICOM PACS dicom4che DICOMWeb

灵魂拷问:我们该如何写一个适合自己的状态管理库?

尔达Erda

开源 云原生 大前端 API 运维开发

iOS端屏幕录制开发指南

anyRTC开发者

音视频 WebRTC ios开发 屏幕录制

面试官问的那些Android原理你都懂吗?值得一看

欢喜学安卓

android 程序员 面试 移动开发

YOLOV1解读

re-执着

数据安全法下,企业如何平衡数据安全合规与业务性能?

腾讯安全云鼎实验室

数据安全 数据安全法

《持之以恒的从事运动》三

Changing Lin

人民网发文:区块链如何跨越未来10年

CECBC

模块一作业:微信业务架构图和毕设架构设计

Felix

InnoDB存储引擎-锁

CodeWithBuff

MySQL innodb

就是它,帮我斩获了8家大厂offer,由于太全被各大厂要求Github连夜下架

Java架构师迁哥

数字货币大趋势,DC EP出征,带老百姓进入新时代!

CECBC

当法律纽带变成“机器红线”,能让自动驾驶汽车更安全吗?

脑极体

云计算还有多久能够替代高性能计算?

北鲲云

算法面试通关

buchila11

面试

5分钟速读之Rust权威指南(三十六)模式匹配

wzx

rust

模块一作业

lhp

架构实战营

一叶红船见百年!百度大脑助力南湖红船泛起国人心中红色情怀

百度大脑

自制深度学习照片数据集

re-执着

面试官问的那些Android原理你都懂吗?快来收藏!

欢喜学安卓

android 程序员 面试 移动开发

Java 8 新特性

Bf-Bus

RedHat7.2 切换yum源记录

Bruce Xiong

redhat yum源

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