Why use CRNA over Expo?


What’s the purpose of this project? What benefits does it have over regular Expo?


Right now CRNA is mostly focused on helping people new to React Native get started easily. If you’re already using Expo’s tools then you may not get a lot out of CRNA for now, aside from a little bit of the polish work I’ve done on CRNA that hasn’t yet made it into exp and XDE.

CRNA’s biggest advantage for new users is that it’s installation is very fast and does not require an Expo account. In the spirit of an open source collaboration, it also doesn’t depend on any Expo services (like our ngrok subdomain) to deliver your app.


If you were to publish to the store is that an eject?

Using exp to publish would then be using expo’s services right?

I think with an expo app, your code is hosted on cloudfront or something like that. With this, code isn’t hosted anywhere. Correct? In a sense it’s stripped down expo project to the point of choosing not to use any expo dependencies. But you can choose to use them if you want.


@qmitchell Ejecting is more about setting up a native build configuration than it is about publishing. If you want to publish without using Expo’s service for building your app, then you’ll need to use some other service to build the app, or to eject and build the app yourself.

You’re right that with CRNA your code isn’t hosted anywhere, it’s only a developer tool for working locally.


Thx. There isn’t any other service except expo to build the app to publish right? At first glance seems like a good path for people who don’t want to depend on expo but it doesn’t have a publish story without expo. Little confused.

Brings me back to the publish story really being a temporary eject, then figuring out RN publishing.