찾다
웹 프론트엔드HTML 튜토리얼《Web Component 实战》译者序_html/css_WEB-ITnose

“创建一个大型应用的秘诀就是不去创建大型应用,而把应用切分成组件。然后组装测试,由多个组件组合而成一个应用” -- 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
附言:本书正在热销中,适合初学者, 亚马逊、 天猫、 京东等均有售!

欢迎关注我们的新浪微博:前端外刊评论

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
공식 계정 웹 페이지의 캐싱 업데이트에 어려움 : 버전 업데이트 후 사용자 경험에 영향을 미치는 이전 캐시를 피하는 방법은 무엇입니까?공식 계정 웹 페이지의 캐싱 업데이트에 어려움 : 버전 업데이트 후 사용자 경험에 영향을 미치는 이전 캐시를 피하는 방법은 무엇입니까?Mar 04, 2025 pm 12:32 PM

공식 계정 웹 페이지 업데이트 캐시, 이것은 간단하고 간단하며 냄비를 마시기에 충분히 복잡합니다. 공식 계정 기사를 업데이트하기 위해 열심히 노력했지만 사용자는 여전히 기존 버전을 열었습니까? 이 기사에서는이 뒤에있는 비틀기와 회전을 살펴 보고이 문제를 우아하게 해결하는 방법을 살펴 보겠습니다. 읽은 후에는 다양한 캐싱 문제를 쉽게 처리 할 수있어 사용자가 항상 가장 신선한 콘텐츠를 경험할 수 있습니다. 기본 사항에 대해 먼저 이야기 해 봅시다. 액세스 속도를 향상시키기 위해 브라우저 또는 서버는 일부 정적 리소스 (예 : 그림, CSS, JS) 또는 페이지 컨텐츠를 저장합니다. 다음에 액세스 할 때 다시 다운로드하지 않고도 캐시에서 직접 검색 할 수 있으며 자연스럽게 빠릅니다. 그러나 이것은 또한 양날의 검입니다. 새 버전은 온라인입니다.

HTML5 양식 유효성 검사 속성을 사용하여 사용자 입력을 유효성있게하려면 어떻게합니까?HTML5 양식 유효성 검사 속성을 사용하여 사용자 입력을 유효성있게하려면 어떻게합니까?Mar 17, 2025 pm 12:27 PM

이 기사에서는 브라우저에서 직접 사용자 입력을 검증하기 위해 필요한, Pattern, Min, Max 및 Length 한계와 같은 HTML5 양식 검증 속성을 사용하는 것에 대해 설명합니다.

웹 페이지의 PNG 이미지에 뇌졸중 효과를 효율적으로 추가하는 방법은 무엇입니까?웹 페이지의 PNG 이미지에 뇌졸중 효과를 효율적으로 추가하는 방법은 무엇입니까?Mar 04, 2025 pm 02:39 PM

이 기사는 CSS를 사용한 웹 페이지에 효율적인 PNG 테두리 추가를 보여줍니다. CSS는 JavaScript 또는 라이브러리에 비해 우수한 성능을 제공하며, 미묘하거나 눈에 띄는 효과를 위해 테두리 너비, 스타일 및 색상 조정 방법을 자세히 설명합니다.

HTML5의 크로스 브라우저 호환성에 대한 모범 사례는 무엇입니까?HTML5의 크로스 브라우저 호환성에 대한 모범 사례는 무엇입니까?Mar 17, 2025 pm 12:20 PM

기사는 HTML5 크로스 브라우저 호환성을 보장하기위한 모범 사례에 대해 논의하고 기능 감지, 점진적 향상 및 테스트 방법에 중점을 둡니다.

& lt; datalist & gt의 목적은 무엇입니까? 요소?& lt; datalist & gt의 목적은 무엇입니까? 요소?Mar 21, 2025 pm 12:33 PM

이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

& lt; Progress & Gt의 목적은 무엇입니까? 요소?& lt; Progress & Gt의 목적은 무엇입니까? 요소?Mar 21, 2025 pm 12:34 PM

이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

html5 & lt; time & gt; 의미 적으로 날짜와 시간을 나타내는 요소?html5 & lt; time & gt; 의미 적으로 날짜와 시간을 나타내는 요소?Mar 12, 2025 pm 04:05 PM

이 기사는 html5 & lt; time & gt; 시맨틱 날짜/시간 표현 요소. 인간이 읽을 수있는 텍스트와 함께 기계 가독성 (ISO 8601 형식)에 대한 DateTime 속성의 중요성을 강조하여 Accessibilit를 향상시킵니다.

& lt; meter & gt의 목적은 무엇입니까? 요소?& lt; meter & gt의 목적은 무엇입니까? 요소?Mar 21, 2025 pm 12:35 PM

이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구