As someone who has developed a few apps using Expo I never really fully understood the difference between Expo Go and a development build, this has really helped make sense to it all :)
Expo Go is an amazing tool, but the other day when I shift my project to a Local-First architecture using PowerSync, I discovered the awesome and the powerful options of Development Builds. Sometimes I never cease to be amazed at how much progress has been made in technologies like Expo, and how they make everything much simpler and easy. God and LORD Jesus bless you guys, all the Expo team, and Beto, and all the wonderful comunity of Expo and RN! Thanks for all, greetings from Chile!
I can’t believe this video exists! I hope more libraries did the same. Having a team member of the framework to clearly explain what’s in the docs is just great. Sometimes docs are not enough. Congrats expo team! 🎉
This video was super helpful for me for a couple of reasons.. I am new to developing with React Native and Expo, I had been using ExpoGo to see my application in real-time on my personal android device. But it's functionalities are very limited in terms of the libraries it can use and display for you. So, I had to move to EAS Expo Development Builds and this video made it super easy for me to follow and work with! I am now comfortable in the process of creating development builds for my android device and can't wait to carry on with my own development journey! Thanks Beto and Expo!!!! ❤
@codewithbeto I've dropped a sub and I'm excited to watch a few more of your videos!! As someone else has commented below, if we could get a video on adding EAS Secrets to the build that would be fantastic!!! I looked at the docs on Expo, but were a tad confusing, as for example I don't have a "app.config.js" file just my "app.json" and where I tried to follow the same process with that file, it didn't seem to work.. This was for the "Google Services" json file to use Firebase Auth on my app, so I have just left that file in the build so it would function.. Thanks again, your video was SUPER helpful!!
Great video! Expo has made React Native finally usable for production. However, there aren't enough guides on using it "for production" for smaller enterprise users. I've encountered many developers at small companies who struggled to understand your toolchain for building apps. These could be paying customers, but they resorted to the free version because they didn't want to invest in something they couldn't fully utilize. I recommend creating videos on setting up the Expo build toolchain and integrating it with build and deployment pipelines for enterprise-grade deployment. You might be pleasantly surprised by the results.
Thanks you so much Beto Sir. I follow your steps with remote development builds and finally I make the apps in actual iPhone which is amazing. Thanks, thanks, thanks again.
This video is very helpful the way he explains slow and steady makes me understand better. after running away from any thing rebuild for months now Thanks
Have been using Expo for a while now, and really LOVE the developer experience. (I started out building websites, and my first mobile experience was with phone gap. Expo has been similar to that experience, but obviously WAY better! Love using React Native, Native Modules, etc.) BUT although I love it, the issues mentioned between expo go and having to build and install every time was the biggest pain point for me, and I hadn't heard about Development Builds. I LOVE IT - this video was great although I did skip to the part on Development Builds 9:00 minutes to the end had me hooked - I've just switched :D
Excellent video! I have used development builds in the past but the issue i was facing is that once installed in my device, my real live app was replaced by the new build since they have the same name. How can I bypass this issue and have both apps in my device, the one installed from the store and the development build at the same time.
Great but a confused a bit why you had to run dev server for an ios app already built in EAS? Makes sense for development but I would have expected the built app to work without the dev server running? Also is there any way to deploy to an iPhone with Expo without the paid Apple Dev account? I mean using the free one with Apple Id that lets you deploy to your own device for 7 days if you are using native xcode.
Hi, because I set my development profile to use developmentClient: true. This allows me to keep working on my app with the benefits of live-reloading. If I had used "preview" or "production," the app would be a standalone app, which means it would work without the server running, but I would not be able to see my changes as I continue developing the app.
If you want to install an app on an actual device, you need a paid Apple Dev account. You can also use Expo Go, but it won't work without the server running.
Great video How can i do to let someone else test my app from a different country using the eas build ? By sharing the link generated by eas build ,that's enough ?
Why do I always get an error in the development build when I use charts ( ERROR Invariant Violation: requireNativeComponent: "RNSVGLinearGradient" was not found in the UIManager.)
that link that you opened on your physical device, If I build a production build, anyone with the link would be able to install that build on their physical device?
does this mean if i have an apple developer account i don't actually need to own mac book to compile nor to release in apple store? guys can anyone help on this one cause im running on windows....
I started working with expo from last 6-8 months and gone through countless errors. The commands working on MAC are not working same on Windows. One of the biggest headaches is the APK file size for a plain expo project, it went to 160Mb from 60Mb with the recent SDK update. Secondly, prebuilds and run:android are not simple as mentioned in expo docs. Even after hours of trouble shooting, all attempts are veined. But I wonder why the build commands didn't throw any error. Please work on how to fix, it really helps more devs who are just starting using expo.
Hi, please check out the docs.expo.dev/distribution/app-size/ to understand how an app's size is affected in debug mode vs production/release mode. For errors you faced when running `npx expo run:android` rebuild command, please open an issue with the error log or a minimal reproducible example in our github repo (expo/expo) so that we can take a look into it.
Can you make the build taking lesser time? Once I was developing a very simple app for a teacher of mine, and there were some small updates, guess what happened after each build? It took 3-4h to build an APK! Crazy, right? Like for 3 iteration almost took a day just to build and send the APK. Not good experience at all with Expo EAS.
Thanks for the video and the articles, it was very explanatory. Is there any way to make a third party lib integrate with expo go? Request it somewhere, update a repository, etc. Is there a way?
Hi, Expo Go is a sandbox environment that comes with the support of pre-packaged libraries, so if the third-party library requires changes to native code, then it is not possible and better to create a development build. See our docs for more info: docs.expo.dev/workflow/using-libraries/#third-party-libraries
Hi! I’ve been working as a React Native CLI developer for the past year, but I’m unsure whether to switch to Expo or stick with CLI. If anyone with experience could share their thoughts, I’d really appreciate it....!
The React Native team recently recommended that everyone use Expo CLI (instead of RNC CLI). That endorsement is meaningful. But we also recently published a blog post about a company that made the switch: expo.dev/blog/from-rnc-cli-to-expo
for building ios, do we need to have apple paid developer account ? in my case, show this error while logging in ** Authentication with Apple Developer Portal failed! You have no team associated with your Apple account, cannot proceed. (Do you have a paid Apple Developer account?) **
Can you help me, please? This is a mistake showed then runing the command "npx expo run:android". Could not find or load main class org.gradle.wrapper.GradleWrapperMain Caused by: java.lang.ClassNotFoundException: org.gradle.wrapper.GradleWrapperMain
This video was super helpful in setting up my dev build! Thank you Beto
Thank you 🙇
As someone who has developed a few apps using Expo I never really fully understood the difference between Expo Go and a development build, this has really helped make sense to it all :)
Beto sir is on fire with expo. 👍 sir do consider cover deep linking too in your upcoming videos. This is the most untouched topic
That's a good suggestion.
You got it! ❤
Expo Go is an amazing tool, but the other day when I shift my project to a Local-First architecture using PowerSync, I discovered the awesome and the powerful options of Development Builds. Sometimes I never cease to be amazed at how much progress has been made in technologies like Expo, and how they make everything much simpler and easy. God and LORD Jesus bless you guys, all the Expo team, and Beto, and all the wonderful comunity of Expo and RN! Thanks for all, greetings from Chile!
The clearest explanation on this topic I have seen.
Thank you 🙏
I can’t believe this video exists! I hope more libraries did the same. Having a team member of the framework to clearly explain what’s in the docs is just great. Sometimes docs are not enough. Congrats expo team! 🎉
This video was super helpful for me for a couple of reasons.. I am new to developing with React Native and Expo, I had been using ExpoGo to see my application in real-time on my personal android device. But it's functionalities are very limited in terms of the libraries it can use and display for you. So, I had to move to EAS Expo Development Builds and this video made it super easy for me to follow and work with! I am now comfortable in the process of creating development builds for my android device and can't wait to carry on with my own development journey! Thanks Beto and Expo!!!! ❤
@codewithbeto I've dropped a sub and I'm excited to watch a few more of your videos!! As someone else has commented below, if we could get a video on adding EAS Secrets to the build that would be fantastic!!! I looked at the docs on Expo, but were a tad confusing, as for example I don't have a "app.config.js" file just my "app.json" and where I tried to follow the same process with that file, it didn't seem to work.. This was for the "Google Services" json file to use Firebase Auth on my app, so I have just left that file in the build so it would function.. Thanks again, your video was SUPER helpful!!
Loving this! Just tried it out and also got it working :) Thanks for an awesome video!
Thanks for watching!
Great video! Expo has made React Native finally usable for production. However, there aren't enough guides on using it "for production" for smaller enterprise users. I've encountered many developers at small companies who struggled to understand your toolchain for building apps. These could be paying customers, but they resorted to the free version because they didn't want to invest in something they couldn't fully utilize.
I recommend creating videos on setting up the Expo build toolchain and integrating it with build and deployment pipelines for enterprise-grade deployment. You might be pleasantly surprised by the results.
Thanks for the thoughtful comment. We will discuss this idea internally.
Thanks you so much Beto Sir. I follow your steps with remote development builds and finally I make the apps in actual iPhone which is amazing. Thanks, thanks, thanks again.
Beto is an extremely good teacher. Thanks bro
This video is very helpful the way he explains slow and steady makes me understand better.
after running away from any thing rebuild for months now
Thanks
Glad it helped!
Thanks, Beto. Really helpful. I also watch your youtube tutorials.
❤️
If you are on designing phase use expo go for hot reload, if you're building features and stuff that specifically needs native code, use dev build
Great video Beto! Thank you for the help! 🙌
Have been using Expo for a while now, and really LOVE the developer experience. (I started out building websites, and my first mobile experience was with phone gap. Expo has been similar to that experience, but obviously WAY better! Love using React Native, Native Modules, etc.)
BUT although I love it, the issues mentioned between expo go and having to build and install every time was the biggest pain point for me, and I hadn't heard about Development Builds. I LOVE IT - this video was great although I did skip to the part on Development Builds 9:00 minutes to the end had me hooked - I've just switched :D
Thank you so much!
I can't imagine how this explained very well!
Thanks again
Bro, are you on Expo ? Damn, that's good news, another latino on the major leagues
Hey beto....please make a video on expo environment variables...How can we secure our secret keys and stuff?
Yeah that's an important one. We're cooking an Env Vars blog right now to demonstrate some new things we've built. Stay tuned.
Hello! Thanks for the suggestion; I'll be sure to add it to the pipeline :)
Yes...I'll be waiting for it @ExpoDevelopers @codewithbeto 😊
Thanks for sharing, you guys rock!
Thanks for the kind words Melvin!
Really useful, thanks for the lesson!
Thanks for watching!
Development builds team 💪
if i have an iPhone and windows laptop , can i develop an app with Expo CLI and download it to my iPhone
super good info as usually!
Dev builds are incredible
They are so important. Need to get more people on them. Hope this video helps.
Excellent video! I have used development builds in the past but the issue i was facing is that once installed in my device, my real live app was replaced by the new build since they have the same name. How can I bypass this issue and have both apps in my device, the one installed from the store and the development build at the same time.
Thank you for this explanation
Great but a confused a bit why you had to run dev server for an ios app already built in EAS? Makes sense for development but I would have expected the built app to work without the dev server running?
Also is there any way to deploy to an iPhone with Expo without the paid Apple Dev account? I mean using the free one with Apple Id that lets you deploy to your own device for 7 days if you are using native xcode.
Hi, because I set my development profile to use developmentClient: true. This allows me to keep working on my app with the benefits of live-reloading. If I had used "preview" or "production," the app would be a standalone app, which means it would work without the server running, but I would not be able to see my changes as I continue developing the app.
If you want to install an app on an actual device, you need a paid Apple Dev account. You can also use Expo Go, but it won't work without the server running.
Can you please show an example of sharing your app on a PREVIEW build to stakeholders? How would that work ?
That's amazing!
Great video
How can i do to let someone else test my app from a different country using the eas build ?
By sharing the link generated by eas build ,that's enough ?
Why do I always get an error in the development build when I use charts ( ERROR Invariant Violation: requireNativeComponent: "RNSVGLinearGradient" was not found in the UIManager.)
Great. It seems I will need this
Can I use the EAS build without an Apple Developer Account? If yes, what is the limit doing so? Thank you!
that link that you opened on your physical device, If I build a production build, anyone with the link would be able to install that build on their physical device?
does this mean if i have an apple developer account i don't actually need to own mac book to compile nor to release in apple store? guys can anyone help on this one cause im running on windows....
I started working with expo from last 6-8 months and gone through countless errors. The commands working on MAC are not working same on Windows.
One of the biggest headaches is the APK file size for a plain expo project, it went to 160Mb from 60Mb with the recent SDK update.
Secondly, prebuilds and run:android are not simple as mentioned in expo docs. Even after hours of trouble shooting, all attempts are veined. But I wonder why the build commands didn't throw any error.
Please work on how to fix, it really helps more devs who are just starting using expo.
Hi, please check out the docs.expo.dev/distribution/app-size/ to understand how an app's size is affected in debug mode vs production/release mode.
For errors you faced when running `npx expo run:android` rebuild command, please open an issue with the error log or a minimal reproducible example in our github repo (expo/expo) so that we can take a look into it.
can i test deep linking using expo go?
Please someone, correct me if I'm wrong. With development build we can potentially install native modules that are not supported by expo?
If you mean that you can install third-party libraries that are not part of Expo SDK, then yes.
"Build failed: Gradle build failed with unknown error. See logs for the "Run gradlew" phase for more information."
??
Sorry you had a build error. Check out the docs on build errors and crashes: docs.expo.dev/build-reference/troubleshooting/
Can you make the build taking lesser time? Once I was developing a very simple app for a teacher of mine, and there were some small updates, guess what happened after each build? It took 3-4h to build an APK! Crazy, right? Like for 3 iteration almost took a day just to build and send the APK. Not good experience at all with Expo EAS.
Sounds like a perfect opportunity to try EAS Update, you can ship updates in minutes to an already deployed app docs.expo.dev/eas-update/introduction/
Thanks for the video and the articles, it was very explanatory. Is there any way to make a third party lib integrate with expo go? Request it somewhere, update a repository, etc. Is there a way?
Hi, Expo Go is a sandbox environment that comes with the support of pre-packaged libraries, so if the third-party library requires changes to native code, then it is not possible and better to create a development build. See our docs for more info: docs.expo.dev/workflow/using-libraries/#third-party-libraries
Hi! I’ve been working as a React Native CLI developer for the past year, but I’m unsure whether to switch to Expo or stick with CLI. If anyone with experience could share their thoughts, I’d really appreciate it....!
The React Native team recently recommended that everyone use Expo CLI (instead of RNC CLI). That endorsement is meaningful. But we also recently published a blog post about a company that made the switch: expo.dev/blog/from-rnc-cli-to-expo
for building ios, do we need to have apple paid developer account ? in my case, show this error while logging in
** Authentication with Apple Developer Portal failed!
You have no team associated with your Apple account, cannot proceed.
(Do you have a paid Apple Developer account?) **
I think you need a paid account bro
Beto make a video how to setup nativewind v4 with expo
Can i use the eas build with react native cli to install the app on my real device?
Yes, you can.
In windows you cant build android apk u have build with server and u will get a lot pf errors..
awesome
Does EAS build cost anything?
You can use it for FREE! with some limits; you can learn more about pricing here: expo.dev/pricing
I want this T-Shirt
NEVER, EVER stop supporting expo go
If I start with Expo Go, can I switch to a development build at any time?
of course , i always start with expo go and switch later
The only reason I use expo go is because I don't have a mac, otherwise I'd use dev builds for everything because it helps catch so many bugs early on.
You could use a dev build with EAS as well 🙂
@@codewithbeto apple dev programme doesn’t work in my country
@@yesihavenousernamesowhat which country are you in?
@@ccheever2 Kosovo
Can you help me, please? This is a mistake showed then runing the command "npx expo run:android". Could not find or load main class org.gradle.wrapper.GradleWrapperMain
Caused by: java.lang.ClassNotFoundException: org.gradle.wrapper.GradleWrapperMain
Sorry you're having a build error. Check out the docs on build errors and crashes: docs.expo.dev/build-reference/troubleshooting/
wooow