“创建一个大型应用的秘诀就是不去创建大型应用,而把应用切分成组件。然后组装测试,由多个组件组合而成一个应用” -- JavaScriptMVC 作者,Justin Meyer
JavaScript 是一门松散类型的动态语言,在规范不够完善、社区不够健全的蛮荒时代,开发者们写出的代码也是参差不齐,没有既定规范的代码可读性差,而软件工程所提倡的复用性、可维护性、可扩展性就更是无从谈起。很难说是技术推动了产品的发展,还是快速变化的互联网带来了前端技术的进步。不过最终的结果是前端技术以惊人的速度进行迭代。正如在 JSConf 2015 开发者大会上流行起来的前端摩尔定律:“每18个月~24个月,前端都会难一倍”。前端模块化方案从无到有,从稍有模式的命名空间到 JavaScript 中的 AMD、CommonJS 模块定义,从浏览器端模块化方案再到依赖编译的 webpack、browserify 构建工具。这一路走来,毫无疑问开源社区的贡献巨大,很多新的标准也应运而生。不得不说 ES6 的模块系统很大程度上受到了 Node.js 模块的启发,HTML5 Web API 所引入的 querySelectorAll 也一定是在 jQuery 选择器中获得了灵感。
而 Web Component 则带来了 UI 组件化的全新标准。它能够帮助开发者在开发过程中创建出稳定且可复用的组件。Web Component包括模板元素、HTML Import、Shadow DOM 以及自定义元素。模板元素包含了 HTML、CSS 和 JS,可以取代传统的字符创模板;HTML Import 则可以将外部的 HTML 文档引入到当前页面中,实现了复用;Shadow DOM 则提供了样式和脚本的作用域,是 Web Component 中重要的一环;而自定义元素则可以达到扩充 HTML 元素的目的,意味着开发好一个元素后,处处可用。Web Component 做到了分离关注点,降低了代码的维护成本并且提升了开发效率,可以说是 Web 前端发展的必由之路。
值得注意的是,就现在而言 Web Component 还是一门新技术,很多浏览器都没有原生实现它。而很多走在前面的公司也以自己的方式实现了这套新标准,其中包括 Google 实现的 PolymerJS、Mozilla 实现的 X-Tag 以及 Facebook 实现的 React。它们或通过 polyfill 实现标准,或通过 Virtual DOM 另辟蹊径,这三种实现都会在本书中做详细的介绍,同样也包括了每个框架的周边类库以及构建工具,并且附有详细的代码示例。目前来看,不得不说 React 正大放异彩,国内外基于 React 搭建的项目犹如雨后春笋般崛起,这很大程度上得益于它所提出的 UI 状态机、Virtual DOM 以及单向数据流。当然,其他两个框架的设计巧思和理念同样值得每位开发者学习。
在本书中,作者详细介绍了 Web Component 的每个细节,并且通过实例深入浅出地讲解了三个基于 Web Component 规范的前端框架及其构建工具。相信读者在读完本书后一定会有所收获,能够开发自己的 Web Component 项目,或者将其思想用到现有的项目中。本书的翻译团队由4位一线 Web 开发者组成:
- 范洪春,就职于阿里巴巴数据技术及产品事业部,前端架构方向
- 邵锋,就职于 Splunk 中国研发中心,目前从事大数据可视化方向的开发和研究
- 何语萱,就职于腾讯 ISUX,任 UI 工程师
- 姜天意,就职于阿里巴巴国际事业部,主要从事 Node.js 服务端研发工作
此外,我、语萱和天意同时是知乎专栏《前端外刊评论》的维护者,本书的试读章节也会在第一时间发布到该专栏。也就意味着你在阅读本书时遇到翻译上的任何问题都可以通过专栏与我们取得联系。
最后,感谢博文视点引进了这本书,并给予我们翻译的机会。感谢 Sandeep Kumar Patel 创作了这本书,让更多的开发者了解这个新标准。感谢我们4个人在这段时间的相互帮助和鼓励。感谢博文视点的编辑对我们信任。感谢我在阿里的两个前端团队的同事在我负责翻译本书期间对我的理解和支持。父母之恩,毋须赘言!
封底
Web Component 是一个令所有开发者都激动人心的新标准,它通过封装和扩展 HTML 和 CSS 实现了可重用的强大组件。Web Component 的时代很快就要到来,并且会在你的浏览器上首次亮相。
本书以 Web Component 核心概念开篇,你可以按照书中的示例完成一个数显时钟的开发。在掌握了 Shadow DOM、HTML Import 以及模板元素的概念后,你将能够使用纯 JavaScript 创建一个自己的组件。而后,你将探索到用于开发 Web Component 的核心工具和类库,包括 Polymer、Bosonic、Mozilla Brick 以及 ReactJS,并且学会在实际项目中灵活运用它们。本书对所有架构和配置都做了详细的解释,并且选择合适的开发工具供读者学习使用。
面向读者
本书适合于所有想要使用新工具和技术创建 Web Component 的 Web 开发者。
你将从本书学到哪些
- 使用原生 JavaScript 创建 Web Component 的实战经验
- 发现 Polymer 的核心并且使用它打造你的 Web Component
- 使用 Mozilla 创建自定义的 Web Component
- 使用 ReactJS 创建别样的 Web Component
- 使用恰当的方式来创建 Web Component
- 掌握 Bosonic 框架,设计 Web Component
附言:本书正在热销中,适合初学者, 亚马逊、 天猫、 京东等均有售!
欢迎关注我们的新浪微博:前端外刊评论

公众号网页更新缓存,这玩意儿,说简单也简单,说复杂也够你喝一壶的。你辛辛苦苦更新了公众号文章,结果用户打开还是老版本,这滋味,谁受得了?这篇文章,咱就来扒一扒这背后的弯弯绕绕,以及如何优雅地解决这个问题。读完之后,你就能轻松应对各种缓存难题,让你的用户始终体验到最新鲜的内容。先说点基础的。网页缓存,说白了就是浏览器或者服务器为了提高访问速度,把一些静态资源(比如图片、CSS、JS)或者页面内容存储起来。下次访问时,直接从缓存里取,不用再重新下载,速度自然快。但这玩意儿,也是个双刃剑。新版本上线,

本文展示了使用CSS为网页中添加有效的PNG边框。 它认为,与JavaScript或库相比,CSS提供了出色的性能,详细介绍了如何调整边界宽度,样式和颜色以获得微妙或突出的效果

本文讨论了使用HTML5表单验证属性,例如必需的,图案,最小,最大和长度限制,以直接在浏览器中验证用户输入。

本文讨论了html< datalist>元素,通过提供自动完整建议,改善用户体验并减少错误来增强表格。Character计数:159

本文讨论了HTML< Progress>元素,其目的,样式和与< meter>元素。主要重点是使用< progress>为了完成任务和LT;仪表>对于stati

本文讨论了HTML< meter>元素,用于在一个范围内显示标量或分数值及其在Web开发中的常见应用。它区分了< meter>从< progress>和前

本文讨论了< iframe>将外部内容嵌入网页,其常见用途,安全风险以及诸如对象标签和API等替代方案的目的。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

Dreamweaver CS6
视觉化网页开发工具

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具