Expo和React Native有什么区别?

来自世博会网站

世博会让networking开发人员只用JavaScript编写一次真正的本地应用程序,可以跨iOS和Android使用。

这不是React Native所做的吗? 有什么不同?

我在世博会工作!

Expo (简称XDE )中编写代码时,您会编写React Native代码。 Expo会有两个主要部分:

1) XDE :用于创build项目,查看日志,在设备上打开,发布等的开发者工具。

2) Expo客户端:手机上的一个应用程序,可让您在工作时打开项目,无需通过XCodeAndroid Studio ,也可让其他人查看它们! 如果您通过XDE发布,则可以通过Expo客户随时访问。 最后,我们还可以构build独立的应用程序,以便人们不必使用Expo客户端打开它,如果您愿意,可以分发到应用程序商店和商店。

所以, Expo是一系列基于React Native构build的工具。 这些工具取决于我们在Expo举办的一个关键信念:如果您拥有一组暴露于Javascript的全面API,则可以构build大多数应用程序,而无需编写本机代码。

这是非常重要的,因为使用React Native你总是可以下降到本地代码。 这有时是非常有帮助的,但是这是有代价的:如果你想让他们testing他们,你需要把你的二进制文件发送给别人,世界另一端的人不能在工作的时候点击链接打开它在上面,你不能只是点击一下就可以发布,就像你在浏览器中一样。

随着Expo ,我们build议尽量避免贬低为本地代码,如果可以的话。 正如我上面提到的,我们认为,通过一系列可用于Javascript的API,这对大多数应用程序来说都不是必需的。 所以,我们的目标是提供这个全面的API集合,然后构build所有可以存在于共享本地运行时的世界中的真棒工具。

但是,如果您必须发现自己完全下降到本地,则可以使用ExpoKit继续使用Expo提供的本地API,同时具有与本地项目相同的控制级别。 “ ExpoKit是一个Objective-C和Java库,允许您将Expo平台和您现有的Expo项目作为一个更大的标准本地项目的一部分。” 在这里阅读更多。

我希望这是有用的! 查看这个video了解更多信息,我很快了解了Expo一些最重要的function,并展示了一些例子: https : //www.facebook.com/exponentjs/videos/vb.1460078300951839/1610683695891298

这是正式的世博会文件解释

Expo和React Native有什么区别?

世博会就像Rails for React Native一样。 很多东西都是为你设置的,所以开始并且在正确的道路上更快。

随着世博会,你不需要Xcode或Android Studio。 你只需使用任何你喜欢的文本编辑器(Atom,vim,emacs,Sublime,VS Code,无论你喜欢什么)来编写JavaScript。 您可以在Mac,Windows和Linux上运行XDE(我们的桌面软件)。

世博会为您提供一些立即开展工作的东西:

支持iOS和Android

您可以立即使用在iOS和Android上编写的应用程序。 你不需要为每一个单独的构build过程。 只需在iOS或Android(或者在您的计算机上的模拟器或模拟器)上从App Store中打开Expo Client应用程序中的任何世博应用程序。 推送通知

推送通知使用单一的统一API在iOS和Android上开箱即用。 您不必设置APNS和GCM / FCM或configurationZeroPush或类似的东西。 我们认为,我们已经做到这一点,因为它可以是现在的Facebooklogin

这可能需要很长时间才能正确设置,但是您应该能够在10分钟或更短时间内完成世博会的工作。 即时更新

只需单击XDE中的发布,所有博览应用程序即可在几秒钟内更新。 你不必设置任何东西。 它只是这样工作。 如果您没有使用Expo,则可以使用Microsoft Code Push或者针对此问题推出自己的解决scheme资产pipe理

世博会的图像,video,字体等全部通过互联网dynamic分发。 这意味着他们可以即时更新,并可以随时更改。 世博会内置的资产pipe理系统负责将您的回购中的所有资产上传到CDN,以便任何人快速加载。

没有世博会,正常的做法是把你的资产捆绑到你的应用程序,这意味着你不能改变它们。 或者你必须pipe理把你的资产放在CDN上或类似的东西上。 更容易更新到新的React本地版本

我们每隔几周就会做一次新版的世博会。 如果你愿意的话,你可以继续使用React Native的老版本,或者升级到新版本,而不用担心重build你的应用程序二进制文件。 您可以担心自己的时间升级JavaScript。 但没有本地模块…

世博会最有限的地方就是你不能在不使用ExpoKit的情况下添加自己的本地模块。

Interesting Posts