写点什么

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

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

关注

评论

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

Django笔记十一之外键查询优化select_related和prefetch_related

Hunter熊

Python django 外键查询优化 select_related prefetch_related

好家伙!阿里新产Java性能优化(终极版),涵盖性能优化所有操作

程序员小毕

数据库 性能优化 JVM 多线程 java面试

Unity 之 查找游戏物体的几种方式汇总解析

陈言必行

Unity 三周年连更

如何让 Windows 应用程序在 Parallels Desktop 中启动得更快

Rose

pd虚拟机 pd18虚拟机 Parallels Desktop启动

vue3学习-Composition API

格斗家不爱在外太空沉思

Vue 3 三周年连更

Shell在日常工作中的应用实践

京东科技开发者

Linux Shell 服务器 shell脚本编程 企业号 4 月 PK 榜

陈小伟:从ChatGPT谈起,预测5个数据库开发趋势

OceanBase 数据库

数据库 oceanbase

告别祈祷式编程|单元测试在项目里的正确落地姿势

浅羽技术

Java 测试 单元测试 JUnit 三周年连更

近期Master分支代码编译异常的解决方案

坚果

OpenHarmony OpenHarmony3.2 三周年连更

强大易用的矢量图形设计工具Sketch v96.1最新中文版

Rose

苹果软件下载 Sketch中文版 Sketch V96.1 mac图形设计工具

基于UDP协议的Socket通信

芯动大师

UDP协议 客户端配置 三周年连更

使用 Amazon SageMaker 构建文本摘要应用

亚马逊云科技 (Amazon Web Services)

图计算引擎分析--GridGraph

京东科技开发者

系统 磁盘 图计算引擎 企业号 4 月 PK 榜 GridGraph

PDF编辑软件Acrobat Pro DC 2023 最新版+如何取消Acrobat更新教程

Rose

Acrobat Pro DC 2023 Acrobat Pro DC更新 如何取消Acrobat 自动更新

PicConvert for mac:以批处理模式转换,调整大小和重命名图像

Rose

苹果软件资源 图片格式转换 PicConvert mac mac图片编辑

SpringBoot如何使用Jetty容器?超级详细,建议收藏

bug菌

springboot jetty 三周年连更

一种面向后端的微服务低代码平台架构设计

京东科技开发者

架构 微服务 低代码 企业号 4 月 PK 榜

2023年超全前端面试题-背完稳稳拿offer(欢迎补充)

肥晨

三周年连更

linux性能调优

乌龟哥哥

三周年连更

跨平台应用开发进阶(五十一):HTML5(富文本内容)连续数字、字母不自动换行问题分析及解决

No Silver Bullet

html5 跨平台应用开发 三周年连更 问题分析及解决

Java异常Exception详解

timerring

Java 三周年连更

从多个数据源中提取数据进行ETL处理并导入数据仓库

海拥(haiyong.site)

三周年连更

深入剖析Go语言中的Channel:高级特性与注意事项

Jack

基于树莓派设计的音视频播放器(从0开始)

DS小龙哥

三周年连更

Docker容器网络的七种武器

王玉川

Docker 容器 网络 VXLAN 网络虚拟化

Mac音频采样器Kontakt 7最新版v7.3.0下载

Rose

mac音频采样器 Kontakt 7激活版 Native Instruments Kontakt 7 mac下载

一文读懂物联网 MQTT 协议之基础特性篇

老周聊架构

三周年连更

逐渐消失的站长圈子,未来个人站长如何转型

石头IT视角

中软国际亮相OpenHarmony开发者大会,荣获A类捐赠人授牌认可

科技热闻

通俗易懂篇:贝叶斯网络和它的应用

Bob

网络 贝叶斯算法

基于Flutter实现跨平台离线大模型对话应用

轻口味

flutter ios android AI 三周年连更

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