原文转自:http://www.csdn.net/article/2013-05-27/2815450-google-polymercss
摘要:开发者Axel Rauschmayer在本身的博客上详解了Google Polymer的设计理念与组成架构,深得Polymer开发者的认同。他认为Polymer这样高互操做性的设计才应该是Web开发的将来。html
虽然今年的Google I/O也已结束,但会上揭晓的新技术、新工具仍然让开发者兴奋不已。其中Web开发方面尤以Ploymer和Web Components为重。html5
Polymer由加盟Google的原Palm webOS开发团队打造,是一套以“一切皆组件、最少化代码量、最少框架限制”为设计理念的Web UI框架。Web Components则提供了一种更完全的解耦方式,更加方便了UI的开发和模块化,能够说是Polymer的基础之一。css3
开发者Axel Rauschmayer在本身的博客上详解了Polymer的设计理念与组成架构,深得Polymer开发者sjmiles(Scott J. Miles)的认同。CSDN编译以下:git
在刚刚结束的Google I/O 2013中,Google发布了一个新的Web UI框架——Polymer,彷佛为全部Web UI框架指明了发展方向。angularjs
Polymer由如下几层组成:github
其中,基础层使用了如下技术:web
以上第3-5个API都是Web Components的一部分。很明显,Web Components对Polymer的重要性非同通常。浏览器
platform.js的做用在于代替浏览器提供这些API,它在通过充分压缩后仅仅31KB。而根据已公开的信息,咱们还知道Polymer的目标之一就在于测试这些未标准化的HTML5 UI API。session
Polymer自己很是像原生的HTML5:“attributes in, events out”。以UIwidget(widget)polymer-panels为例:
能够看出其结构很是“面向组件(component-oriented)”,全部组件都是HTML元素。有的元素自己并不提供UI,好比animations元素并不提供UI,可是你能够将它与UI元素相关联,实现动画效果。此外,Polymer的不少widget中都内建了响应式设计,也就是说,他们会依平台的不一样变化成最适合的形状。
Polymer设计得像菜单同样,能够按需选择。得益于Web Components,其元素都具备很是高的互操做性。在I/O大会上咱们就看到了这样的例子:Mozilla项目中的元素X-Tag(一样基于Web组件)与Polymer协同得很是好。
Polymer目前还是一个Alpha预览版,所以不建议在公共项目中使用。可是,做为一个开源项目,你能够随时使用它的代码。
Polymer并非为终结其它框架而生,相反,现有的这些框架也能够构建在一样的基础层之上。若是你已经尝试过Ember.js、AngularJS这样的UI框架,必定会发现不少API很是熟悉。AngularJS甚至在在Twitter上宣布:”Angular将基于Polymer开发widget,这会是一个共赢的方案。“
没有人会想要使用框架,咱们只是想高效地开发Web UI而已,只不过框架偏偏知足了咱们的需求。与之相反,原生HTML却缺少这些功能:
就目前看来,各大框架仍难以互相兼容:各自使用各自的工具链、继承API、widget基础构架等等。本文中描述的开发模式,以及ECMAScript 6中的类与模块,都指明Web开发的将来应该是更高的互操做性。这对Web开发生态系统的益处显而易见。
若是你想更深刻地了解Polymer,能够访问如下网址:
原文连接: 2ality