|
|
51CTO旗下网站
|
|
移动端

前言

《React Native Cookbook(中文版)》本书将帮助你理解React Native的生态,教你应对一些常见的挑战,比如处理应用的状态、处理设备I/O,还介绍了部署过程和一些缩短交付时间的技巧,最后讲解了如何编写可维护的代码。本节为前言。

作者:刘清/文一山 译来源:电子工业出版社|2018-09-23 17:46

前言

当我的第一个 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 ?ó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,她鼓励我前行,并给我不少深思熟虑的见解。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书会第9群:808517103

【责任编辑:book TEL:(010)68476606】

回书目      下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

网络管理员备考训练——计算机与网络基础知识

本书是根据全国计算机技术与软件专业技术资格(水平)考试《网络管理员考试大纲》所要求的考试范围而编写的试题集。全书共分10个单元,同步...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