I just recently was tasked with updating a 5-year-old React Native app. Porting in over to Expo worked wonders, and makes it way easier to update in the future as well. As long as Expo can do what you want to do, it's the best choice, IMO.
Don't know about others, but I am not really afraid of native app development but the convenience that React Native provides for developers who already know React is second to none. And frankly in my opinion Flutter is overhyped.
It's so weird for me to think how it's an epiphany for react and libraries alike that if you don't provide developers with anything they'll start building their own framework, like no shit! This was being touted as one of the benefits of react when it first came around saying it was light and you could exactly tailor it to your use case. .... And now they're doing an Angular with bells and whistles
What's weird about it? React proponents always lived in a state of denial... Wait until they realize their "functional programming" code isn't really functional, and that some OOP concepts are great for building UIs...
@@cocoscacao6102 the weird part is they touted "make your own framework" as a feature and everyone drank the cool aid. Now we have tons of legacy projects that does things their own special way and they're shilling their new Angular-esq approach. It's cool and all what they're doing now but this f up could've been prevented in my opinion if they just thought out their strategy a bit instead of completely taking over the dev discourse by shitting countless cheap articles and youtube videos. I still shudder to think how many things we are wrong about now and only in a few years we'll come to know
good that you have the transparency and all control, but maintaining the native project file with all the versioning including the other libraries is chaos. It is worst when you have to change the api version
0:47 started using react native back in 2016 December and never used all those things you mentioned. React native cli always came with everything I just start developing.
Man, coming from C kernel dev world, webdev feels so cluttered! So many things to follow, frameworks etc, meanwhile my tools are almost the same like 20 years ago...
@@ra-dro Learning simple webdev is good for tooling (admin paged for bigger apps) and for personal portfolio pages. And more reasons to be the one hired c:
Two years ago, I was working on a mobile app that required extensive background services, bringing the app to the front and overlaying it on top of other apps, similar to how Uber does when a driver receives a new trip. It also needed to manage battery usage efficiently. I started with Expo, but I felt the app was running too slowly. Additionally, I realized I needed to switch to React Native CLI when handling background services. How can I manage this in Expo?
I love Expo, especially with CNG and plugins-it makes managing React Native versions a breeze, which with a bare project is a menace. Although, it's still a bit limiting (only experimental plugin for multi-targets and only for iOS and lack of docs around Expo Native Modules except for one very simplified guide). But one thing that is still relatively time consuming and difficult is setting up your own deployment pipeline without EAS, but still support Prebuild + CNG. It requires you to setup Fastlane, Bundler, etc. yourself as you would with React Native; but there's very little, if any, documentation to do this from scratch. We have done it successfully, but it required previous knowledge and know-how to setup different "lanes" for TestFlight, Beta, production, running it on our own CI, etc. but it required a ton of "hacks", which, in my opinion, should have just been exposed as Expo plugins and without the need for an EAS account. And that is without the support for EAS Updates, which is an entirely different beast to deal with. That, and the Android story is missing a ton of information as well as it's mostly focused on iOS. That said, kudos to Evan Bacon and team for their amazing work on making Expo better every day.
Disagree, By forcing us to use expo is the real pain. We are way less flexible, less in control and we are dependant on a company that can lock and monetize its platform any day. I will stick to cli no matter what. I'd rather configure more things than risk being locked.
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....!
Now we can finally write code once and it will render the same in iOS, android and browsers. Until next year, when no person uses browsers and apps anymore but everything is funneled through an OS-level AI assistant.
A had some criticism about using expo on my last job. Got a lot of packages combatibility issues, that sucks. Now I'm setted on a vanila RN project and God, i do missing expo. The prebuild part was so good
I am one of those people who built RN projects from scratch way back when; it was HELL. Thank goodness we have come far enough that it takes mere minutes to spool up a RN project. 🙌
I saw a tarantula few weeks ago on my walk path. I’m still scared but amazed by its beauty. I don’t wanna see them again , but I long to see them again. Why is that? Oh yea expo and ignite is good
Having issues in expo with assets loading in the ios and android versions. It works fine in web, but has various errors with loading GLTF, .png etc in the other formats. Anyone know a solution for that?
I dont get it. I was building react native apps since 0.14x version. Yeah, there were a lot of rough edges, but starting the project was not hard. And then over time it got more polished. Didn't ever get the need to use Expo, and now even more.
Okay, I have listened intently. And here is my conclusions: 1. No new desire to start using EXPO or any other shit suddenly appeared in my head. Moreover, it made to want more to drop using EXPO in all my projects. 2. What fucking do you mean by "server driven UI" is fucking hard so Google have to invent new stuff to do that? Excuse me, a bunch of native controls is a bunch of native controls, and you always could create any control at any moment you wanted to display data you have. Just do it! You do not need yet another fucked markup language to be able to do that.
yeah, still with managed expo it takes anywhere from 2-6s to just do cold startups within the app (i.e. ~100MB bundle size its the minimum when building the bare bones “hello world app”,at least on Android), too slow for any use at big tech, that’s why airbnb ditched it
I don't know, the more I see react it seems to be trying to take in more of the ui landscape. It's sort of their attempt to monopolize control over UI where they are loosing social media monopoly with Facebook. My work just rewrote our native apps with react native and we need twice the engineers to handle all the extra maintenance and our UI got slower then when we were handling things with internal packages and htmx. We are reverting over the next 2 months.
but that's a selling point? He provides his experienced commentary on docs, docs which I might not realize exist btw, and plus he does a million other kinds of videos too
7:21 Oh so that's why start menu in win 11 is so trash :), I mean it looks good, but just that. is very buggy and slow and sometimes just stops working ...
I'm not trying to be rude or anything but why the hell does something like instagram take 24 hrs to build? Like i get there is probably a lot of stuff I don't consider but Instagram is honestly a pretty simple app
Saying Expo resolves the RN upgrade? Lolz it's still super miserable. Like 6 months goes past and it won't even build because it's too far behind. Meanwhile I bet if I dug up an old ass ionic project it would probably still install & start.
Yep. But Swift doesn't have cross-platform frameworks. Also, Swift Devs are as expensive, as Kotlin Devs. In real-world business prefer cheap cross-platform technologies like React Native (with or without Expo) or Flutter. Kotlin Multiplatform is a good choice too, but it is more expensive.
@@peladno I very well could. I’ve been using Xcode for 5 years now and I don’t mind it! There better ides don’t get me wrong but Xcode works fine for me.
"We put a framework in your framework so you can use more framework per framework"
😂😂
As a bare user for years, this is a tough pill to swallow. lol
Expo also generates web apps. Hope they dont give up on it, would like to keep using it for mobile and web projects.
I just recently was tasked with updating a 5-year-old React Native app. Porting in over to Expo worked wonders, and makes it way easier to update in the future as well. As long as Expo can do what you want to do, it's the best choice, IMO.
it from 0.59 below and big , dont it trap and it will very very long . if 0.60 above maybe much better
Glad you had a good experience. Any advice you have for other devs who want to move existing RN apps over to Expo?
Expo is great and EAS is even better. But, it’s important not to be afraid of native mobile development
Don't know about others, but I am not really afraid of native app development but the convenience that React Native provides for developers who already know React is second to none.
And frankly in my opinion Flutter is overhyped.
not that most people are afraid, just not ready to learn 2 languages and tools to build and deploy an app as an indie developer
Blame gradle & xcode for that
@@truthalwaysprevails662 how is flutter overhyped its amazing
It's so weird for me to think how it's an epiphany for react and libraries alike that if you don't provide developers with anything they'll start building their own framework, like no shit! This was being touted as one of the benefits of react when it first came around saying it was light and you could exactly tailor it to your use case.
.... And now they're doing an Angular with bells and whistles
What's weird about it? React proponents always lived in a state of denial... Wait until they realize their "functional programming" code isn't really functional, and that some OOP concepts are great for building UIs...
@@cocoscacao6102 the weird part is they touted "make your own framework" as a feature and everyone drank the cool aid. Now we have tons of legacy projects that does things their own special way and they're shilling their new Angular-esq approach.
It's cool and all what they're doing now but this f up could've been prevented in my opinion if they just thought out their strategy a bit instead of completely taking over the dev discourse by shitting countless cheap articles and youtube videos. I still shudder to think how many things we are wrong about now and only in a few years we'll come to know
Vanilla RN is pretty good imo.
good that you have the transparency and all control, but maintaining the native project file with all the versioning including the other libraries is chaos. It is worst when you have to change the api version
0:47 started using react native back in 2016 December and never used all those things you mentioned. React native cli always came with everything I just start developing.
xcode is so bad at this point i use swift playgrounds for development and xcode when i need to make it into a final app
lmao
it's perfect shit. now I feel like fuck u mac users nothing for u
if storyboard yes but swift ui is okay or programmatic ui kit
Expo has come a long way, congrats to the team!
6:12 imagine taking a day to build your app then realizing you forgot to center a div somewhere
So glad I went with expo for my mobile startup projects. It’s been a delight.
I always find myself needing functionality that is not available in Expo so not convinced yet.
but you can use anything on expo now
Exactly
same
I haven’t run into anything that doesn’t work with a expo prebuild
Have you heard about expo prebuild?
Man, coming from C kernel dev world, webdev feels so cluttered! So many things to follow, frameworks etc, meanwhile my tools are almost the same like 20 years ago...
Just wonder, is there a reason you decide to come from C kernel? (genuinely interested).
@@ra-dro yeah me too, I'm coming from vanilla java 8 on the backend to Angular and I'd love to hear your thoughts
@@ra-dro Learning simple webdev is good for tooling (admin paged for bigger apps) and for personal portfolio pages. And more reasons to be the one hired c:
See you in Portland Theo!
Two years ago, I was working on a mobile app that required extensive background services, bringing the app to the front and overlaying it on top of other apps, similar to how Uber does when a driver receives a new trip. It also needed to manage battery usage efficiently. I started with Expo, but I felt the app was running too slowly. Additionally, I realized I needed to switch to React Native CLI when handling background services. How can I manage this in Expo?
Comparing Vercel to FTP is not fair. There is also ssh rsync and git which can make life easy and deployment fast.
FTP deployments always felt like one click.. especially compared to flaky ci/cd pipelines 💀
I love Expo, especially with CNG and plugins-it makes managing React Native versions a breeze, which with a bare project is a menace. Although, it's still a bit limiting (only experimental plugin for multi-targets and only for iOS and lack of docs around Expo Native Modules except for one very simplified guide).
But one thing that is still relatively time consuming and difficult is setting up your own deployment pipeline without EAS, but still support Prebuild + CNG. It requires you to setup Fastlane, Bundler, etc. yourself as you would with React Native; but there's very little, if any, documentation to do this from scratch. We have done it successfully, but it required previous knowledge and know-how to setup different "lanes" for TestFlight, Beta, production, running it on our own CI, etc. but it required a ton of "hacks", which, in my opinion, should have just been exposed as Expo plugins and without the need for an EAS account.
And that is without the support for EAS Updates, which is an entirely different beast to deal with. That, and the Android story is missing a ton of information as well as it's mostly focused on iOS.
That said, kudos to Evan Bacon and team for their amazing work on making Expo better every day.
Same but we used chat gpt and it took a matter of weeks instead of months
Disagree, By forcing us to use expo is the real pain. We are way less flexible, less in control and we are dependant on a company that can lock and monetize its platform any day. I will stick to cli no matter what. I'd rather configure more things than risk being locked.
Yes, most of the react native apps that are built by big companies use cli not exp. I don't know why they're suggesting expo in the docs
All the first comments are all some weird bots 💀
Indeed
plot twist they where made using react native
😂😂😂
Check dead internet theory xD
Expo's EAS is enough reason for me
But it costs money! :D
Services cost money
@@ra-dro If your app makes money this is not an excuse
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....!
been there with the original tools and I concur.
These contents are getting more objective, enlightening and educational 👌🏾
Missing the days where you just put a script tag in your html and that was it
Great! Someday Expo will support 7:18 React Native for Windows and macOS. I'm still waiting eternally though...
Now we can finally write code once and it will render the same in iOS, android and browsers. Until next year, when no person uses browsers and apps anymore but everything is funneled through an OS-level AI assistant.
Thank you. this was really insightful
A had some criticism about using expo on my last job. Got a lot of packages combatibility issues, that sucks. Now I'm setted on a vanila RN project and God, i do missing expo. The prebuild part was so good
i always go with rn cli , why should i use framwork of framework, i use expo , i think it is not good for production
this "framework of framework" automates/simplifies problems rn cli hasn't solved or won't solve by itself. It's too good for production.
I am one of those people who built RN projects from scratch way back when; it was HELL. Thank goodness we have come far enough that it takes mere minutes to spool up a RN project. 🙌
Is he reading yet another article or coding an expo app? I can't with another reading episode
Its so overwhelming especially for beginners.
React did it with Nextjs and now React native con expo 😢
fortunately
Apples to oranges.
Expo is there to aid developers to build stuff quickly.
Can't say the same for nextjs
@@ijazkhan3335 nextjs is suppose to do that but react server component just missed so badly
I saw a tarantula few weeks ago on my walk path. I’m still scared but amazed by its beauty. I don’t wanna see them again , but I long to see them again. Why is that? Oh yea expo and ignite is good
Wait until you try to integrate any native library such as chart, you'll eject Expo before even think about it
Having issues in expo with assets loading in the ios and android versions. It works fine in web, but has various errors with loading GLTF, .png etc in the other formats. Anyone know a solution for that?
What are you using to search stuff so quickly
Steve Jobs was not fired from Apple.
yes, In 1985
I wonder what Theo thinks of MojoCSS vs Tailwind?
tomorrow is stream day and you're almost close to hitting 300k? I like where this is going.
👀
second that on upgrading react native version
I dont get it. I was building react native apps since 0.14x version. Yeah, there were a lot of rough edges, but starting the project was not hard. And then over time it got more polished. Didn't ever get the need to use Expo, and now even more.
What it adds on top of a regular react native project?
Version upgrades I do agree. Especially copying the source code is so true, I've done it many times.
Okay, I have listened intently. And here is my conclusions:
1. No new desire to start using EXPO or any other shit suddenly appeared in my head. Moreover, it made to want more to drop using EXPO in all my projects.
2. What fucking do you mean by "server driven UI" is fucking hard so Google have to invent new stuff to do that? Excuse me, a bunch of native controls is a bunch of native controls, and you always could create any control at any moment you wanted to display data you have. Just do it! You do not need yet another fucked markup language to be able to do that.
Expo's help alot really...
yeah, still with managed expo it takes anywhere from 2-6s to just do cold startups within the app (i.e. ~100MB bundle size its the minimum when building the bare bones “hello world app”,at least on Android), too slow for any use at big tech, that’s why airbnb ditched it
Do you mean running the release build on a device take 2-6 seconds from pressing the icon to app being functional?
This shouldn't be the case if you're on Hermes
I don't know, the more I see react it seems to be trying to take in more of the ui landscape. It's sort of their attempt to monopolize control over UI where they are loosing social media monopoly with Facebook. My work just rewrote our native apps with react native and we need twice the engineers to handle all the extra maintenance and our UI got slower then when we were handling things with internal packages and htmx. We are reverting over the next 2 months.
Trying to move a brownfield app to eas is hard😔
isn't it painful to prebuild the project everytime.
but what about the limitations on expo?
When was the last time you used it?
I can now build iOS apps on windows 😅😅, perfect
This guy reads docs on RUclips 😂
at least he reads docs though!
but that's a selling point? He provides his experienced commentary on docs, docs which I might not realize exist btw, and plus he does a million other kinds of videos too
Him reading docs is a good sign of encouraging people to try new things
bro comments on youtube
@@apidas 😂
wth this video was about
So react is JavaScript's framework, react native is a react framework, and expo is a react native framework. 😂😂😂😂
Damn I'm so fucking high.
47 seconds ago is crazy workl
So are server components actually ready for general use in react native?
Well
Any application that can be written in JavaScript, will eventually be written in JavaScript.
JS the overlord
Cool
7:21 Oh so that's why start menu in win 11 is so trash :), I mean it looks good, but just that. is very buggy and slow and sometimes just stops working ...
I'm not trying to be rude or anything but why the hell does something like instagram take 24 hrs to build? Like i get there is probably a lot of stuff I don't consider but Instagram is honestly a pretty simple app
EAS is same as testflight
what?
Saying Expo resolves the RN upgrade? Lolz it's still super miserable. Like 6 months goes past and it won't even build because it's too far behind.
Meanwhile I bet if I dug up an old ass ionic project it would probably still install & start.
here before the bots leave (not a high bar tbh)
Expo’s cool but Swift’s much better.
Yep. But Swift doesn't have cross-platform frameworks. Also, Swift Devs are as expensive, as Kotlin Devs. In real-world business prefer cheap cross-platform technologies like React Native (with or without Expo) or Flutter. Kotlin Multiplatform is a good choice too, but it is more expensive.
Hot Take: Xcode isnt that bad...
you live in denial
@@peladno I very well could. I’ve been using Xcode for 5 years now and I don’t mind it! There better ides don’t get me wrong but Xcode works fine for me.
Flutter better...
Flutter is dead.
Not even close
How? Flutter is better in rendering than raw react native.
Expo just rekts flutter. RN is better in memory management
@@MinhazurSarkerexpo is shit
I consider React Native and JS as one the epic failed developments in the IT industry. Why use html and JS code in the core GUI elements of an OS.
Cause stuff has to get done with the teams you have. It’s all a free market. Use what works for you or your team
wonder if they plan to sell the windows ui to linux users later on.
*Don't use React.*