Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native 两者之间的真正区别是什么;创建react原生应用程序myproject“;及;react native init myproject“;_React Native_React Native Android - Fatal编程技术网

React native 两者之间的真正区别是什么;创建react原生应用程序myproject“;及;react native init myproject“;

React native 两者之间的真正区别是什么;创建react原生应用程序myproject“;及;react native init myproject“;,react-native,react-native-android,React Native,React Native Android,我最近开始使用react native,下面是关于教程的指南 2选项一是通过“create react native app myproject”创建项目,另一个选项是“react native init myproject” 第一个(create react native app)只生成app.js,而另一个生成index.android.js和index.ios.js 我知道他们在做同样的工作,但真正的区别是什么?我应该选择哪一个启动,以及何时另一个更有用?创建react本机应用程序(“CR

我最近开始使用react native,下面是关于教程的指南 2选项一是通过“create react native app myproject”创建项目,另一个选项是“react native init myproject”

第一个(create react native app)只生成app.js,而另一个生成index.android.js和index.ios.js


我知道他们在做同样的工作,但真正的区别是什么?我应该选择哪一个启动,以及何时另一个更有用?

创建react本机应用程序(“CRNA”)CLI基于第三方工具包构建项目模板,该工具包允许您仅使用JavaScript编写跨平台react本机应用程序,并为在真实设备上运行应用程序提供了更流畅的工作流程。此外,Expo还提供了对成吨的代码的访问,对于这些代码,您通常需要库或自定义本机代码

Expo很棒,在一个理想的世界中,大多数应用程序开发人员可能更喜欢使用它,但Expo的体系结构设置了一个不幸的限制:您无法编写自定义本机模块,或集成依赖于未内置到Expo中的自定义本机代码的第三方库。这意味着您只能访问React native和Expo提供的本机功能,并且无法轻松扩展它

相比之下,
react native
CLI的
init
命令创建了一个简单的react native应用程序模板,其中包含可以修改的本机iOS和Android项目。这种方法的缺点是,您需要在计算机上设置本机iOS和Android构建链,并且开始开发和部署应用程序要麻烦得多

幸运的是,Expo提供了一种从其原生应用程序外壳访问CRNA应用程序的方法。这将把一个CRNA项目转换成类似于由
react native init
创建的普通项目,但可以访问所有Expo SDK功能

在实践中,对于大多数初学者和新项目来说,最好的方法是从
创建react native app
开始,然后评估您是否需要稍后分离。
Expo提供了一个帮助您做出决定的方法。

另请参见此