Polymer:面向未来的Web组件开发

Polymer:面向未来的Web组件开发 pdf epub mobi txt 电子书 下载 2025

[美] Jarrod Overson,[美] Jason Strimpel 著,谢光磊 译
图书标签:
  • Web组件
  • Polymer
  • 前端开发
  • JavaScript
  • HTML
  • CSS
  • Web技术
  • 现代前端
  • 组件化开发
  • 渐进式增强
想要找书就要到 静流书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 电子工业出版社
ISBN:9787121271724
版次:1
商品编码:11790523
品牌:Broadview
包装:平装
开本:16开
出版时间:2015-10-01
用纸:胶版纸
页数:256
正文语种:中文

具体描述

编辑推荐

  Web组件仍然在技术的边缘——仅有先进的浏览器才支持这项技术——Web组件的发展和变化也极为迅速。这本实践参考书籍帮助你理解 W3C这项新兴标准,教会你如何构建可重用的、自定义的HTML5 Web组件。
  无论以往使用的是jQuery还是Polymer,又或是其他的库,这本书都可以教会JavaScript开发者,这些库背后对DOM的操作。你将学会,如何编写出一个基本的代码优雅的控件,然后将其转化为语义化、声明式、完全封装、开箱即用、可维护的Web组件,而Web必将受益于Web组件的特性,最终成为一个原生的应用平台。这本书将传授以下内容:
  ■ 理解核心概念(诸如文档流、定位、z-index 等等),以及实现定位、拖拽、移动大小
  ■ 探索UI的概念,以及Dojo、jQuery UI、Kendo UI和一些其他库中抽象出的典型模式
  ■ 深入理解W3C标准,将自己的控件转化为一个功能齐备的Web组件
  ■ 学习如何利用Google的Polymer框架封装、打包、部署你的Web组件

内容简介

  《Polymer:面向未来的Web组件开发》包含了构建常用JavaScript组件的基础知识,并通过实例带领你学习组件的概念化、设计和实施,后半部分则涵盖了封装、打包和部署的相关知识。无论你是缺乏组件使用经验的JavaScript开发人员,还是具有组件库的丰富使用经验、想创建出定制组件的前端开发人员,《Polymer:面向未来的Web组件开发》都适合你阅读。

作者简介

  Jarrod Overson,在Web开发领域有15年以上的经验,曾在创业公司工作,也曾经供职于全球性的大公司。目前他在Shape Security工作。Jarrod 是开源社区和JavaScript语言工具的活跃贡献者和布道师,他创建了Plato和许多其他的工具和库。

  Jason Strimpel,是一名具有15年以上经验的软件工程师。目前,他供职于WalmartLabs,主要工作是编写软件,以支持 UI 应用的开发。Jason同样也活跃于开源社区,他维护着诸如 LazoJS 等框架。

精彩书评

  “Jarrod和Jason的这本书,使Web组件技术对大量开发者而言,变得触手可得。自定义元素和Shadow DOM的相关章节帮助我们加深了对新Web平台特性(构建、封装)的理解,能帮助你编写出更健壮的组件和应用。”
  —— Addy Osmani
  专精于Chrome与Polymer的Google工程师

  “Jarrod和Jason的这本书让我感到很兴奋,它帮助新的开发者开启组件化Web的旅程。”
  —— Rob Dodson
  Google软件开发布道师

目录

