写点什么

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

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

关注

评论

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

最高增强至1440p,阿里云发布端侧实时超分工具,低成本实现高画质

阿里云大数据AI技术

机器学习 企业号九月金秋榜

Notebook交互式完成目标检测任务

华为云开发者联盟

人工智能

Vue3入门指北(二)创建应用实例

Augus

Vue 9月月更

openjdk镜像的tag说明

程序员欣宸

Docker Docker 镜像 9月月更

少儿编程是智商税?还是未来的生存技能?

博文视点Broadview

原生Redis跨数据中心双向同步优化实践

京东科技开发者

数据中心 幂等性 同步 数据容灾 Redis 数据结构

orbeon form 的配置介绍

汪子熙

angular SAP commerce form 9月月更

前端三件套 HTML+CSS+JS基础知识内容笔记

明金同学

前端

大数据ELK(六):安装Elasticsearch

Lansonli

ES 9月月更

【web开发基础】php开发基础快速入门(1)-PHP介绍及开发环境快速安装和基本使用介绍

迷彩

Web应用开发 php开源 9月月更 web开发基础

怎样提高报表呈现的性能

陈橘又青

sql 9月月更

软件测试 | 测试开发 | 测试面试 | 某互联网大厂测试面试真题,你能回答出多少?

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 测试面试真题|从手工到测开,一位测试媛宝妈的 BAT 大厂逆袭之旅

测吧(北京)科技有限公司

测试

【中秋特辑-代码解析月饼节】C++比C语言更加规范、方便?是因为增加了如下特性 | C++98 & C++11 | C++难学?带领大家一步一步深度剖析 | 简单易懂

Dream-Y.ocean

c++ 底层 细节 9月月更

HowTo:Pipy 如何修改请求和响应的内容

Flomesh

Service Mesh 服务网格

2022华为开发者大赛开学动员 开启想象力无限创新

华为云开发者联盟

云计算 后端 企业号九月金秋榜

明道云新增四项国产信创平台兼容性认证

明道云

必修课!深度解析金融级分布式数据库一致性技术

腾讯云数据库

数据库 腾讯云 tdsql 腾讯云数据库

如何通过 Nginx 解决跨域问题

观测云

软件测试 | 测试开发 | Web 控件定位与常见操作

测吧(北京)科技有限公司

测试

深度剖析“八大排序”(下)- 交换排序 | 快速排序 & 优化 | 非比较排序_探寻一些不为人知的细节

Dream-Y.ocean

排序算法 9月月更

C++来时路 _ 重温经典之C++类和对象 | 三大特性之一 - 封装 | 腾讯面试题

Dream-Y.ocean

c++ 封装 底层 腾讯面试 9月月更

跟我学Python图像处理丨傅里叶变换之高通滤波和低通滤波

华为云开发者联盟

Python 人工智能 企业号九月金秋榜

议题征集:NGINX Sprint China 2022 线上大会

NGINX开源社区

nginx 开源软件 Sprint

当面试官问你:如何才能带领好团队?

测吧(北京)科技有限公司

测试

如何使用 eunomia 让eBPF 的部署更简单? | 第 49 期

OpenAnolis小助手

Linux 直播 ebpf sig 龙蜥大讲堂

【数据结构与算法】二叉树题目很难?一句”技巧“巧做基础二叉树题目

Dream-Y.ocean

二叉树 二叉树遍历 9月月更 技巧总结

打印 Logger 日志时,需不需要再封装一下工具类?

程序员小航

Java 日志 slf4j

软件测试 | 测试开发 | 测试面试 | 某个版本/模块问题很多,但上线时间紧迫怎么办?

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | Web自动化之显式等待与隐式等待

测吧(北京)科技有限公司

Vue3入门指北(三)ref和reactive

Augus

Vue 9月月更

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