Currently in the middle of planning out a basic calendar app for my workplace where you can view upcoming events and see what's going on in the museum. I have my development environment up and running on my Intel Macbook Pro but I'm struggling to decide if I should use Expo or a bare React Native project.
What would you use in 2024 and why?
New to react native, and was curious. Is everyone just using Expo to use react native?
Videos
Hey everyone,
I’m new to React Native development—so far, I’ve been working as a web developer. Now, I’ve joined a startup where we’re building a fintech product, and we’ve decided to use React Native for our frontend.
I’m trying to figure out whether Expo is the right choice or if we should go with bare React Native. I like the idea of Expo’s easy setup, OTA updates, and faster development, but I’ve heard it has limitations, especially when it comes to native modules, app size, and performance.
Since we’re building a fintech app (which might require native features like biometrics, encryption, or background services), would Expo be a good choice? Or would we hit roadblocks that force us to eject later?
Would love to hear your experiences—is Expo good for fintech apps, or should I avoid it?
I'm new to React Native and unsure where to begin. While React Native CLI has a good number of installations, Expo seems more straightforward, with a simple installation process. However, as I delved into Expo's documentation, I noticed a significant number of issues reported on GitHub, which has left me uncertain about whether to choose Expo or React Native CLI.
Curious about Expo and how it can level up your React Native development? A colleague of mine recently wrote an article about what it is, its benefits, and how to get started. He compares Expo CLI with React Native CLI, and describes how to build a React Native Expo app. If you're interested to read it, here's the link :)
Hello everyone,
I'm about to start a large-scale project using React Native, but I'm torn between using bare React Native and Expo. From what I understand, Expo makes configuration and setup easier, but I'm not sure what kind of issues I might run into down the line.
For those with experience — have you ever found yourself in a situation where you thought, "I wish I had started this project with bare React Native instead of Expo" due to some critical limitation or issue?
I’d love to hear your thoughts and advice.
EDIT: I'm really thankful to everyone who took the time to reply — I truly appreciate it.
(i used ai to translate my language)
Hi everyone! Im going start an application for a client, i always made all my applications in React Native, but lately expo is catching my attention. What points make you choose between expo or React Native? Does expo really make work much easier?
I have created an application with expo before but i faced lots of trouble because some libs dont support expo
Hi, I really like to ask this question to you guys, please guide me here thanks. This is my question what setup do you guys recommend for react native development. Using "React native EXPO" or "React Native CLI"? Thanks, guys :)
React Expo is good for trying out React Native with less hassle. However you will most likely hit roadblocks, because it does not support native modules. So unless they have already included it, you will be forced to switch anyway.
I transitioned a project to React Native CLI because of that need, and I'm happy I did. I do however frequently run into weird issues I have to google. So if you just want to toy around or make something simple I'd start with Expo.
Honestly depends on the app you're trying to build. I'm currently using expo to build a basic project management app with expo and firebase and so far it's working out really well because expo has a really smooth and fast workflow with most native functionalities available. But some native things like image uploading to firebase via expo are still not available/buggy so if the app you're building involves a lot of native interaction I'd say go with React Native CLI. Otherwise if it's mostly an information manipulation app then expo is a fun and convenient option. React Native CLI is safer either way, just takes longer to develop on.
I am making a python task manager program as an assignment and since I will also need a UI I might as well learn React as I want to use my app on mobile and web. Since this is a learning assignment, and it's hugest use case is being a point on my resume, should I implement this using Expo or React Native? Expo seems perfect for my use case, but how well is it used in the industry? The whole point of React is Learn once, use everywhere, does this still hold true with Expo? If these are two different skill sets, which am I better of learning?
P.S. Thanks to everyone who responded. I am going to use react native base simply so I learn the whole process and gain an understanding which might help I'm debugging even if I ever get a job using Expo.
Hello! I'm just getting started with React Native (I'm a full stack dev who has worked on React web apps for many years) and I saw lots of people recommend using Expo. Unfortunately, I've run into massive problems with it at every turn.
-
Using the latest expo/create-expo-app tools leads to projects with severe security vulnerabilities
-
Trying to run the "with-router" example produces a broken app with no real example code, I'm not sure if the --example flag works at all tbh
-
Expo Router docs explain how to get started in a way that, when duplicated, produces a broken app that asks why you haven't set up a "navigation container" which is not mentioned in the docs
-
Docs links in the main Google results tend to be broken links pointing to out of date pages
I'm mostly just curious if people think that Expo is still a vibrant, maintained community or if I should opt to learn React Native a different way? Thanks!
I dont understand why building modules on a react native platform is different than expo and why cant I just use some modules and then build using something else other than eas build to make this whole process easier.
I can build no problem for my simulator but the second ai try to load onto my device with an easl build everything goes wrong
Can someone shed light on how I can approach this, because it seems clear that native modules and expo dont go together I only really need Expo's linking library for authing users in my app and nothing else, I want to understand how I can move off of expo to make using native modules much easier and clear cut As of right now there is only this which is only experimental and doesnt compile on devices https://evanbacon.dev/blog/apple-home-screen-widgets
We have a fairly mature react native (CLI) app and we're discussing the possibility of porting it over to use expo and wanted to hear peoples opinions. We have always avoided that thought but now that its the react native developers recommended approach we're much more open minded to the idea.
Pros:
Expo offers strong support, simplifying tasks like deep linking, accessing native APIs, creating Apple App Clips, end-to-end testing, etc.. which we need to improve on regardless
Expo supports web builds via Expo Web Workflow. This is actually the biggest one for us. We want a PWA and being able to show demos via the web is the next main task we're going to focus on
EAS Hotfix Updates. This would be a really nice feature to utilize
Improved development environment and debugging tools.
We want to upgrade to the new react-native build architecture regardless. Seems like this would be a good time to transition over
Cons:
Additional layer to build on top of that seems to be rather opinionated and hte whole vendor lock argument
We have a few custom native modules that would need to be rebuilt as Expo plugins, though this seems pretty easy, pretty much a wrapper around the existing code if i'm understanding it correctly
Let me know if im thinking about this correctly or if i'm not appreciating some major drawbacks. Thanks a lot!
Hi all,
I'm working on a mobile application using React Native for the frontend and Spring Boot for the backend. The application will be gradually scaled and is expected to handle around 10,000 users in the long term.
I’m evaluating whether I should use Expo or go with the bare React Native CLI setup. Here's the context of my use case:
App Requirements:
No complex native modules are needed. The only native features required are:
Accessing the image gallery (for selecting a photo only),
Interacting with the calendar to save and manage event dates.
The app will send push notifications to users:
When an event is 1 day away,
And again when the event is 1 hour away.
No video/audio calls, no heavy native computation.
App will be published on iOS and Android app stores.
Spring Boot will handle all backend logic and scheduling.
My Questions:
Expo Suitability & Cost Given the above requirements, would sticking with Expo (possibly with EAS) be a good long-term solution — especially in terms of performance and cost for publishing to app stores? Is there any hidden cost or limitation I should be aware of when using Expo for this type of app at scale?
Push Notification Best Practices (Free & Scalable) What would be the best and ideally free approach to implement push notifications like:Since the backend is already on Spring Boot, I prefer to control notifications server-side. Should I use Firebase Cloud Messaging (FCM) directly from my backend, or is there a better alternative?
Scheduling notification triggers 1 day and 1 hour before each calendar event.
Reliable delivery at scale (close to 10k users in the future).
Live UI Updates (for minor design tweaks) I'd like to implement a way to dynamically reflect small UI changes like:What are the most reliable and free/low-cost solutions for achieving this in production? (Remote config services, CMS integration, etc.)
Button color updates
Font style changes, etc. Ideally, this should happen without requiring users to update the app from the store.
Any recommendations, architecture tips, or lessons learned from similar projects would be greatly appreciated!
Thanks in advance!
It is an app that has been in production for 7 years, with a good list of dependencies, some custom native code, and an iOS Lock Screen widget. So nice so see 186k (!) lines deleted from the project!
This is mostly because of CNG which auto-generates the ios/ and android/ folder, so that I could remove them from git.
If you have any questions regarding the migration, I would love to share my experience!
I have recently started app development on react native. I already have experience developing apps in flutter and web development in react js. I am currently going through various tutorials and found some tutorials suggesting react native cli over expo go... Although I have been following on this subreddit since a long time and I have observed many devs preferring expo. Please tell me what is more preferable as I'm supposed to build a payment application with additional support for crypto for a client.
Use expo. Articles suggesting to use react native CLI are probably outdated. The main argument against expo had always been that you can't add native code that is not part of Expo Go. Since the introduction of the expo-dev-client package, this limitation no longer exists.
Expo is easier when you'll build your app and deploy it to the AppStore, RN though have a lot of installable packages that are not suited for Expo since they require Native modules(Mapbox, and more).
I worked with both, I learned more using RN than expo.
Another thing, Expo is also easier if you want to migrate your app to a newer version, RN will be hell.
I'm finally gonna be starting on React Native :D (after having learned a decent amount of React for the web). I was wondering which route to go, or at least which route to start with for learning React Native. What do msot of you guys use?