前言i
第 1 章 概述
什么是 Web 组件
HTML 模板
HTML 引用
自定义元素
Shadow DOM
为什么使用 Web 组件
I UI 核心概念
第 2 章 基础知识
DOM 抽象层的重要性
控件的 API 和生命周期
继承模式
依赖
优化
Web 组件不仅仅是 JavaScript
示例控件
Voltron 控件基类
对话框类
对话框的 CSS 和 HTML
ix
总结
第 3 章 文档流与定位
文档流
定位元素
offsetParent
定位
计算元素的位置
相对于视窗
相对于文档
定位对话框控件
总结
第 4 章 理解和操作 z-index
z-index 究竟是什么?
渲染层、堆叠次序与 z-index
默认堆叠次序
重写默认堆叠次序
堆叠上下文
堆叠上下文是怎么创建的?
事情越来越复杂了
管理 z-index
创建对象管理 z-index
转化为 jQuery 插件
向对话框控件类添加 z-index 管理功能
总结
II 构建 UI
第 5 章 克隆节点
使用 cloneNode 方法
使用 jQuery.clone
对话框控件
总结
x | 目录
第 6 章 创建浮层
定义 API
工具
检测滚动栏的宽度
计算容器宽度时考虑滚动条
获取元素尺寸和坐标
监听尺寸改变事件和滚动事件
更新选项
销毁
定位
相对视窗或相对另一个元素定位
相对另一个元素定位元素
向对话框控件添加浮层功能
总结
第 7 章 拖动元素
鼠标事件
$.mousemove
$.mousedown
$.mouseup
鼠标事件的最佳实践
1在 $.mousedown 事件中绑定 $.mousemove 事件
2在 $.mouseup 事件中解除 $.mousemove 的绑定
3将 $.mouseup 事件响应函数绑定到 <body> 上
4命名所有事件
定义 API
创建拖拽柄
拖动起来
$.mousedown 响应函数
$.mousemove 响应函数
$.mouseup 事件响应函数
销毁可拖拽实例
使对话框控件可拖拽
总结
目录 | xi
第 8 章 调整元素尺寸
鼠标事件和最佳实践
事件
最佳实践
调整元素尺寸
编写调整尺寸的 API
拖拽/尺寸调整柄区
绑定鼠标事件
$.mousedown 事件响应函数
$.mousemove 事件响应函数
$.mouseup 事件响应函数
销毁工作
完成调整尺寸功能
使对话框控件可调整大小
总结
第 9 章 完成对话框控件
添加样式
添加 CSS
合并 JavaScript 文件
总结
III 构建 HTML5 Web 组件
第 10 章 模板
理解模板的重要性
延迟加载资源
延迟渲染内容
从 DOM 中隐藏内容
创建和使用模板
检测浏览器支持
将模板放到标签中
将模板内容插入到 DOM 中
使用模板编写对话框组件
创建和包装对话框模板 API
xii | 目录
实例化对话框组件
抽象对话框模板包装
总结
第 11 章 Shadow DOM .
什么是 Shadow DOM?
Shadow DOM 基础概念
Shadow 宿主
Shadow 根元素
在 Shadow DOM 中使用模板
Shadow DOM 的样式
样式封装
为宿主元素添加样式
在文档中设置 shadow 子树根节点样式
内容映射
通过 content 标签映射
通过选择器映射内容
节点分发和接入点
Shadow 接入点
事件与 Shadow DOM
使用 Shadow DOM 更新对话框模板
对话框标签
对话框的 API
更新对话框 show 方法
初始化对话框实例
总结
第 12 章 自定义元素 .
自定义元素简介
注册自定义元素
扩展元素
扩展自定义元素
扩展自原生元素
定义属性和方法
解析自定义元素
目录 | xiii
参与自定义元素的生命周期
createdCallback
attachedCallback
detachedCallback
attributeChangedCallback
为自定义元素添加样式
在自定义元素中使用模板和 Shadow DOM
将对话框组件实现为一个自定义元素
创建对话框自定义元素
实现对话框自定义元素的回调函数
实现对话框自定义元素的 API
显示对话框
总结
第 13 章 引入文档 .
声明引入
获取引入的内容
获取文档
应用样式
获取模板
执行 JavaScript
理解引入和主文档的关系
解析引入
跨域
二级引入
加载自定义元素
引入对话框
总结
IV 使用 Polymer 测试,构建,部署 Web 组件
第 14 章 Polymer 简介 .
Polymer 元素
添加样式
外部资源
过滤表达式
xiv | 目录
模板格式
数据绑定
循环块
上下文绑定
分支判断
复合模板指令
特性(attribute)和属性(peoperty):元素的 API
原生特性
公开属性
实例方法
Polymer 的 JavaScript API
生命周期方法
事件
处理延迟工作
总结
第 15 章 将对话框迁移至 Polymer .
到底为什么要迁移到 Polymer
直接接口
管理依赖
使用 Bower 安装依赖
让我们开始吧
太简单了吧
Polymer 世界中的 jQuery
带来了什么
移除 jQuery
关于 jQuery 的结论
总结
第 16 章 测试 Web 组件 .
PhantomJS 1
PhantomJS 2
Selenium WebDriver
Karma
测试用例
目录 | xv
运行测试
总结
第 17 章 打包和发布 .
Vulcanize
Gulp
Grunt
Gruntfiles
Grunt Tasks
注册任务
Grunt 配置
使用 Bower 发布组件
注册组件
总结
第 18 章 结语 .
往何处去
Polymer
Mozilla X-Tag
document-register-element
WebComponents.org
CustomElements.io
祝你好运
索引

