DevBytes: Web Components - Overview - 1504250709
Last updated
Was this helpful?
Last updated
Was this helpful?
视频发布时间
2014年6月25日
视频介绍
Web Components are a set of technologies that changes the way you develop web apps entirely. By making components scoped and reusable in standardized way, your web development will step up to the next level.This video explains the benefit of using Web Components, how to use them, and what each technologies are like.
视频推介语
暂无,待补充。
翻译
润稿
终审
原始链接
中文字幕
翻译流水号
加入字幕组
黄玄
任皓
——
1504250709
嗨
我叫英二 是一名来自 Google 的开发者布道师
今天 我将和大家笼统的介绍一下Web Components
Web Components 是一套新兴的规范
它可以完全改变你开发网页应用的方式
这套规范允许你在开发网页应用时创建和复用 UI 组件
这套规范允许你在开发网页应用时创建和复用 UI 组件
让我们来看看在今天你要如何去创建一个 UI 元素
同时了解使用 Web Components 能如何改善这个过程
这里有一张很好看的图表
你会如何使用 HTML CSS 和 JavaScript 来创建它呢
如何你从零开始 那么工作量很大
为了帮助我们做这个图表,我们可以使用 Google Visualization API(可视化)
首先 载入 Google JavaScript 库以使用这些API
然后 添加 div 标签到 body 中作为占位符
现在 使用 JavaScript语句 通过加载 Visualization API 来初始化类库
现在 使用 JavaScript语句 通过加载 Visualization API 来初始化类库
接着,在回调函数中设置值和一些可选项
最后,指定用来放置图表的 DOM(文档对象模型)元素
现在,让我们进入 Web Components 的方式
看看它如何剧烈的改变了我们创建一个图表的方式
看看它如何剧烈的改变了我们创建一个图表的方式
使用 Web Components,你需要做的第一件事
就是载入 Google Chart Component(图表组件)
为了使不支持的浏览器也能正常表现
你还需要加载一个开源的polyfill(提供兼容性的代码) platform.js
然后添加一个 Google Chart 标签并且把你想要的属性填进去
就搞定了
注意到两种方式的区别了吗
是的
第一种是使用 JavaScript 的指令
而第二种则是使用 HTML 标签的声明
声明方式可能看上去更容易处理一些
但最大的不同并不在难易
而是当使用那些 API 时,开发者需要很多潜在的知识
而是当使用那些 API 时,开发者需要很多潜在的知识
在最初的那个例子中 你首先需要理解 Google JavaScript 库是如何工作的
在最初的那个例子中 你首先需要理解 Google JavaScript 库是如何工作的
然后你才可以学习如何运用 API 来控制它
相反 Web Components 使用 DOM API
这是大多数 Web 开发者都非常熟悉的
这是大多数 Web 开发者都非常熟悉的
这样你就可以直接从学习如何使用属性和 API开始
这个差异看上去很微妙 但是当你使用其他 UI 类库时 你就会发现它的好处
这个差异看上去很微妙 但是当你使用其他 UI 类库时 你就会发现它的好处
比如 jQuery UI Bootstrap Closure Libraries 等等
它们全都使用了不同的方式
以至于在实际开始使用之前 你先要学习他们
使用 Web Components 还有诸多其他好处
让我们一个个来看
有作用域
由于 Web Components 的样式和标签是有作用域的
引入的组件并不会损害到你网页的其他部分
现有的库中存在这么一个情况
你用到的类名或ID可能会和库中已有的重叠
你用到的类名或ID可能会和库中已有的重叠
使用Web Components 所有标签和 CSS 的作用范围仅限于该元素内部
这意味着 CSS 被捆绑在了组件上
而不会泄漏出去影响到父document
这同样防止了父document的样式意外影响组件
这同样防止了父级元素的样式意外影响组件
复用性
因为 Web Components 是有作用域
并且与网页其他部分解耦的
你可以在网页的不同部分甚至另一个站点使用相同的组件
你可以在网页的不同部分甚至另一个站点使用相同的组件
不仅如此 你还可以与社区开源分享你的元素
不仅如此 你还可以与社区开源分享你的元素
使得任何人都可以从你的工作中获益
分离性
因为 Web Components 是有作用域的
你可以将 UI 组件的开发从主功能的开发中解耦出来
开发者们因此能够独立地进行 UI 组件的开发工作
而无需担心或者注意网页其他部分的实现细节
而无需担心或者注意网页其他部分的实现细节
可以看到,组件的维护因为分离也变得更加容易了
可以看到,组件的维护因为分离也变得更加容易了
Web Components 听上去是服务或使用 UI 组件的绝佳解决方案
Web Components 听上去是服务或使用 UI 组件的绝佳解决方案
那么我们实际中要如何创建我们自己的组件呢
Web Components 由四个核心技术组成:
templates Shadow DOM Custom Elements 与 HTML Imports
让我简短地介绍一下它们都是什么样的
Templates(模版)允许你定义惰性的样板文件
用于描述你在 HTML 中重复使用的标签
因为模版中的内容是惰性的
直到它们被送入页面里
它们并不会请求图像或者执行脚本
Shadow DOM (后台DOM)允许你把有作用域范围的 HTML 标签
和 CSS 文件关联到现有的 DOM 元素上
由于 Shadow DOM 是被封装起来的
其样式并不会影响到任何外面的元素
Custom elements(自定义元素)允许你定义并且注册
一个自定义的 HTML 元素就好像它是原生的一样
HTML Imports(导入)允许你加载多个资源
比如 JavaScript, CSS 和附加的 HTML 文件
通过加载一个单独的 HTML 文件来实现
组合所有以上技术就会像这样
首先 准备一个不同于主要 HTML 文件的 HTML 文件
定义并且注册自定义元素
关联 Shadow DOM到上面
使用模版以提供 Shadow 的内容
最后 使用 HTML Imports 导入这个组件 HTML 文件
现在你应该对 Web Components 有了个基本的概念
我将继续发布一系列有关 Web Components 特性的视频
让你可以继续学习如何使用它们
在此期间 列在这里的文档和资源都可以帮助你学习更多
都可以帮助你学习更多有关 Web Components 的知识
所以你可以去看看它们
好啦
感谢您的观看
我们下期再见