React Native Cookbook(中文版)
  • 推荐0
  • 收藏0
  • 浏览681

React Native Cookbook(中文版)

Jonathan Lebensold (作者)  刘清 文一山 (译者)

  • 书  号:
  • 预计出版日期:2018-09-01
  • 页  数:
  • 开  本:
  • 出版状态:图书立项
  • 原书名: React Native Cookbook: Bringing the Web to Native Platforms
  • 原书号:9781491993842
  • 维护人:许艳
在多个平台开发应用往往是非常麻烦的,但是使用 React Native,你就能构建出跨平台的移动应用,而且其外观和行为与用 Java或者Swift编写的原生应用并无二致。本书将帮助你理解React Native的生态,教你应对一些常见的挑战,比如处理应用的状态、处理设备I/O,还介绍了部署过程和一些缩短交付时间的技巧,最后讲解了如何编写可维护的代码。
如果你熟悉JavaScript,而且打算开发跨平台应用程序,并且选择的是React技术栈,那么这本书就是为你准备的
? 了解构建一个 React Native 应用需要的软件工具
? 充分利用 React 生态中的组件与 JavaScript 库
? 综合考虑用户体验、平台习惯和技术复杂度,来设计跨平台应用
? 了解常见的用例,以及如何最大程度地利用设备的硬件设施
? 自动化应用的发布,将iOS应用分享给 beta 测试者们
? 学习如何组织好代码,保证其正确性并且容易维护
当我的第一个 React Native 应用登陆应用商店时,我就知道这项技术非同一般。那时,
我已经花了几天的时间来熟悉 iOS 生态,发现自己被 Xcode、Objective-C 和适用于 iOS
的库弄得晕头转向。在只有 Web 开发经验的情况下,我最后一次突击 iOS 开发已经差不
多是8 年前的事情了,我被吓着了。我知道我不是唯一的一个。
React Native 在一夜之间改变了这一切。我在其中发现了熟悉的设计理念和 Web 应用开
发的影子。更妙的是,用它开发出来的应用不会成为次等品——我无法忍受僵硬的动画
和笨拙的滚动。React Native 是一个开源工具集,将原生应用程序的开发体验带给世界
各地无数的 JavaScript 开发人员。
谁应该读这本书
你已经非常熟悉编程和JavaScript。本书假定你处于原生开发的技术选型对比阶段。你
可能正在自己的车库中开发下一个伟大的社交媒体平台,或准备将笨重的企业系统变成
轻便的移动应用。如果你试图开发跨平台的原生应用程序,需要将其快速推向市场,并
选择了 React,那么本书就是为你准备的。本书的所有内容都源于笔者在构建原生应用
程序时的经验。
为什么写这本书
网上有非常多有关 React Native 的资料:在StackOverflow 的论坛上和在React Native
框架在GitHub 上的 issue 中有大量的文档,能够解决大多数编程中的细节问题。本书
试图讲得更深入一点:如何组织一个项目?如何设计需要获取用户摄像头权限的用户体
验?这些都是一些需要思考的常见问题,而且并不一定有一个解决方案。这本书是一本
cookbook(食谱),能提供一个很好的起点。它能激发你,引导你想出自己的解决方案,
或者在你陷入困境时为你带来一些启发!
简单聊聊如今的 JavaScript
似乎每周JavaScript 都会用一个新的名字、一套新的语言功能以及新的转译器和编
译器重塑自己! 无论你将其称为 ECMAScript、ES6、ES6+, 还是从 TypeScript、
CoffeeScript、NativeScript、Flow、Elm 或 Reason 中进行转译,最终的输出都会在
JavaScript 虚拟机上运行。疲于追踪JavaScript 的这些变化,要如何才能专注于稳定的技
术呢?
我的回答是没有什么标准答案。所有这些工具都只是为了让软件开发人员更有效率。如
果一切顺利,那么你应该高枕无忧,因为你知道在下一拨技术被淘汰之前,开源社区会
帮助你看出端倪。就本书而言,我会交叉使用术语 JavaScript 和 ES6。在最后一节中,
我会逼着你拥抱变化,让你学习如何用一个基于 OCaml 的函数式编程语言 Reason,重
写之前用ES6 编写的组件!
内容介绍
本书分为6 章。
第 1 章讨论 JavaScript 工具以及它们如何与 React Native 配合使用。
第 2 章探讨 React Native 生态:了解可用的组件资源,以及如何将其引入你的项
目。
第 3 章和第 4 章介绍大多数应用程序开发中的一些常见挑战:处理应用程序的状
态、处理设备 I/O 以及处理设计资源。
第 5 章介绍部署过程和一些缩短交付时间的技巧。
第 6 章解决编写可维护的代码的问题:使代码可重用、可移植、可读,添加了一
些能在用户使用产品前捕获程序错误的工具。
像对待所有的cookbook 类图书一样,你最好读一遍书中的例子,看看它们是如何与你
正在努力完成的工作联系起来的。如果你已经熟悉 React Native 或者熟悉 Node、NPM
和 Yarn,我建议你跳过第 2 章。如果你编写过原生应用程序,那么第 1 章可能值得一读。
在线资源
React Native 依赖的工具大致可以分为三类:JavaScript 工具、Apple SDK 和 Android
SDK。React Native 将你的所有代码打包到一个JavaScript bundle 中,然后在原生平台
上运行(例如 Android 或 iOS)。根据《React Native 入门指南》(React Native: Getting
Started Guide),确保你正确安装了这些原生开发平台。
如果你对 React 没有什么使用经验,React Overview(http://bit.ly/2nIA4vr)应该能帮助
你大致了解。我建议你在阅读本书之前查阅这些相关的参考资料。下面这份清单列出了
一组技术,它们都是很多React Native 开发人员需要了解的知识,其中包括 JavaScript /
ES6、NPM、React、React Native 和 Redux。
权威指南:React Native: Getting Started Guide(http://bit.ly/2GWQDfo)
快速了解支撑 JavaScript pipeline 的转译器的能力:Learn ES2015(http://bit.
ly/2nJb1Z8)
Node 包管理器(NPM)的介绍:What is npm ?(http://bit.ly/2EalFyf)
关于 React 的通俗易懂的讲解:React Overview(http://bit.ly/2nIA4vr)
社区收集的 React Native 相关资源目录:Awesome React Native(http://bit.
ly/2EoLga3)
由 Redux 的创立者讲解状态管理的免费视频教程:Getting Started with Redux
(http://bit.ly/2ENagFH)
React Native 软件包目录:Opinionated Catalog of Open Source React Native
Packages(https://native.directory/)
NPM 提供的 React Native 软件包列表:An Open Catalog of React Native Libraries
(http://bit.ly/2E8wuRF)
排版约定
本书使用了下列排版约定。
中文楷体或英文斜体(Italic)
表示新的术语、URL、邮件地址、文件名称和文件扩展名。
等宽字体(Constant width)
表示程序片段,也可以用在正文中表示变量名或函数名等程序元素、数据库、环境
变量、语句和关键字等。
等宽字体加粗(Constant width bold)
表示应该由用户输入的命令或其他文本。
等宽字体加斜(Constant width italic)
表示应当被用户自定义的值或上下文决定的值所替换的文本。

致谢
感谢本书所有的审校者:Spencer Carli、Matt Hamil 和 Arnar Tór Sveinsson。他们对快速
变化的生态系统的见解以及技术上的反馈使我对本书内容更有信心。我对本书的内容承
担全部责任,但如果没有他们的建议,这本书的可读性就会大打折扣。
如果没有 Paradem 团队,特别是如果没有我的联合创始人 Kevin Pratt,我就无法专注
于写作,这本书就不可能诞生。我也很感谢 Ezra Hopkins、Scott Luetke 和 Abdullah
Norozi,他们协助我通读全书章节。Bivee 公司的 Scott Schaffter 和 Jay Perry 为我提供
了写作的灵感,一直鼓励我。感谢 O’Reilly Media,特别是 Nan Barber,他给了我反馈
并指导出版流程。
感谢 Facebook 与世界分享它的 React Native 技术。我也很感谢 Reactiflux Discord 聊天
室中的人们提供的技术支持,特别是对Reason 的技术支持。我非常感谢所有向开源社
区贡献其知识和源代码的个人和组织。
最后,我要感谢我的爱妻 Tara,她鼓励我前行,并给我不少深思熟虑的见解。

目录

前言
第1 章 React Native 工具链
1.1 设置开发环境
1.2 使用 Babel 写 ES6
1.3 组织项目文件
1.4 处理灾难性故障
第2 章 熟悉 React Native 生态
2.1 不要重复你自己:实现自定义组件
2.2 添加一个开源的进度条
2.3 共享自定义组件
2.4 路由到登录界面
2.5 使用 Redux 作为全局状态管理工具
第3 章 样式与设计
3.1 书写样式表
3.2 使用flexbox 构建灵活的布局
3.3 导入矢量图和图标
3.4 循环动画
第4章 管理硬件平台
4.1 请求使用用户的设备硬件(iOS)
4.2 获取分页请求
4.3 使用 Redux 和本地存储保存应用状态
4.4 使用文件系统
第5 章 起飞!分享你的应用
5.1 自动发布你的应用
5.2 把你的 iOS 应用分享给beta 测试用户
5.3 配置应用设置
第6章 让你的应用可维护
6.1 使用 PropTypes 保护你的组件
6.2 使用 Flow 检查运行时报错
6.3 组件自动化测试
6.4 使用 ESLint 维护代码风格
6.5 使用 Reason 编写你的应用

读者评论

  • 后悔买了oreilly的书籍 这个出版社的网站很难用 这本书代码也不提供 后悔了

    tiger发表于 2019/2/20 13:15:58
  • 为什么没有源代码下载? 没有源代码的书籍一文不值啊

    tiger发表于 2019/2/20 12:50:04

相关图书

写给大忙人的现代JavaScript

(德国)HORSTMANN, CAY S. (作者) 浙江阿里巴巴聚橙技术发展有限公司 (译者)

本书是一本简明的现代 JavaScript 教程,不仅涵盖函数式编程、JS 语法、JS 库等基础性内容,还介绍了国际化、异步编程、标准模块系统、元编程等较为复杂...

¥109.00

JavaScript 二十年

王译锋 (作者)

本书主要讲述了从 1995 年到 2015 年这20年间,JavaScript在创建、设计和演变方面所经历的过程。全书分为4个部分,每个部分都涵盖了 JavaS...

¥79.00

JavaScript语言精髓与编程实践(第3版)

周爱民 (作者)

本书详细讲述JavaScript作为一种混合式语言的各方面特性,包括过程式、面向对象、函数式和动态语言特性等,在动态函数式语言特性方面有着尤为细致的讲述。本书主...

¥144.00

狼书(卷2):Node.js Web应用开发

桑世龙 (作者)

目前市面的nodejs书籍基于0.10的为多,而基于最新4.X的非常少,本书是唯一一本基于node.js 4.0以上版本的书。而Koa是下一代node web的...

¥69.30

狼书(卷1):更了不起的Node.js

狼叔 桑世龙 (作者)

Node.js开发简单,性能极好,一经发布便成了明星级项目。随着大前端领域的蓬勃发展,跨平台开发、API构建、Web应用开发等场景愈加常见,Node.js也成为...

¥55.30

Koa与Node.js开发实战

Node.js 10已经进入LTS时代!其应用场景已经从脚手架、辅助前端开发(如SSR、PWA等)扩展到API中间层、代理层及专业的后端开发。Node.js在企...

¥49.00