报名参加CloudWeGo黑客松,奖金直推双丰收! 了解详情
写点什么

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

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

关注

评论

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

教你搭建一个Telegraf+Influxdb+Grafana 监控系统

华为云开发者联盟

云计算 华为云

【协程】ViewModelScope源码解析

yechaoa

android 协程 6月月更 ViewModelScope

【题解】剑指 Offer 05. 替换空格(C语言)

未见花闻

6月月更

Python自动化测试之模块、包与路径知识讲解

伤心的辣条

Python 程序员 程序人生 软件测试 自动化测试

天人合一物我相融,站点升级渐进式Web应用PWA(Progressive Web Apps)实践

刘悦的技术博客

前端 App 应用 Web JS SDK PWA

2022,云上开发新纪元

Heighliner

云原生 #k8s 开发者, 远程开发

测试基础之:自动化测试

甜甜的白桃

软件测试 自动化测试 6月月更

vue-class与style绑定

小恺

6月月更

使用GeekCode在开发中分离计算和存储

王泰

CloudIDE 云 IDE

一个算子在深度学习框架中的旅程

OneFlow

深度学习 算法 框架设计

用 docker 创建 jmeter 容器,实现性能测试

伤心的辣条

Python 程序员 软件测试 自动化测试 程序员‘

窃取证书的攻击流程及抓包分析

网络安全学海

黑客 网络安全 信息安全 渗透测试 WEB安全

百里带你一文读懂selenium自动化测试(基于Python)

伤心的辣条

Python 程序人生 软件测试 自动化测试

详解GPU虚拟化技术

Finovy Cloud

人工智能 云渲染 GPU服务器

基于EasyCV复现ViTDet:单层特征超越FPN

阿里云大数据AI技术

自然语言处理 异构计算 深度学习/机器学习 编译码

好的产品帮助文档可以留住一个用户的心

小炮

Nydus —— 下一代容器镜像的探索实践

SOFAStack

开源 云原生 dragonfly 容器镜像

SOL staking质押现已在 AscendEX Earn 上线

鳄鱼视界

Charles 工具如何做断点测试

伤心的辣条

Python 程序人生 软件测试 自动化测试 接口测试

改变世界的开发者丨以梦为码,华工小哥的致青春

华为云开发者联盟

数据库 华为云

从概念到安全实践:软件供应链基础指南

SEAL安全

DevOps 安全 DevSecOps 软件供应链

什么是真正的敏捷开发?敏捷开发与瀑布开发有何不同

阿里云云效

云计算 阿里云 敏捷开发 研发 开发模式

认识一下什么是JSP

华为云开发者联盟

Java jsp 网页 前段

始于架构,精于治理|阿里云中间件开发者大会火热报名中

阿里巴巴中间件

阿里云 开发者 中间件

ConcurrentHashMap性能测试

FunTester

直播场景音频降噪,传统算法 VS AI 算法对比和实践

融云 RongCloud

力扣每日一练之二分查找Day10

京与旧铺

6月月更

Java—线程安全

武师叔

6月月更

手慢无!‘’阿里爸爸‘’6月最新开源新版Spring Cloud Alibaba全体系10w字全彩笔记

Java全栈架构师

Java 程序员 面试题 架构师 SpringCloud

ScheduledThreadPoolExecutor

急需上岸的小谢

6月月更

如何玩转“听到头疼用了爱”的函数计算

明道云

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