写点什么

Mozilla Brick:一个 Web 组件 Polyfill 库

  • 2013-08-30
  • 本文字数:875 字

    阅读完需:约 3 分钟

Web 组件是一个 W3C 规范,它旨在使 Web 开发人员能够定义具有非常丰富的视觉效果和高可交互性且易于组合的小组件。 Brick 库提供了新的自定义 HTML 标签,从而抽象了用户常用接口模式。在浏览器本身支持类似标签之前,开发人员可以使用 Brick。

Brick 基于 Mozilla 的 X-Tag polyfill 库,因此,要运行依赖任何 Brick 标签的代码,开发人员需要先将 window.onload 替换为 x-tags 库的“DOMComponentsLoaded”事件:

复制代码
document.addEventListener('DOMComponentsLoaded', function(){  
// 在这里添加可运行代码...
});

在写作本文的时候,Brick 包含 13 个不同的标签(“bricks”),它们中的大部分都完全相互独立,甚至可以分别下载,而不是一起打包下载:

  1. “导航栏(Appbar)”
  2. “日历(Calendar)”
  3. “日期选择器(Datepicker)”
  4. “面板(Deck)”
  5. “翻转框(Flipbox)”
  6. “图标按钮(Iconbutton)”
  7. “布局(Layout)”
  8. “滚动框(Slidebox)”
  9. “滚动条(Slider)”
  10. “选项卡(Tabbar)”
  11. “开关(Toggle)”
  12. “开关组(Togglegroup)”
  13. “提示框(Tooltip)”

下面是日历标签的样子:

复制代码
<x-calendar></x-calendar>

Google 非常信任 Web 组件,它也正在开发一个名为 Polymer 的 Web 组件 polyfill 库,该库试图在现有的浏览器基本结构上充分利用“影子 DOM(Shadow DOM)”、“自定义元素(Custom Elements)”和“模型驱动视图(Model Driven Vies)”等未来技术。

值得一提的是,虽然在过去的一年里 Web 组件的发展势头看上去很好,但是 Web 组件规范变化很快,还有许多方面不确定。几周前,来自 Google 的 Dimitri Glazkov 在 W3C 邮件列表中提议,从规范中删除元素。关于这一点,他们一致认为, 已拟定的元素语法不够好,在实现标准化之前,应该把这个问题留给各实现库来探索,正如来自 Apollo Group 的 Brian Kardell 所说:

像 x-tags 和 polymer 这样的项目,甚至是像 Ember 和 Angular 这样的项目,要给他们机会,让他们带头提出那些问题并帮忙给出具有潜在竞争力的答案——在我看来,没有必要急于在这一点上进行高层次的标准化。

查看英文原文: Mozilla Brick: A Polyfill Library for Web Components

2013-08-30 03:072171
用户头像

发布了 256 篇内容, 共 93.6 次阅读, 收获喜欢 12 次。

关注

评论

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

案例解读:深入理解浏览器的缓存机制

华为云开发者联盟

缓存 浏览器 服务器 缓存穿透 华为云

硬核干货:葡萄城 SpreadJS 前端表格技术分享

葡萄城技术团队

Excel SpreadJS 表格控件 表格开发

【好书推荐】《Python黑魔法指南》-附高清PDF版

华为云开发者联盟

Python 开发者 书摘 python3.7 书籍推荐

判断链表相交

GalaxyCreater

算法

nginx安装配置(windows)

陈靓-哲露

BIGO技术 | Paxos的工程实践与极致优化

InfoQ_3597a20b53cc

技术

什么是数字孪生,它的应用价值在哪里?

华为云开发者联盟

AI IoT 数字化 汽车电子 工业互联网

判断两个链表是否重合

LEAF

应用开发基础之-数据结构与算法

superman

HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第2章HTML基础知识

Geek_8dbdc1

CSS html

What's New in Dubbo-go v1.5

apache/dubbo-go

dubbo Go 语言

NameNode架构图解

我是个bug

Java 大数据 hadoop

区块链在公益慈善行业的应用研究

CECBC

区块链技术 公益组织 治理 数据透明

河南省区块链产业联盟成立暨可信区块链技术创新大会启幕

CECBC

可信区块链 提升核心技术 产业联盟 产学研用

第四范式自动化推荐系统:搜索协同过滤中的交互函数

天枢数智运营

人工智能 推荐系统 搜索

CDN百科第八期 | 我的网站到底需不需要CDN加速?

阿里云Edge Plus

网站 CDN 云直播

判断两个链表是否合并

Z冰红茶

拒绝贴标签的懒惰

zhoo299

随笔杂谈

敏捷开发:一文了解影响地图和用户故事地图之间的那些事儿

华为云开发者联盟

产品设计 敏捷开发 后端 地图 开发流程

《深度工作》学习笔记(2)

石云升

学习 专注 深度工作

计算机网络基础(十)---网络层-迪杰斯特拉算法

书旅

算法 计算机网络 网络 最短路径

程序员的晚餐 | 7 月 27 日 美味鲫鱼豆腐汤

清远

美食

JVM系列之:String.intern的性能

程序那些事

性能 JVM string GC

4. JSON字符串是如何被解析的?JsonParser了解一下

YourBatman

Jackson JSON库

极客大学架构师训练营 - 本周总结

Geek_zhangjian

BIGO技术 | Paxos的工程实践与极致优化

InfoQ_3597a20b53cc

BIGO

区块链的现象级应用应该什么样子

CECBC

产业落地 政策扶持 区块链革命 价值传递

极客大学架构师训练营-单向链表相交问题

Geek_zhangjian

服务器是什么?其作用及有哪些分类?

德胜网络-阳

服务器

百万并发「零拷贝」技术系列之Java实现

码农神说

Java 架构 高性能 零拷贝

算法题:链表的第一个合并节点

破晓_dawn

极客大学

Mozilla Brick:一个Web组件Polyfill库_JavaScript_Dio Synodinos_InfoQ精选文章