Taro多端开发权威指南:小程序、H5与App高效开发实战
  • 推荐0
  • 收藏0
  • 浏览271

Taro多端开发权威指南:小程序、H5与App高效开发实战

李佩忠 (作者) 

  • 丛  书:高效实战精品
  • 书  号:978-7-121-40906-6
  • 出版日期:2021-04-20
  • 页  数:308
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 维护人:李秀梅
纸质版 ¥79.00
本书详细介绍了使用Taro进行多端开发所需要掌握的知识点。本书由浅入深,介绍了ES 6常用语法、Taro基本用法、数据交互、Hooks解耦状态与视图、多端开发、Taro UI使用、插件的使用、性能优化与Taro原理剖析,最后以一个项目串联知识点,带读者一窥从项目搭建,到需求评审与开发,再到性能优化,最终部署上线的整个流程,直至完成一个完整的Taro多端开发项目。
本书示例丰富、注重实战,适用于从零开始学习Taro开发的初学者、希望更全面深入理解Taro的开发者。同时由于Taro与React语法相近,因此本书介绍的很多开发思想和实践经验同样适用于React开发者。
开放式跨端跨框架解决方案/快速开发微信\京东\百度\支付宝\字节跳动\ QQ小程序\H5\React Native等应用/专业讲解基础知识,丰富实战项目经验传授
推荐序
2017年1月9日凌晨,微信正式推出小程序,为移动端家族增加了新的业务形态和玩法。当大家还在探讨这一新兴平台能做什么的时候,京东率先上线了“京东购物”小程序,惊艳业界。随后,更多的电商行业执牛耳者纷纷入驻小程序,从此,承载电商的主战场逐渐从需要自建流量的移动端App向小程序倾斜。
小程序的出现,为电商行业的研发带来了巨大的挑战。继微信之后,越来越多的头部流量互联网公司纷纷盯上小程序这块“蛋糕”,相继推出了各自的小程序平台,如京东、阿里巴巴、百度、字节跳动等,为了让我们的电商业务能快速移植到这些小程序平台,帮助我们快速拓展业务渠道,我们开始了新的尝试。
我们开始尝试使用技术的手段,探索一种能够统一所有平台开发的新技术。
Taro正是在这一背景下诞生的解决方案,从小程序出发,逐步统一H5、App这些平台,从而解决业务多端适配的问题,帮助业务快速适配更多平台,获得更多的流量收益。
目前Taro作为多端统一开发解决方案,在京东内部服务于京东零售、物流、数科、智联云、安联保险等多个子集团,为京喜、京喜拼拼、京东快递、京东生鲜、7Fresh、拍拍二手等70余个重量级业务的研发上线助力赋能,大幅提升业务研发效率。同时,在业界,Taro 累计服务超过10万名开发者,共有281位开源爱好者为Taro贡献过代码。Taro团队还与业界多家头部互联网公司研发团队共同探讨进步。
Taro 是一个非常值得学习的,也是一个生生不息、积极开放的多端技术方案。
本书是一场关于Taro的深入浅出学习之旅。首先,它从 Taro 的基础知识开始,帮助读者了解Taro、熟悉Taro,再结合实践经验,帮助读者构建组件化开发的思想,同时深入介绍了React及其生态,帮助读者打下坚实的基础。然后,深入介绍了Taro的多端开发知识、性能优化实践及Taro的核心原理,让读者对Taro有更深层次的了解。最后,结合具体实战,帮助读者总结知识、消化知识,达到融会贯通的目的。
本书将是入门Taro、深入使用Taro的好帮手,无论是Taro初学者,还是想在Taro之路上更进一步的开发者,都能获益匪浅。
从 Taro 1 到 Taro 2,再到目前最新的Taro 3,都可以看出Taro 一直在坚定不移地探索、前进,一切都为了更好的开发体验和更高的研发效率。当下 Taro 已成为业界最为火热的多端统一开发解决方案,它将会继续保持初心,不断地成长。我们也将基于 Taro 输出更多好玩的东西到社区,帮助开发者更好地开发多端应用。学习Taro最好的时候是过去,同时也是现在。

——隔壁老李,京东零售凹凸实验室资深前端工程师

