那些处于 HTML5 最前沿的开发者可能已经听说过令人兴奋的 Web Components 规范。如果你还没有听说过,你可能想了解一下是什么让它如此令人兴奋,但长话短说,Web Components 承诺通过让 Web 开发人员编写自定义的可重用 HTML 标签来开辟一个新的开发领域。可以将它们视为无需额外代码初始化或样板标记/样式的 JavaScript 插件。
不幸的是,我们将要等一段时间才能看到浏览器对该规范的原生支持,但这并不意味着开发者不能现在就开始利用组件的概念,这要感谢 Google 的 Polymer 框架 和 Mozilla 的 x-tags polyfill 库(X-Tag 和 Polymer 都共享相同的低级 Web Component polyfills)。
我们很自豪地宣布 Brick 的 beta 版发布,这是一个跨浏览器库,它提供了新的 **自定义 HTML 标签**,将常见的用户界面模式抽象成易于使用、灵活且语义化的 Web Components。Brick 建立在 Mozilla 的 x-tags 库之上,允许你在标记中插入简单的 HTML 标签来实现滑块或日期选择器等小部件,通过避免最初考虑底层的 HTML/CSS/JavaScript 来加速开发。
将 Brick 付诸实践
假设你想要在你的应用程序中实现一个跨浏览器、移动友好的日历小部件。使用当前的 JavaScript 插件,例如 jQuery UI,这将需要在你的 HTML 中插入样板、非语义标记,以及通过 JavaScript 明确地初始化和管理它。但是,使用 Brick,你可以通过添加一个自定义 HTML 标签来实现这样的组件,你可以将其视为一个普通的原生标签。
对于我们的日历示例,这意味着只需要在你的应用程序中包含库的 CSS 和 Javascript 文件,然后将以下标签添加到你的标记中
这将创建一个看起来像这样的 DOM 元素
想要编辑组件的行为,比如添加导航控件或预选日期?就像任何其他原生标签一样,你可以通过更改标签的属性来更改组件的行为!
可用的 Brick
在撰写本文时,Brick 包含 13 个不同的标签,其中大多数是完全独立的,甚至可以单独下载,而不是作为一个单独的包。
一些标签将复杂的小部件抽象成简单的 HTML 标签,例如
- <x-calendar>(日历,如示例所示)
- <x-deck>(一个可循环的幻灯片画廊)
- <x-tooltip>(顾名思义)。
其他的是现有原生元素(尚未得到全球支持)的跨浏览器 polyfill 实现,例如
分别为 <input type="range">
和 <input type="date">
提供 polyfill。还有一些是结构组件,简化了某些组件的样式和标记,例如 <x-layout>,它确保内容、标题和页脚可以在没有显式样式标记的情况下填充容器元素。
每个标签都带有灵活的属性/JavaScript API,并且可以完全定制样式以匹配你的应用程序。
开始用 Brick 构建
想要在你的应用程序中开始使用组件?前往 mozilla.github.io/brick 下载发行版包,查看演示,并阅读可用标签的文档。或者,访问 Brick Github 页面 查看源代码并为这项工作做出贡献!
该库仍处于 beta 版,因此我们感谢所有用户的反馈!Brick 已经 开始在野外出现,所以我们很想听听你是如何使用它的!
关于 Leon Zhang
我是一名 Mozilla WebDev 实习生,在 2013 年夏季与 Apps/DevEcosystem 团队合作。我目前是卡内基梅隆大学的学生,在那里我学习计算机科学/人机交互。
关于 Robert Nyman [荣誉编辑]
Mozilla Hacks 的技术布道者和编辑。关于 HTML5、JavaScript 和开放网络发表演讲和博客文章。Robert 是 HTML5 和开放网络的坚定支持者,自 1999 年以来一直在从事 Web 前端开发工作 - 在瑞典和纽约市。他还经常在 http://robertnyman.com 上发博文,喜欢旅行和结识新朋友。
45 条评论