前言/序言

  为什么写这本书
  13 年前,我进入了Web 开发领域。这13 年来,Web 开发技术的进化一刻都未停止过,而且,其进化的速度正在逐渐加快。如果你了解一下,Google 在Polymer 和Web 组件技术中的投入,你多半会认为,在不久的将来,随着浏览器技术的进步,Web 组件将在Web开发领域占据一席之地。虽然目前Web 组件还有一些需要解决的问题,比如搜索引擎优化(SEO)等,但我认为这不会阻碍Web 组件的发展,我甚至认为这不是一件坏事。在Web 开发领域,Web 组件技术(或具有类似关于继承、构建、封装、依赖的标准的技术)已经被期盼已久。即使你不太关心Web 组件,那么看看这个领域的牛人们是如何实现自己的UI 库(比如,使一个元素可拖拽之类),也没有坏处。
  Glenn Vanderburg 说:“开发者应该理解自己日常工作之下的抽象层。”我赞同这句话,而且我认为,对于大部分前端工程师,这一层抽象层通常就是指控件库,以及jQuery 插件甚至jQuery 本身,因为大部分前端工程师的日常工作就是跟这些工具打交道。这一层抽象层中,包含控件库所进行的DOM 操作、DOM 本身及其原生API。理解这些库是怎么工作的,会帮助你写出高效的代码,帮助你提升。
  有时候,这些常用的库并不能很好地适用你面临的具体情形(你的产品经理或信息技术官将此情形抛给你处理),这时,如果你不会“游泳”,就会“溺水而亡”。我想,提前学习一些“游泳”课程(也就是本书了),会让你在那一天到来之时不那么手忙脚乱。而我,就没你那么幸运了。
  我曾经负责制作一个定宽的门户产品,其中每一个门户组件都是可以调整大小的。听上去很简单,是吗?首先,我被告知在我之前的Web 开发者曾经尝试完成这个功能,但是都失败了,他们说这是不可完成的。好吧,听上去很挑战。当时IE9 刚刚进入市场,因为之前的“技术债”,我们运行着三个不同版本的jQuery 和两套不同版本的jQuery UI,没有一个组合能够很好地适配IE9。于是,我工作的第一步,就是将站点使用的jQuery统一到一个版本,并适配IE9。你也许认为,统一jQuery 的版本非常简单,但刚刚接手,我就意识到为什么我们欠下了那么多的“技术债”。我们的站点上运行着大量新旧混杂、良莠不齐的jQuery 插件。升级jQuery 伴随着对这些插件的升级,以及打破了现有的代码体系。我对一些插件进行了升级或者修补,而更换了另外一些插件。这个过程需要对DOM 的深入了解,当时我并不具备。我在控制台输出日志进行调试,在Stack Overflow(http://stackoverflow.com)寻求帮助,甚至进行逆向工程,最终解决了每一个问题。而这,仅仅是在开始开发新功能(门户组件可调整尺寸)之前所做的准备工作。
  接下来,我收到了一个可笑的需求,就是门户组件列的调整,只能精确地调整为某些预设好的尺寸,而不能随意调整。当时并没有一个插件能够满足这个要求,于是我编写了自己的插件。
  当我把(意大利面条似的)插件代码写完之后,我就需要应用插件使每一个门户组件可被调整大小。各种鼠标事件必须协同起来,保证拖拽的时候不会从外层容器中溢出。从此我爱上了setTimeout ,直至今天。
  如果你对我的故事感同身受,那么你自己一定也有类似的故事。就像我一样,你把各种Stack Overflow 上获得的代码片段、各式jQuery 插件,用自己的“胶水代码”粘在一起,你需要100 个不同的分支,处理各种各样的异常,这些异常均因为你对内在机制缺乏了解而造成的。我也曾经处于那种情境下,那一点都不好玩。所以,我用自己的经验写下了这本书。
  这本书除了能让你避免“溺水而亡”,还能帮助你了解UI 组件功能的底层细节。
  ? 本书允许你定义对自己有意义的API,因为jQuery 插件并不适用每一个人。
  ? 让你拥有整个技术栈的控制,方便你调试,允许你自己决定某些变化发生在哪个层面。
  ? 允许你自己决定哪些特性是重要的,哪些是不必要的,以控制代码的体积。这在对代码体积比较关心的场合(如手机应用)很有用。
  ? 允许你针对自己的应用和用户场景做额外的优化。
  最后,我认为每个前端工程师都应该理解原生DOM 和JavaScript。这份理解,和设计方案的能力,是优秀的前端工程师所必须的。
  本书包含什么
  本书编写的最初目的,是向读者传授基础知识,用以开发和部署Web 组件。本书更像是入门教程,而不是详尽、彻底的教科书。本书中的知识被分为四个部分,每个部分为一篇,每一篇又分几个章节,全部是围绕一份项目代码编写的。
  第I 部分UI 核心概念
  第I 部分的内容包含了诸如克隆节点、渲染图层、堆叠上下文,以及z-index 的相关知识,理解这些知识能帮助我们对页面上的元素进行定位、拖拽和尺寸调整。这些概念经常被开发者误解(或不完全理解),进而导致不佳的软件设计和实现,影响应用的性能与代码的可维护性。如果你对这些概念已经了如指掌,那么也可以跳过第I 部分。
  第I 部分,我们将引入一个组件基类(它会派生出对话框控件类)。组件基
  类和对话框将贯穿本书的其余部分。如果你跳过了第I 部分,但又想了解一
  下组件基类的细节,可以快速回顾一下第 2 章。
  第II 部分构建UI
  本书第II部分介绍了当下前端类库,如Dojo(http://dojotoolkit.org)、jQueryU(I http://jqueryui.com)、KendoU(I http://www.kendoui.com)、Twitter Bootstrap(http://getbootstrap.com)遵循的概念和模式。你日常工作中用到的UI 组件,可能就是遵循这些概念和模式实现出来的。如果不深入其中,这些抽象和UI 组件提供的好处是很难理解的。我强烈建议前端工程师使用一个提供了良好生命周期、继承模式、工具函数和工具类的基础库,比如jQuery UI。如果你想追寻一个更轻量级的库,那么你可以了解一下jQuery++(http://jquerypp.com),这个库提供了拖拽、调整尺寸等功能,代码体积仅为162KB。它也允许你挑选其中的部分特性生成一份代码,以进一步减少库的代码体积。
  本书将实现一个对话框组件,实现该组件的过程就是实践上述概念和模式的过程。
  如果你对这些模式都非常清楚,想更深入地研究Web 组件,那么也可以从第 III 部分开始。
  第III 部分构建HTML5 Web 组件
  本书的第III 部分,介绍了由W3C 定义、浏览器实现的Web 组件技术。这一部分使用了前两部分编写的对话框控件,将其转化为一个功能全面的Web 组件。
  第IV 部分使用Polymer 测试,构建,部署Web 组件
  本书的第IV 部分涵盖了如何使用Google 的Polymer(http://www.polymer-project.org)桥接Web 组件技术与当前浏览器环境。Polymer 提供了方便的API,便于你创建可扩展的Web组件。这一部分,还将指导你将第 III 部分编写的对话框Web 组件转化为一个Polymer组件。最后,本书还会介绍如何使用构建工具和包管理工具打包和部署Web 组件(包括Polymer 化版本的组件)。
  本书不包含什么
  本书的目的不是成为一份开发Web 组件的“权威指南”,教会你在任何能够访问互联网的设备上开发Web 组件。因为以下两个原因,这几乎是不可能的。
  首先,这几年浏览器性能正在飞速的提升,而Internet 也从一个“文档传递”网络逐渐变成了一个准应用平台。在这个转变的过程中,浏览器变得更加稳定,具有了更多丰富的特性。在编写表格布局的页面和使用Netscape 4 进行测试的年代里,这是不敢想象的事情。很多原本需要使用JavaScript 实现的功能,现在只需要CSS 就能够完成了。然而问题是,虽然Web 的标准在进化,但浏览器并没能完全跟上,或者说不同浏览器对新特性的实现进度并不一致。浏览器的引擎,是浏览器厂商自己基于W3C 标准而实现的,不同厂商的实现细节自然不一样。这些新的特性,对于Web 组件开发来说尤为重要,但是浏览器世界是一个新的主题,一本书也不一定说得完,更不可能在本书中讨论清楚浏览器问题的细节了。而且当你开发Web 组件的时候,哪些浏览器支持哪些不支持,这些也不是最重要的。
  其次,这五年来,能够访问互联网的设备,其数量和种类(手机,平板电脑等)也在飞速增长。新设备的进化和增长,以及设备厂商的努力,使得之前的诸如有限的处理器性能、有限的存储空间、较小的屏幕、较差的网络连接等问题得到了解决。新设备给Web开发领域的影响是有趣的,也带来了一些新概念和新模式,如响应式布局设计、触摸和手势事件,等等。但是,每个设备都有自己的“怪癖”,不断增长的移动设备市场,也会给Web 开发领域带来新的课题。但是,这个课题本书也并不会涉及。
  试图在一本书中同时解释清楚这些复杂的问题,几乎是不可能的。本书的内容比《计算机编程艺术》还要宽泛,但是在第一章写完之前,也许就过时了。
  除了关于市场上设备数量和功能的问题,你还需要知道的是,W3C 制定的Web 组件标准仍然在发展中。因此,本书中包含的内容,也许很快就会过时。等Web 组件标准制定好之后,会再出一版新版。我将尽最大的可能紧紧跟随标准。
  如何使用代码范例
  你可以在https://github.com/webcomponentsbook
  (https://github.com/webcomponentsbook)上下载到本书相关的学习材料(代码示例、练习等)。
  本书可以帮助你完成工作。一般来说,可以在自己的程序和文档中使用本书的代码。除非将重新编译代码中的重要部分,你不需要联系我们获取授权。比如,使用本书中的若干程序来编写自己的代码是无须授权的,但是销售或发布O’Reilly 出版书籍配套光盘中的代码是需要授权的。通过本书中的示例程序回答问题是无须授权的,而将本书中重要部分的示例代码整合到你的产品的文档中是需要授权的。
  我们感谢你在使用我们的代码时给出引用说明,但这不是必需的。一个引用说明通常包括标题、作者、出版社和ISBN。比如,本书的引用说明:“Developing Web Componentsby Jarrod Overson and Jason Strimpel (O’Reilly). Copyright 2015 Jarrod Overson and JasonStrimpel, 978-1-491-94902-3.”。
  如果你不确定使用的示例代码是否超出了上述约定,可以随时通过电子邮件联系我们。
  我们的电子邮件地址是permissions@oreilly.com。
  Safari? 在线图书
  Safari Books Online(www.safaribooksonline.com)是一个发布来自全球技术和商业领域的顶尖作者写的书和视频等优质内容的按需数字化图书馆。
  大量的技术软件、软件开发者、Web 设计师,以及商业和创意设计师都在使用Safari BooksOnline,并将其作为研究、解决日常问题,学习及认证培训的首要资源。
  Safari Books Online 为各种组织、政府机构和个人提供了一组产品包和计费系统。订阅者可以访问成千上万种数据、培训视频、正式出版的手稿。这些内容来自以下出版社的全文检索数据库:O’Reilly Media、Prentice Hall Professional、Addison-Wesley Professional、Microsoft Press、Sams、Que、Peachpit Press、Focal Press、Cisco Press、John Wiley & Sons、Syngress、Morgan Kaufmann、IBM Redbooks、Packt、Adobe Press、FT Press、Apress、Manning、New Riders、McGraw-Hill、Jones & Bartlett、Course Technology 等。关于Safari Books Online的更多信息,请访问我们的在线站点。
  致谢
  Jason Strimpel
  首先,我要感谢我的妻子Lasca 对我的鼓励和理解。我无法想象比她更好的人生伴侣,也没有见过另一个像他这样聪慧、美丽和特别的人。我爱你,你是我的一切。
  我还要感谢我的老板Claude Jones,他帮助和指导我完成了本书。没有他,就没有这本书的存在。
  我还要感谢本书的另一位作者Jarrod Overson,他答应编写本书的第IV 部分。如果本书有什么不恰当的地方,那一定是我的责任。跟我相比,你是一位更有天赋的作者、演说家和工程师。
  此外,我还要感谢Simon St.Laurent,他倾听了我的不成熟的想法,并给出了很好的建议,这些建议帮助我把这些想法最终转化为了本书。同样,本书的编辑Brian Anderson,他是我见过的最耐心的人。如果没有他,本书只会是一堆没有上下文,无法被其他人理解的手稿。谢谢你,Brian。
  最后,我还要感谢本书的“隐秘合伙人”:社区中的那些编程牛人。他们的编程水平远超于我,教会了我无数的知识和经验。他们从公众视野中为我们选择出了最精华的部分。
  如果你足够幸运,能够与他们共事,那么请相信我,你一定会马上发现(他们是真正的牛人),并听从他们的经验。正是因为他们,我才能够从一个资质平平的开发者成长为一名工程师,才能够分享我拥有的这些知识。
  Jarrod Overson
  如果没有我耐心的妻子,Kate Lane,我在本书中的工作根本无法完成。这些年,她已经习惯于听我唠唠叨叨地讲述那些关于JavaScript 体系和物理模拟的话题,默默支持我,还能保持好奇心。是你的支持,使我能够安心出国演讲、写代码到深夜、花费很多时间组织社区事务。没有你的支持,就没有我所拥有的一切,包括我们的两个可爱的孩子。
  谢谢你Finn,你为我的生活带来了太多的乐趣。作为你的父亲,我常常被你的天才想法所惊讶和激动。同样谢谢你Norah,你总能够让我抛却烦恼。你们两个是我的骄傲和前进的动力。
  最后,谢谢你Jason。你在编写本书的时候想到了我,你是San Diego 最优秀的开发者之一,与你共事是我的荣耀。希望在将来,能够与你有更多的合作。

Polymer:面向未来的Web组件开发 简介 在瞬息万变的Web开发领域,组件化已成为提升效率、可维护性和复用性的关键。Polymer,作为Google推出的一款强大的JavaScript库,为开发者提供了一种标准化的、面向未来的方式来构建和使用Web组件。本书《Polymer:面向未来的Web组件开发》深入探讨了Polymer的核心概念、实践技巧以及其在现代Web应用开发中的广阔前景。本书旨在帮助开发者从零开始掌握Polymer,并将其应用于实际项目中,构建出更具扩展性、更易于维护的下一代Web应用。 为何选择Polymer? 随着Web技术的飞速发展,构建复杂、交互式的Web应用变得越来越具有挑战性。传统的JavaScript框架虽然带来了便利,但也往往伴随着学习曲线陡峭、过度依赖特定生态系统以及在不同框架间迁移困难等问题。Web组件(Web Components)的出现,为解决这些问题提供了标准化、原生支持的解决方案。Web组件是一套独立的API,允许开发者创建可重用的自定义HTML元素,它们具有封装性、互操作性和可组合性,能够在任何支持Web组件的浏览器中原生运行,无需依赖任何特定的JavaScript库或框架。 Polymer正是基于Web组件标准构建的库。它通过提供一套简洁、高效的API,极大地简化了Web组件的创建过程,并引入了一些额外的增强功能,使得开发者能够更轻松地构建出功能强大、性能卓越的Web应用。与直接使用原生Web组件API相比,Polymer提供了更高级别的抽象,降低了开发复杂度,并带来了诸如声明式模板、数据绑定、响应式更新、事件处理以及更友好的开发体验。 本书内容概述 本书将带领读者踏上一段全面的Polymer学习之旅,内容涵盖了从基础概念到高级特性的方方面面。 第一部分:Web组件基础与Polymer入门 Web组件的核心理念: 在深入Polymer之前,本书首先会详细阐述Web组件的四大核心技术:Custom Elements、Shadow DOM、HTML Templates和HTML Imports。理解这些基础概念对于掌握Polymer至关重要,本书将通过清晰的解释和生动的示例,帮助读者建立扎实的Web组件理论基础。 Polymer的安装与项目结构: 介绍Polymer的安装方式,包括使用npm/yarn进行包管理,以及如何设置Polymer开发环境。本书还将指导读者创建第一个Polymer项目,并介绍典型的Polymer项目结构,帮助读者快速搭建起开发环境。 创建第一个Polymer元素: 从最基础的Polymer元素创建开始,讲解如何定义自定义标签、如何编写元素的生命周期回调函数(如`createdCallback`、`attachedCallback`、`detachedCallback`、`attributeChangedCallback`),以及如何为元素设置属性和监听属性变化。 数据绑定与属性: 深入讲解Polymer强大的数据绑定机制。本书将介绍单向绑定、双向绑定以及属性的声明方式。通过丰富的实例,展示如何将数据模型与DOM元素进行连接,实现数据的自动同步更新,从而大大简化UI的开发。 事件处理与DOM操作: 讲解Polymer中事件处理的模式,包括如何在自定义元素中监听和派发事件。同时,也会介绍Polymer提供的DOM操作API,帮助读者更高效地操作元素的内部结构。 模板与样式封装: 介绍Polymer的模板系统,如何使用HTML模板来定义元素的结构,并展示Polymer如何利用Shadow DOM实现样式封装,确保组件内部样式不影响外部,外部样式不轻易穿透组件,实现真正的组件化隔离。 第二部分:Polymer的高级特性与最佳实践 自定义属性与观察者: 深入探讨Polymer中自定义属性的设置、默认值以及如何使用属性观察者(Observers)来响应属性的变化,实现更精细的数据逻辑控制。 计算属性与方法: 讲解如何创建计算属性,根据现有属性动态计算出新的值,以及如何为Polymer元素添加自定义方法,增强组件的功能和可交互性。 事件冒泡与委派: 进一步讲解Polymer的事件处理机制,包括如何控制事件的冒泡行为,以及如何利用事件委派来提高性能和简化代码。 依赖管理与组件组合: 介绍Polymer中组件之间的依赖关系管理,以及如何将多个Polymer组件组合起来,构建更复杂的UI结构。本书将展示如何通过组合来重用现有组件,构建出模块化的应用程序。 数据存储与状态管理: 探讨在Polymer应用中进行数据存储和状态管理的方法。本书将介绍Polymer提供的简单数据管理机制,并引导读者了解更高级的状态管理模式,以应对大型应用的复杂性。 动画与过渡效果: 讲解如何为Polymer组件添加平滑的动画和过渡效果,提升用户体验。本书将介绍Polymer内置的动画API,并展示如何结合CSS Animations和Transitions来实现丰富的视觉效果。 可访问性(Accessibility): 强调Web组件的可访问性,介绍Polymer如何支持ARIA(Accessible Rich Internet Applications)属性,以及如何编写可访问的Polymer组件,确保所有用户都能无障碍地使用Web应用。 测试Polymer组件: 讲解如何对Polymer组件进行单元测试和集成测试,确保组件的稳定性和可靠性。本书将介绍常用的测试工具和方法,帮助读者建立良好的测试习惯。 性能优化策略: 深入探讨Polymer应用的性能优化技巧,包括如何减少DOM操作、优化数据绑定、利用懒加载以及打包优化等,以构建高性能的Web应用。 第三部分:Polymer在实际项目中的应用 构建一个完整的Polymer应用: 通过一个实际的项目案例,本书将带领读者将前面学到的知识融会贯通,构建一个功能完整的Polymer应用,例如一个待办事项列表、一个简单的电商网站展示页面等。 与现有框架的集成: 探讨Polymer如何与现有的JavaScript框架(如React、Vue.js、Angular)以及服务器端渲染(SSR)技术进行集成,为开发者提供更大的灵活性。 Polymer生态系统概览: 介绍Polymer的生态系统,包括官方提供的UI组件库(如Polymer Elements)、社区贡献的各种工具和库,帮助读者充分利用Polymer的生态资源。 迁移到Web组件: 对于已经在使用其他前端框架的团队,本书将提供关于如何逐步将现有应用迁移到Web组件的指导和建议。 面向未来的Web开发: 总结Polymer在构建下一代Web应用中的优势,展望Web组件技术的未来发展趋势,以及Polymer在其中扮演的角色。 谁适合阅读本书? 本书适合以下人群: 前端开发者: 想要学习如何使用Polymer构建现代化、可复用的Web组件的开发者。 对Web组件感兴趣的开发者: 希望深入了解Web组件技术,并学习如何利用Polymer实现高效开发。 需要构建大型、可维护Web应用的团队: 寻找一种能够提升代码质量、简化开发流程的解决方案。 对组件化开发有追求的开发者: 希望掌握一种能够跨框架、跨项目重用的技术。 本书的价值 通过阅读《Polymer:面向未来的Web组件开发》,您将能够: 掌握Web组件的核心技术, 深刻理解其工作原理。 熟练运用Polymer库, 高效地创建和管理Web组件。 构建出高度复用、易于维护的Web应用, 提升开发效率和项目质量。 理解Polymer在现代Web开发中的定位和优势, 为未来的技术选型提供参考。 为构建更具可扩展性、更具前瞻性的Web应用打下坚实基础。 Polymer不仅仅是一个库,它代表着一种面向未来的Web组件开发理念。本书将助您掌握这一强大的工具,开启您的Web组件开发新篇章。

用户评价

评分

读到这本书的名字,我脑海中立刻浮现出一种“技术革新”的画面。Polymer,这个名字本身就带有一种“聚合”和“构建”的意味,而“面向未来的Web组件开发”,更是直接点出了其核心价值——构建未来。在如今快速迭代的前端开发领域,找到一个能够“站得住脚”、能够支持项目长期发展的技术栈至关重要。而Web组件,正是朝着这个方向迈出的重要一步。它预示着一种更加标准化、更加模块化的开发模式。 我期待这本书能够不仅仅停留在理论层面,而是能够提供丰富的实践指导。比如,书中是否会涵盖如何有效地管理组件的状态、如何处理组件之间的通信、如何进行组件的测试和部署?这些都是在实际开发中会遇到的关键问题。我特别想了解Polymer是如何解决这些痛点的,它是否提供了一些独特的工具或模式来简化这些流程。如果这本书能让我看到Polymer如何在实际项目中落地,如何帮助开发者构建出高性能、高可维护性的Web应用,那么它无疑就是一本值得深入研究的宝藏。

评分

“Polymer:面向未来的Web组件开发”——这书名一出,瞬间就能抓住我的注意力。作为一个长期在前端领域摸爬滚打的开发者,我深切体会到技术迭代的迅猛,以及“跟上趟”的压力。Web组件的概念,听起来就有一种“终极解决方案”的潜质,能够解决困扰已久的“组件孤岛”问题,实现真正的跨平台、跨框架的复用。这本书的“面向未来”几个字,更是让我嗅到了“下一代前端开发”的味道。 我迫切地想知道,Polymer是如何在标准化Web组件的基础上,提供更强大、更灵活的开发能力。它是否能够帮助我们摆脱对特定框架的过度依赖,从而拥有更大的自由度和更强的适应性?书中是否会深入探讨Polymer的架构设计,以及它在性能优化、安全性和可访问性方面的考量?如果这本书能够详细解析Polymer的API,并提供大量实际可操作的代码示例,那就太棒了。我希望通过阅读这本书,能够全面掌握Polymer的精髓,并将其应用到我的实际项目中,构建出真正符合未来发展趋势的Web应用。

评分

这本书的名字听起来就充满了希望和前瞻性,"Polymer:面向未来的Web组件开发"。光是这个名字,就足以激起我对这项技术的好奇心。我一直在关注前端技术的发展,尤其是那些能够提升开发效率、降低维护成本、并且能够适应未来复杂应用需求的技术。Web组件的概念,在我看来,就是这样一个具有巨大潜力的方向。它承诺了封装性、可复用性和互操作性,这些都是现代软件开发中不可或缺的要素。 想象一下,如果我们可以将UI的各个部分像乐高积木一样独立开发、测试,然后随意组合,那将是多么美妙的场景。传统的前端开发中,组件化固然已经取得了长足的进步,但不同的框架之间往往存在壁垒,重用性也常常受限于特定的生态系统。而Web组件,如果能够真正实现跨框架、跨浏览器的标准,那将是前端工程化的一大飞跃。这本书的书名直接点明了“面向未来”,这让我对它能够提供的解决方案充满期待。我希望它能深入浅出地讲解Polymer的核心概念,比如Custom Elements、Shadow DOM、HTML Templates等,并展示如何利用这些能力构建出真正强大且易于维护的Web应用。

评分

一看到“Polymer:面向未来的Web组件开发”这个书名,我的第一反应就是:“终于有一本书谈论这个方向了!”。长期以来,虽然各种前端框架层出不穷,但我们一直在寻找一种更底层、更具普适性的解决方案,而Web组件无疑是其中最有希望的候选者之一。Polymer,作为谷歌推出的一个重量级项目,一直备受关注。这本书的名称直接点明了其核心——“面向未来”,这让我对它能够提供的前瞻性洞察和实用性指南充满了期待。 我非常好奇书中会如何阐述Polymer的优势,以及它与原生Web组件之间的关系。是否会有关于如何利用Polymer构建复杂、可维护的大型应用程序的案例分析?它在性能、开发效率和开发者体验方面,又能带来哪些突破性的改进?我希望这本书能够深入剖析Polymer的内部机制,并提供清晰易懂的解释,让我能够真正理解其工作原理,而不仅仅是停留在API的使用层面。如果这本书能够指导我如何利用Polymer解决实际开发中的难题,那将是极大的收获。

评分

“Polymer:面向未来的Web组件开发”——这个书名就像一张藏宝图,瞬间就点燃了我对未知的好奇心。在前端开发日新月异的今天,能够找到一本深入探讨Web组件的著作,并且还是以“面向未来”为导向,这无疑是一件令人振奋的事情。Web组件的概念,为我们提供了一种全新的构建和组织UI的方式,它承载着实现真正的组件化、模块化和跨框架复用的梦想。 我非常期待这本书能够深入浅出地讲解Polymer的核心技术,例如Custom Elements、Shadow DOM、HTML Templates等,并且能够提供详实的示例代码,让我能够快速上手。更重要的是,我希望这本书能够教会我如何利用Polymer来构建高性能、可维护、易于扩展的Web应用程序。书中是否会涉及Polymer在实际项目中的最佳实践?它在性能优化、安全性以及与其他技术的集成方面,又有哪些独到的见解和解决方案?如果这本书能够帮助我理解并掌握Polymer的精髓,从而在未来的Web开发中占据先机,那么它将是我不可多得的宝贵财富。

评分

好好好好好好好好好好好好好好好好好好

评分

书不错,值得购买。。。。。。。。

评分

好,很好。。。。。。

评分

前端组件学习,同事推荐和好评

评分

前端组件学习,同事推荐和好评

评分

太高深了,看不懂

评分

还不错

评分

书不错,值得购买。。。。。。。。

评分

好,很好。。。。。。

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有