前言
2017年1月9日,微信小程序正式上线。自此,这种触手可及、用完即走的小程序产品引起广泛关注。
在此后的一段时间里,数个产品均发布了自己的小程序平台,其中包括支付宝小程序、百度小程序、字节跳动小程序等。各小程序平台间存在或多或少的差异,如语法差异、规范差异等,对于开发者而言,开发各端小程序是非常浪费精力的,因为各端小程序之间存在的差异是少量的,我们希望编写同一套代码,在编译时抹平各端差异,从而提升开发效率,降低开发成本。
除了小程序,产品可能还需要在 H5、iOS、Android 端运行。能否在兼顾小程序的同时编译生成 H5、iOS、Android 应用呢?毕竟在 React 的生态里,有一个框架——React Native 支持使用 React 开发 iOS、Android 应用。经过很多开发者的不停探索,催生出了很多优秀的多端开发框架,其中就有 Taro。
Taro 诞生已有两年多时间,在这两年多时间里,Taro 一直保持高速成长状态。从 1.x 版本到 3.x 版本,Taro 经历了大的版本迭代与重构,正是因为源码的不断重构与架构调整,才使得更多的开发者加入其中,共同迭代升级 Taro,有越来越多的公司选择使用 Taro 开发多端统一应用。
多端开发“封神榜”上,一定会有 Taro 的名字。

阅读建议
本书从基础知识切入,循序渐进,由浅入深。在掌握 Taro 基础知识以后,你可以尝试使用 Taro 去开发一些小的案例,书中也提供了一些小案例用于理解某些开发中常用的知识点。最后通过开发一个闲置换 App,带读者一窥从项目搭建,到需求评审与开发,再到性能优化,最终部署上线的整个流程。
本书作为市面上首本 Taro 开发参考书,首先需要覆盖绝大多数开发工作中所使用的知识点,将这些知识点穿成线。其次需要带读者一起了解 Taro 原理,知其然且知其所以然才能让我们在开发工作中游刃有余。本书一共12章,各章内容介绍如下:
第1章 介绍了 Taro 的诞生背景、基本理念及主要特性。同时介绍了使用 Taro 进行开发前需要掌握的 ES 6 常用语法知识、Taro 脚手架及规范约定。学完本章,相信大家会对使用 Taro 开发多端应用有一个基本认识。
第2章 介绍了 JSX 语法基础。同时介绍了组件化开发基本思想、组件生命周期、组件中事件的处理,以及如何绑定事件、如何解决 this 指向性问题等。了解单个页面开发以后,我们可以尝试将多个页面有机组合,这时就需要使用路由功能了。路由系统将各个模块通过路径和路径参数编织成网,路由操作允许你在网的节点之间穿梭。最后以表单控件串联起了本章学习的重要内容,举一反三。
第3章 介绍了组件设计基本原则。介绍了组件关系、组件之间的通信即状态同步问题。还介绍了组件和服务端数据交互与通信使用的 API,同时介绍了如何使用拦截器在请求发出前或响应到来后做一些特殊处理。最后介绍了 Ref 在开发过程中的使用方法。
第4章 介绍了项目中常用的两种集中状态管理方案,分别为 Redux 与 MobX。在新版本的 Taro 中建议使用 Hooks 结合 context 管理状态。
第5章 介绍了 Hooks 相关知识。Hooks 赋予了函数组件管理内部状态和处理副作用的能力,使得组件与数据得以拆分,同时解决了状态难以复用的问题。
第6章 介绍了如何使用 Taro 同步开发多端应用,开发之前需要根据项目具体需求和设计稿合理配置项目配置文件。开发多端应用过程中,可供选择的方案有3种,可根据模块开发需求选择合适方案。然后介绍了如何修改配置以支持多端同步调试与打包。
第7章 介绍了 Taro UI 的使用,使用 Taro UI 不仅能降低开发成本,还能保证多端样式统一。
第8章 介绍了 Taro 中较难理解但是颇有用途的一个特性——插件机制。插件机制提供给开发者众多能力,例如,自定义业务相关插件辅助业务开发、自定义命令拓展 Taro 命令行工具、自定义 Hooks 处理自定义处理逻辑,甚至可以借助该功能拓展编译规则,从而使 Taro 支持更多端应用的编译工作。工作中用好 Taro 插件机制能在很大程度上提高开发及构建效率。
第9章 介绍了 Taro 项目性能优化的知识。我们可以通过 Prerender 预渲染提升渲染速度,利用虚拟列表解决大数据列表的性能问题,同时可以自定义组件更新重渲染条件从而达到优化目的。还介绍了 Taro多端开发的实现原理,通过讲解 Taro 1.x 源码,介绍了 Taro的基本原理。
第10章 介绍了微信小程序、支付宝小程序、React Native 的开发环境搭建的相关内容,通过 Taro 编译不同端应用以提升开发效率。
第11章 介绍了使用 Taro 开发 H5、微信小程序、React Native 端应用的流程,从项目搭建到多端适配,完整讲解了使用 Taro 开发多端应用的方法和需要注意的问题,最后介绍了不同端打包发布的流程,从0到1打造多端应用。
第12章 介绍了 Taro 的发展及如何使用 Taro 3 进行多端开发。
通过阅读本书,希望读者能对多端开发方案有一定认识,能够使用 Taro 开发多端应用。
读者反馈
本书作为市面上首本全面讲解 Taro 的图书,在写作过程中,我深感开创者的不易,因自身水平有限,书中难免会有疏漏,恳请读者指正。你可以通过邮箱 flana_zhong@163.com 与我联系,或者关注我的微信公众号“JavaScript 全栈”私信我,看到反馈后我会第一时间回复。
示例代码下载
本书实战部分代码托管在GitHub 上,访问地址为https://github.com/HeyiMaster/taro-book,源码仅供参考学习,建议结合书中源码片段学习。
致谢
我坚信成就自己最好的方式就是帮助他人。我乐于分享,无论是技术还是生活,在将我所掌握的知识、生活技能等通过文字或视频形式传递给他人的时候,我都非常开心。正是因为分享和开源,我有幸结识了 Taro 团队的很多小伙伴,他们为 Taro 付出了很多,牺牲了很多周末时间,推掉了很多个朋友聚会,挤压了陪伴家人的时间。同时我在想,为什么目前市面上还没有一本工具书介绍 Taro,让更多开发者听到 Taro 的声音?
因为一直囿于文笔不好,担心写出的内容不能很好地将 Taro 的精华传授于读者,所以踟蹰不前。直到电子工业出版社编辑李秀梅老师找到我,给予了我很多鼓励,加上疫情在家无法外出,可以全身心投入写作,我才决定开始本书的写作。
在此,特别感谢 Taro 团队小伙伴老李、立哥、帅哥的答疑解惑,同时特别感谢电子工业出版社李秀梅编辑不厌其烦地纠正书稿中的错误。真心感谢你们,是你们的支持和鼓励让这本书得以面世。
最后,感谢我的父母,是你们含辛茹苦将我养育成人。也感谢我的妻子严霜,是你的支持与理解让我顺利完成写作。

