likes
comments
collection
share

【译】解锁React Native开发的三个方案

作者站长头像
站长
· 阅读数 28

翻译:Untangling React Native Development 译者: RecoReco

在探讨React Native开发的三种方案时,我确定Expo是领先的方案。

我听说React Native已经有一段时间了,但直到最近才有一个合理的理由来使用它。如果你曾 "有幸 "做过原生IOS和/或Android开发,下面的承诺是相当吸引人的。

使用JavaScript和React构建原生移动应用
- React Native

你可以得到React的单向数据绑定。 你可以使用状态管理库,如Redux 风格和屏幕布局分别遵循web CSS和flexbox的规定。

这是一个快速开发环境,有多种选择,我想来分享一下我尝试每种选择的经验。

  • 创建React Native App
  • Expo _ React Native CLI

创建React Native应用

创建React Native App是开始构建一个新的React Native应用程序的最简单的方法。它允许您在不安装或配置任何工具来构建本地代码的情况下启动一个项目
不需要安装Xcode或Android Studio
- React Native

除了在你的开发机器上安装了Node.js,在你的移动设备上安装了Expo应用,使用他们的入门说明,安装、运行应用和修改应用只需要几分钟。

在你的移动设备上使用Expo应用,你可以很容易地使用二维码或键入一个URL运行应用程序我想到必须配置你的设备通过USB连接到你的开发机的日子就发抖。

由于Create React Native App是Facebook和Expo之间的合作,您可以同时使用React Native组件和API以及Expo SDK API。

Expo

鉴于Create React Native App是与Expo合作打造的,因此它们之间的安装、运行应用程序和修改应用程序的过程是相似的,这并不奇怪;按照它们的快速启动,你会在几分钟内就能上手。 注:虽然一开始不需要Node.js,但以后你会需要它。 在移动设备上使用Expo应用,你可以像我们使用二维码创建 React Native App 一样,轻松运行该应用。此外,通过将其发布到云端,你可以与他人分享。

你既可以使用React Native组件和API,也可以使用Expo SDK API。 除了能够广泛共享开发应用外,我们稍后还将了解使用Expo而不是Create React Native App的其他原因。

React Native CLI

React Native文档中有第二种创建React Native应用的方法。React Native CLI。使用他们的Getting Started说明(Building Projects with Native Code标签),安装实质上比前面的选项复杂。

例如,我花了长达一个小时的时间在我的Linux开发机器上进行操作(用于Android开发);必须在我的开发机器上安装Node.js、React Native CLI、Java开发工具包、Android Studio、Android SDK和Watchman。我还必须按照冗长的文档,用USB电缆将我的Android设备连接到我的开发机器上。 与其他选项不同的是,有了这个选项,你只能使用React Native组件(不是Expo)。

生产部署

部署原生应用需要生成相应的文件(Android为.apk,IOS为.ipa)提交到相应的应用商店。 到目前为止,Expo提供了最简单的解决方案,只需要安装一个Node.js模块,特别是exp。 使用Expo的一个特别有趣的功能是,应用程序可以在以后更新,而不需要向应用商店提交更新的文件;这是因为生产的JavaScript捆绑包是从云端存储和服务的。他们在《Expo如何工作》中提供了一个很好的概述。

使用Create React Native App创建的应用程序有两种方式可以部署到生产中:一种是转换为Expo项目,并按照这些说明进行操作;另一种是弹出并使用Android Studio和/或Xcode创建.apk和.ipa文件。

使用React Native CLI,你必须使用Android Studio和/或Xcode来创建.apk和.ipa文件。

在创建React Native App和React Native CLI的情况下,你需要使用npm start运行JavaScript打包器才能继续开发应用。同时,与Expo不同的是,在生成生产的.apk和.ipa文件时,需要将JavaScript捆绑程序嵌入到应用程序中;因此,在没有向商店提交新文件的情况下,无法更新该解决方案。

使用本地代码

您可能会发现您需要使用本地代码来编写应用程序的部分内容;这三个选项都有针对这种情况的规定。

  • 使用Expo,你需要脱离ExpoKit。在你这样做之后,你将能够使用Android Studio或Xcode添加本地代码,并分别创建.apk和.ipa文件。你还将继续能够编辑React Native代码。不过,在开发过程中,你将继续运行Expo软件来提供JavaScript捆绑服务。在生产过程中,应用程序将使用最新发布的JavaScript bundle

注意:虽然JavaScript bundle可以继续更新而无需向商店提交新文件,但对原生代码的更改需要提交。

在创建React Native App和React Native CLI的情况下,您可以编辑原生代码,因为您已经使用 Android Studio 和 Xcode 进行生产部署。

结束语

首先,所有的选项都可以让我使用React Native和本地代码来构建应用程序。

在大多数情况下,我倾向于使用最简单的工具来完成工作。如果我遵循这种方法,我会选择React Native CLI作为我的开发选项。但是,无法访问Expo SDK API是个小问题。

Create React Native App确实允许你使用Expo SDK API。但是,它需要你向商店提交新的应用程序,以便进行所有更新。

Expo,拥有所有的功能,是我意想不到的 React Native 的首选开发方案。特别是,更新JavaScript捆绑的功能,而无需向商店提交新的应用程序,是一个真正的优势。

转载自:https://juejin.cn/post/6854573221404999687
评论
请登录