猜你喜欢
React Native Cookbook 中文版

React Native Cookbook 中文版

书籍作者:Jonathan Lebensold ISBN:9787121348976
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:2712
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

在多个平台开发应用往往是非常麻烦的,但是使用 React Native,你就能构建出跨平台的移动应用,而且其外观和行为与用 Java或者Swift编写的原生应用并无二致。本书将帮助你理解React Native的生态,教你应对一些常见的挑战,比如处理应用的状态、处理设备I/O,还介绍了部署过程和一些缩短交付时间的技巧,最后讲解了如何编写可维护的代码。如果你熟悉JavaScript,而且打算开发跨平台应用程序,并且选择的是React技术栈,那么这本书就是为你准备的

作者简介

Jonathan 为世界五百强企业、非营利机构和初创公司开发大型信息系统。在了解软件设计模式、测试驱动开发和函数式开发后,他对编程的热情一下子爆发了。Jonathan 与人合开了一家软件咨询公司Cofound Paradem,使他能参与全球范围的软件与产品设计研讨会中,最近主要是在欧洲和东非。他使用 Ruby、React 和React Native 帮助团队构建可伸缩、可维护的架构解决方案。
刘清,曾在ThoughtWorks担任咨询师,在前端、后端开发以及数据分析和 DevOps 方向都有较深入的技术实践和项目经验。文一山,目前在 ThoughtWorks 担任前端开发的角色,有着丰富的前端开发和 Devops经验。熟悉敏捷实践,比如 TDD、结对编程、回顾会议、代码检视,等等。

编辑推荐
适读人群 :前端开发人员

√ 了解构建一个 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 和 AndroidSDK。React Native 将你的所有代码打包到一个JavaScript bundle 中,然后在原生平台上运行(例如 Android 或 iOS)。根据《React Native 入门指南》(React Native: GettingStarted 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 NativePackages(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 和 AbdullahNorozi,他们协助我通读全书章节。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 编写你的应用