I am using React Native. What is the purpose of the Expo? What does Expo do that we can't do at RN?
Videos
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 :)
Last week I released my first app Waveous to the app store (working on finishing Android) for Spotify users to see their entire lifetime streaming stats, see what music your friends are liking and commenting on, and notifications to not miss new releases from your favourite artists.
I spent the last 6-7 months developing this part time and I cannot say enough good things about the developer experience React Native and Expo provided. Coming from using React for web development, I'm so glad I went with React Native over other alternatives. I don't have a Mac so Expo EAS was a saviour and the rest of the Expo suite is some of the most intuitive and well documented developer tools I've used in ages.
For those who have released apps and successfully got traction, any tips around getting users?
Iโve been building a journaling tool where people can write with historyโs greatest thinkers to become wiser and calmer every day. After a bunch of users asked for a mobile version, I chose React Native + Expo.
No regrets โ but it wasnโt all roses. Hereโs what went well, and what to watch out for:
โ What worked well
Expo + Windsurf + Monorepo = cheat code Sharing a codebase between web and mobile is so powerful. With AI code editors now, I can ask it to align endpoints or sync logic across platforms in seconds.
Over-the-air (OTA) updates feel like web dev This is a game changer. Push updates without going through the app store โ totally worth using Expo just for this.
โ ๏ธ What to watch out for
OAuth (Apple + Google login) is nuanced. Expect some setup pain. With Expo, there are lots of config variables (builds, environment, physical devices). It takes trial and error to get it stable.
Build confusion is real Understanding
app.json,eas.json, dev builds vs simulator builds, and how they impact your workflow takes some learning. As a beginner, I spent ~$96 for the first few builds before figuring out how to stay within the free tier.App review times can vary a lot Apple took ~2 weeks. Google took almost a month! If you're on a timeline, definitely account for that.
iOS vs Android still behave differently Layout, spacing, interactions โ they donโt always match. Always double check both platforms before you ship.
At last, give Life Note a try! I've built this for myself and as an entrepreneur I've been journaling with Steve Jobs and it helps a lot with my journey. Love to hear your feedback!
Web: https://www.mylifenote.ai/
Apple: https://apps.apple.com/tw/app/life-note-journal-with-greats/id6740916037?l=en-GB
Android: https://play.google.com/store/apps/details?id=com.lifenote.app
New to react native, and was curious. Is everyone just using Expo to use react native?
I'm about to start a new job and I'll be using React Native to develop mobile apps. Are companies actually using Expo for developing React Native apps? Like has it become a standard? Are there other ways like better alternatives to Expo? I've heard of React Native CLI, is it much better and standardized in the industry?
I had some React (web) experience, and jumped directly into building the app with Expo React Native with Cursor. In two months, I managed to build in my free time an app with authentication (Supabase), notifications (Expo Notifications), subscriptions (RevenueCat), and connection to APIs (built with NodeJS on my server).
It is called Trend To Grow, and it focuses on giving content ideas to influencers, marketing teams, and content creators.
If you already know how to code, building React Native apps with Cursor is super straightforward. However, I feel you still need coding knowledge to be able to create a production-ready app. The biggest pain for me was handling the RevenueCat integration, and testing the local notifications.
Other parts like building the UI and Sign In With Apple were way easier to build than I anticipated.
Let me know if you have any questions! ๐
You can check it out here: https://apps.apple.com/es/app/trend-to-grow-ai-post-ideas/id6741577892?l=en-GB
TLDR; Drop Expo Go, Creat full build with expo-dev-client
If you are building a new app with Expo, the first step after initial setup should be to to create a dev client build. You can search the EAS docs for how to do that but it is a single command. I see many posts stating โx isnโt working with Expo Goโ. With the modern Expo / EAS cli you shouldnโt really even need Expo Go at all if you if you are doing anything more than prototyping. Use the EAS cli to create a full build of your application with expo-dev-client which gives you all of the benefits of Expo Go (hot reload) with no downsides (package constraints etcโฆ) for a โpro tipโ use the โlocal option to build the application locally without needing to wait for the expo servers.
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?
If you are going to use the free version, be prepared to wait in line for 1 hour for build. Additionally, your monthly build rights are limited to 30. When you download a new package to your project you have to build it. Unable to build natively on Windows.
There are so many different ways to do a method and you don't know what to do or what you're doing right. Maybe the command you want to run is in the past!!!
I am using CLI. I want to use Expo, but I keep encountering "buts".
A project I completed in CLI was 45MB, but in Expo it started with 60MB before I could do anything.
I don't know if it's a PR effort, but Expo is praised a lot, especially on reddit, and there are a lot of reactions to negative comments.
In my opinion, the positive side of the Expo is; Easy setup, No iOS/Android files, being able to easily handle basic tasks such as Splash Screen, easily updating RN versions (That's what it says. I haven't tried it.)
I will continue to use CLI. At least for now.
So, Am I missing something at the Expo? I'm curious about the thoughts of experienced friends. Please share with me.
Hey everyone,
Yesterday, I launched my app Packup! on Android and iOS! ๐ It's built with React Native and Expo on the frontend and Supabase as the backend. Also using EAS for building, deploying and push notifications.
Packup! is a shared packing list app that helps you and your travel buddies plan and organize what to bring on your tripsโefficient, collaborative, and stress-free!
I initially started with bare React Native, but as the project grew, managing dependencies and builds became increasingly complex. That's when I switched to Expoโand it turned out to be a game-changer! ๐
With Expo's prebuilds and development builds, I streamlined my workflow, and integrating features like expo-notifications and expo-updates became much easier. The improved project and dependency management saved me so much time!
If you're curious about my journey from idea to app launch, I shared my process, decisions, and key learnings in this Medium post: https://medium.com/@devmarv/from-idea-to-app-launch-process-decisions-and-learnings-1b7327659e55
Iโd love for you to try out my app and share your feedback! ๐
iOS: https://apps.apple.com/us/app/packup-gemeinsam-einfach/id6563151209
Android: https://play.google.com/store/apps/details?id=com.packup
Looking forward to your thoughts! ๐
Hey everyone,
I'm in my final year of studies, and for one of our classes, we have an applied industry project where we (a group of 7) are tasked with building an application for a client. It's an MVP, so it will not be deployed to any app store. Our client will still need to be able to run the app on their mobile devices however.
The core features for our client's project include a map, live chat, notifications, camera, and authentication. We have built functional proof of concepts for all of these features using Expo Go. However I see recommendations online for steering away from Expo Go when building production apps.
Online research has pointed to using Expo Development builds for scenarios where you wish to edit native modules and/or share your app with clients. Can someone explain to me why? If we were to build the application using Expo Go, and run the Expo build command whenever everything is completed, will the app still work as intended? I have tried developing other projects using Expo's development builds, but it's much slower.
There are so many different expo services/commands like Expo Go, Expo Development Builds, Expo Production builds, Expo EAS, and I've read in to them all, but it feels a little overwhelming and I don't quite understand when to use feature x over y.
I have created an application with expo before but i faced lots of trouble because some libs dont support expo
I'm trying to follow what I thought would be a straightforward local workflow:
Start the Expo dev server with
expo startDevelop the app on the iOS simulator
Once ready, open the Xcode project, build, and run it on the simulator
Unfortunately, step 3 fails because the app expects the Expo dev server (Metro) to be running to fetch the JS bundle. This seems like a hard requirement.
I suppose you could manually tweak the Xcode project to load the bundle as a local resource, but that feels counterintuitive and messy.
Also, eas build --local still requires both Expo build tools and an Apple developer account, so it's not a pure local solution either.
Am I missing something obvious here, or is this just how it works with Expo right now? Any tips or clarification would be appreciated โ thanks!
EDIT:
When I say step 3 fails, I meant that is running the expo dashboard which requires the dev server to run. I just want to run it without the server i.e. as the production build.
Hello everyone,
Back in the day (maybe 2 years ago) I used build react native apps without using expo. However, after a couple of weeks of practice I noticed that expo became quite used in most tutorials and courses. I haven't found any recent post about it and I would like to ask, what are the advantages of using it or not?
I wrote a pretty comprehensive blog post on the topic not so long ago: https://scriptide.tech/blog/should-you-use-expo-for-react-native. I came to the unequivocal conclusion; yes.
Happy to receive any feedback you guys might have, curious about your experiences.