Without a doubt, Expo is one of the worst tools I have ever used. 1. I can't get a debug build of the app without using their cloud services. 2. Latest version of Android app to preview Expo apps did not work with latest stable Expo version. 3. Random build errors all the time due to some features being deprecated without being mentioned anywhere. 4. Tries to do too much and breaks quite often
They improve a lot in the last 2 years, give it another try. The experience nowadays is pretty pleasant compare the plain RN project
Expo – Open-source platform for making universal apps for Android, iOS, and web
111–120 of 172 posts
Re: Expo – Open-source platform for making universal apps for Android, iOS, and web
#112Additionally, I think RN has come a really long way from where it was when Expo first came about. Expo sought to smooth over a lot of rough edges, some of which no longer exist.
I think Expo realizes this as well, as their main revenue generator is now their deployment tools. The framework is opinionated toward using those paid services, which my org doesn't want to use as we already have processes for building and deploying, which makes working with it cumbersome.
Re: Expo – Open-source platform for making universal apps for Android, iOS, and web
#113If you want a web-like platform on which to build a cross-platform application, I recommend Flutter. It's not perfect but, it's better than all the other alternatives I've tried.
Re: Expo – Open-source platform for making universal apps for Android, iOS, and web
#114Would it be fair to say that Expo is to RN what Next.js is to React?
Re: Expo – Open-source platform for making universal apps for Android, iOS, and web
#115Earlier quoted context omitted.
It’s possible to do all this stuff in RN - you just need good native bindings to the features Stuff like the iOS 13 page sheet modals being broken is still an issue - but there’s a set of present/dismiss callbacks in the modal manager you can override in your code to fix it Not sure if you meant page sheet controllers for iOS 15 (the ones that let you pin it half way up). There have been implementations of this, but…
If asynchronous layout were the culprit, presumably that's the precise type of issue that react-native-reanimated solves? It seems to me that the experiences created via react-native-reanimated run quite smoothly indeed. Of course, the developer still has to reimplement interactions otherwise provided by iOS etc, but React Native should not be a reason for things like sloppy interactions.
Re: Expo – Open-source platform for making universal apps for Android, iOS, and web
#116Re: Expo – Open-source platform for making universal apps for Android, iOS, and web
#117Earlier quoted context omitted.
If asynchronous layout were the culprit, presumably that's the precise type of issue that react-native-reanimated solves? It seems to me that the experiences created via react-native-reanimated run quite smoothly indeed. Of course, the developer still has to reimplement interactions otherwise provided by iOS etc, but React Native should not be a reason for things like sloppy interactions.
The animated package doesn’t come into play here. When the layout needs to be recomputed in RN, it does it asynchronously - regardless of what’s calling it. Part of this can be explained because the JS can hook listen for layout updates via the onLayout prop and make changes to the layout - and could in theory cause infinite loops. But there’s no mechanism - as far as I’m aware - to say you don’t care about that deta…
Re: Expo – Open-source platform for making universal apps for Android, iOS, and web
#118My company is moving our app to React Native and evaluated Expo as an option. Our conclusion was that we needed some of the features that using Expo doesn't let you use (a lot of native modules, as we're not rewriting 100% of the app all at once). Additionally, I think RN has come a really long way from where it was when Expo first came about. Expo sought to smooth over a lot of rough edges, some of which no longer e…
Using Expo without EAS, the paid services, is definitely supported. The Expo framework is free and open source and is designed to be generally decoupled from EAS. "npx expo prebuild:{android,ios}" will generate "android" and "ios" directories that can be built with existing build processes.
Expo: free and open source framework. Includes Expo CLI, Expo Modules, Config Plugins, Expo Router, debugging tools. EAS: hosted paid services. Includes builds, submissions, updates, credentials. Works with any React Native project whether or not it is using Expo.
Re: Expo – Open-source platform for making universal apps for Android, iOS, and web
#119Earlier quoted context omitted.
I learned a while ago that is not worth using an abstraction layer over the official tooling (whatever Apple and Google provides you), even for small apps I was building one for each platform (as one dev). Tried at the time Xamarin and PhoneGap, and bit later RN, each one has his quirks and things that works in one platform but not in other so in the end you end up building one app for each platform more or less, but…
I’ve come to the same conclusion. I began to build a very simple app about a month ago and as a Web Dev figured React Native would be the best tool. Having completed about 60% of the app, I’m going to trash the whole thing and restart with Swift/Kotlin. I’ve encountered too many “quirks” that end up burning a huge amount of time for what should be an inconsequential component.
It’s more web than RN and depending on what you’re doing might not feel as native, but it’s pretty easy to make a solid app with it.
Re: Expo – Open-source platform for making universal apps for Android, iOS, and web
#120RN is amazing for the business, especially small businesses.
Yes it’s full of quirks and yes it’s never perfect but if you’re a small to medium size business trying to get your app to market as cheaply as possible, there is no better option than RN right now. Maybe flutter.