世博分离的应用程序:从“ npm install”到商店:简介

首先,我将简要介绍一下自己,以便使所有事情都有意义,而我的动机也不会迷失。 是的,我是一名JavaScript开发人员,直到现在,它仍被认为是用于浏览器和Web的语言,但是最近随着Node(针对服务器端)和React Native(针对本机iOS和Android应用程序)的出现,javaScript生态系统正在像其他任何事物一样不断壮大。 因此,为了跟上步伐,最重要的是不失去工作,我跳入了React Native的生活方式。

在浏览文档并修改CRNA(create-react-native-app)时,我偶然发现了Expo。 世博会的好人已经烧掉了午夜的油,这样我们就不必再想出一种了不起的产品,它使您可以更快地构建应用程序。 通过完全消除本机元素,他们简化了从在设备上进行测试到发布应用程序的整个构建过程。 他们还提供一些免费服务,例如Push Server,托管JavaScript捆绑包和一些React组件,这些服务使您的生活变得更加轻松,尤其是当您访问设备存储或捕获用户位置时。

使用Expo很棒,但是有时候您需要在应用程序中集成一些东西,而Expo到目前为止还不支持这些东西,并且您需要自己修改本机代码。 在这种情况下,expo为您提供了“ 分离 ”应用程序的选项,这在外行的术语中基本上意味着

“将本机代码公开给开发人员,现在进行管理是我们的责任,而不是他们的责任”。

通过博览会分离的好处是您仍然可以

  • 在您的服务器上托管Javascript Bundle的支持,使您可以进行OTA更新。
  • 分离后,他们会为您提供一个Expo Kit,其中包含所有JavaScript软件包,可以使开发更加容易。

坏事

  • 您需要自己在App Store和Play Store上发布构建。
  • 他们取消了对推送通知的支持,现在就可以将推送集成到您的应用程序中了。
  • 在很多情况下,他们只是拒绝提供支持,指出它超出了他们的“博览会领域”。

但最重要的是,成为问题的是管理构建过程,即使用expo工具包管理本机代码,如果您有多个环境,则将变得一团糟。

本系列文章的重点是帮助您解决相同的问题,使您的生活更轻松,并且特别是如果您来自Web开发背景,则可以简化本机代码的处理。 它将包括

  • 为不同的环境(生产,开发,UAT,QA)提供不同的服务包。
  • 管理应用程序构建以使用定义的环境包。
  • 管理特定于环境的变量,例如API URL。
  • 最重要的是,通过自动化一些流程并避免人为错误,从而使构建过程变得万无一失,尤其是在团队合作中。

注意:这些是我使用的步骤,它对我有用。 对于其他人,它可能有所不同。 这个想法是给一些方向。 此外,本系列文章也不是用于编码expo或本机反应的教程。

这将有助于:

  • 对本机构建过程有新反应的人
  • 人们不了解本机代码并发现它令人生畏
  • 人们已经知道Expo和React native
  • 他们已经弄乱了头发,弄清楚了这个烂摊子。 :p

该系列的先决条件:

  • 应该了解React Native和Expo
  • 应该了解脱离世博会的概念

我很想听听您对此的看法。 另外,如果您有构建过程,则可以在“响应”部分中共享它们。 让我们将此变得有趣而有益,以便每个人在这里都学到一些东西。

继续阅读! 继续编码!

更新:本系列的第二部分已经结束。 点击链接并分享您的观点和评论。