目录

第1章 初识Taro 1
1.1 Taro介绍 2
1.1.1 简介 2
1.1.2 特性 2
1.1.3 Taro UI 4
1.1.4 其他 5
1.2 ES 6常用语法简介 5
1.2.1 变量定义新方式——let、const 5
1.2.2 告别字符串拼接——模板字符串 7
1.2.3 优雅获取数组或对象中的值——解构赋值 8
1.2.4 二次元函数——箭头函数 9
1.2.5 异步处理——Promise 9
1.2.6 面向对象编程——class 11
1.2.7 模块化——import、export 12
1.3 开发环境及工具介绍 12
1.3.1 安装Taro脚手架工具 12
1.3.2 初始化项目 13
1.3.3 运行项目 13
1.3.4 打包项目 15
1.3.5 Taro脚手架命令 15
1.4 规范约定 18
1.4.1 项目组织 18
1.4.2 JavaScript / TypeScript书写规范 19
1.4.3 组件及JSX书写规范 20
1.5 本章小结 21
第2章 Taro基础 22
2.1 JSX 23
2.1.1 JSX简介 23
2.1.2 JSX语法 23
2.2 组件化 25
2.2.1 初识组件 26
2.2.2 组件定义 27
2.2.3 props 29
2.2.4 state 30
2.2.5 样式 31
2.3 组件生命周期 33
2.3.1 组件挂载 34
2.3.2 组件更新 34
2.3.3 组件卸载 35
2.4 事件处理 36
2.5 路由功能 40
2.6 实战案例:受控与非受控Input组件 42
2.7 本章小结 44
第3章 Taro进阶 45
3.1 组件设计 46
3.2 组件通信 47
3.2.1 父子组件通信 47
3.2.2 兄弟组件通信 49
3.2.3 更复杂的组件通信 49
3.3 服务端通信 52
3.3.1 Taro.request 52
3.3.2 请求终止 54
3.3.3 请求拦截器 55
3.4 使用Ref 56
3.5 本章小结 59
第4章 集中状态管理 60
4.1 Redux 61
4.1.1 Redux 设计理念 61
4.1.2 在Taro中使用Redux 63
4.1.3 Redux 案例 65
4.2 MobX 69
4.2.1 MobX 设计理念 69
4.2.2 在Taro中使用MobX 69
4.3 本章小结 73
第5章 Hooks 74
5.1 Hooks 简介 75
5.1.1 class组件的不足 75
5.1.2 Hooks概览 76
5.1.3 Hooks规则 80
5.2 Hooks基础 80
5.2.1 useState 81
5.2.2 useEffect 81
5.2.3 useReducer 83
5.2.4 useCallback 85
5.2.5 useMemo 86
5.2.6 useRef 87
5.2.7 useContext 88
5.2.8 其他Hooks 88
5.3 自定义Hooks 91
5.4 本章小结 94
第6章 多端开发 95
6.1 编译配置与约定 96
6.1.1 编译配置 96
6.1.2 设计稿与尺寸单位约定 98
6.2 多端开发方案 100
6.2.1 内置环境变量 100
6.2.2 统一接口的多端文件 101
6.2.3 指定解析 node_modules 包中的多端文件 103
6.3 多端同步调试与打包 104
6.4 本章小结 105
第7章 Taro UI 106
7.1 安装及使用 107
7.1.1 快速上手 107
7.1.2 自定义主题 108
7.2 组件介绍 110
7.3 本章小结 111
第8章 插件机制 112
8.1 插件机制简介 113
8.2 插件使用 115
8.3 自定义插件 117
8.3.1 插件结构 117
8.3.2 插件使用场景 117
8.3.3 插件环境变量 120
8.3.4 插件方法 122
8.4 本章小结 127
第9章 性能优化与原理剖析 128
9.1 性能优化 129
9.1.1 Prerender 129
9.1.2 虚拟列表 133
9.1.3 组件更新条件 134
9.2 Taro框架原理 135
9.2.1 Taro框架结构分析 136
9.2.2 Taro编译原理 138
9.2.3 Taro运行时 144
9.3 Taro 3.x原理概述 146
9.4 本章小结 155
第10章 多端开发环境搭建 156
10.1 微信小程序开发环境搭建 157
10.2 支付宝小程序开发环境搭建 158
10.3 React Native开发环境搭建 160
10.3.1 在macOS系统下搭建iOS开发环境 160
10.3.2 在macOS系统下搭建Android开发环境 160
10.3.3 在Windows系统下搭建Android开发环境 162
10.3.4 使用Taro开发 iOS应用 162
10.3.5 使用Taro开发Android应用 164
10.4 本章小结 166
第11章 闲置换App开发实践 167
11.1 项目介绍 168
11.1.1 项目背景 168
11.1.2 项目需求 168
11.1.3 项目核心功能设计 169
11.1.4 项目架构设计 171
11.1.5 项目接口mock 172
11.2 基础功能开发 172
11.2.1 通用请求库封装 172
11.2.2 引入dva 174
11.2.3 定义请求服务 177
11.2.4 为H5配置请求代理 179
11.3 自定义导航器 182
11.3.1 需求分析 182
11.3.2 微信小程序端开发 184
11.3.3 H5端开发 188
11.3.4 React Native端开发 190
11.4 首页开发 194
11.4.1 搜索组件 194
11.4.2 瀑布流图片组件 198
11.4.3 轮播图组件 203
11.4.4 数据联调 205
11.5 消息页开发 216
11.5.1 定义底部导航 216
11.5.2 消息列表页开发 219
11.5.3 聊天页面开发 221
11.6 商品详情页开发 239
11.7 项目优化与发布 259
11.7.1 项目优化 259
11.7.2 项目打包发布 271
11.8 本章小结 280
第12章 拥抱Taro 3 281
12.1 Taro 演进历程 282
12.1.1 Taro 1.x 282
12.1.2 Taro 2.x 282
12.1.3 Taro 3.x 284
12.2 使用Taro 3 285
12.2.1 React模板 285
12.2.2 Vue模板 288
12.3 本章小结 290

读者评论

相关博文

  • 小程序、H5、App多端开发难?试试Taro吧!

    小程序、H5、App多端开发难?试试Taro吧!

    博文小编 2021-06-17

    2017 年 1 月 9 日,微信小程序正式上线。 自此,这种触手可及、用完即走的小程序产品引起广泛关注。 在此后的一段时间里,数个产品均发布了自己的小程序平台,各小程序平台间存在或多或少的差异:语法差异、规范差异等。同时除了...

    博文小编 2021-06-17
    312 0 0 0

同系列书