Expo enables you to build cross-platform native apps using only JavaScript.
In addition to React Native components, you'll have access to the Expo SDK, a library that provides a wide range of native APIs on iOS and Android. Expo can also manage assets for you, handle push notifications, and build your native binary for submission to the app store.
There's lots of cool things that Expo is doing, but I'm not sure this should be presented as a full-scale mobile development platform. Even with the eject scripts, there's still a fair amount of vendor tie-in that you get from leaning heavily on a kitchen sink of an native app that bundles every framework and has it's own set of abstractions. If Apple/Google releases a new iOS/Android API that you want to use, you have to wait for Expo to implement it first.
There's also something to be said for the large amount of abstraction of platform-specific standards. I don't think Expo does a great job of building components that feel at home on each platform, starting with their recommendation of using a non-native replication of UINavigationController in `react-navigation`, to loading bundled fonts asynchronously, to using FontAwesome icons over the iOS-provided UIBarButtonSystemItem icons.
If you're building a one-off mobile app that has no plan on being maintained, Expo might be the right fit for you. Looking to build a mobile app that will be maintained for some time to come? Stick to a vanilla React Native or native Swift/Kotlin app and learn the platform first.
Pros:Quick to get some sort of app up and running
Cons:Lots of vendor lock in (even after detaching/ejecting), doesn't teach you how to truly deploy a mobile app
We've been using Expo for the last year to develop a mobile app and the experience has been great. We've been forced to use some less than desirable pure Javascript libraries (like React Navigation for navigation) instead of alternative native libraries, but overall the Expo experience has been great, the team has been supportive, and the product has gotten significantly better with each release. Much kudos to the Expo team for all their hard work!
Pros:Very useful for rapid development and distribution of new apps
Cons:Have to "eject" to use native libraries (though they have good support for the most common native library use cases)
Using for all my projects, build 3 apps using Expo, following since the beginning when it was Exposition! All the love!
Pros:The best way to develop React Native apps!
Cons:Nothing to tell!
Expo changes the way we build app. In 15 minutes you can build something and see your work on your device.
The team is reactive, replies fast. Best js framework for building mobile app <3
Pros:Really fast to test a new app. Better than testflight !
Cons:Sometimes it's difficult to use custom native librairies
While React Native's intention was to simplify the app development process, Expo takes it one step further, providing everything you need to get an app up and running, with their updated website, app development is more approachable then ever
Pros:The most approachable way to build an app, hands down
Cons:Some limitations with using native libraries but due to the large Javascript community, there's almost always a workaround
I can't praise expo enough. I've never had an easier time writing code in my entire life. I don't have to worry if settings are correctly configured. I don't have to worry whether a library was correctly installed or not.
It just works. I spend my time writing code instead of fighting with an IDE. Major props to the Expo team. Keep up the great work!
Pros:-No fighting Android Studios/Xcode
-No linking errors
-No setup required
-OTA updates
-Great documentation
-Easy to share app prototypes
Cons:-Requires ejection for a good amount of libraries
Muddy