What's the difference between the React Native-Expo and React Native scaffolds? Which one should I pick?


Crowdbotics currently (April 2019) provides two different architectures for people building React Native apps. You can pick either one depending on what you need.

  • The RN-Expo scaffold uses Expo as its frontend framework, which lets you immediately access a working app on your phone using the Expo toolkit, without publishing to any app stores. The backend is a set of Django REST APIs, hosted on Heroku and supported on a Postgres database. It comes with login, registration, email confirmation, an admin panel, and API connections all working out of the box. Django is a wonderful and scalable backend, but requires you to work with Python.

  • The RN scaffold uses React Native on the frontend and Google’s Firebase platform as its backend structure, so you can build your app entirely in Javascript. The backend comes with login, registration, email confirmation, phone number authentication, and Firebase’s NoSQL database, all out of the box, and you can add in an admin panel as well. Firebase is terrifically scalable. At present, with this structure, you’ll need to publish builds to an app store directly or download an APK file to run your app, or you’ll need to run it in an emulator.

If you’re not sure which is right, we recommend picking the RN scaffold (Firebase) – it’s got more ready-to-use modules available from the Crowdbotics library. If you know Django and love it, or if you really need to use Expo, then you can go with Expo.