If react native requires you to install skia so its UI reaches 60 fps, why not just use flutter? it is a pain to learn sure, but once you learn it it is so much easier to maintain and program. I switched to flutter and now I am having time to sleep again
It does not require skia to get 60 fps, where did you even get that from? Skia is mostly for doing complex graphics. That is like saying the only way to achieve a smooth website is by using the canvas api
Flutter is still far ahead of React Native, Flutter is now more than production ready. I use both React Native was released in January 2015, while Flutter was released in May 2017, and it already over takes it
All looks nice and good but things start to follow apart when building for an enterprise; I don’t see the tooling you use in the course are the defacto for big projects, is your course oriented for enterprise development? Thanks
If you are referring to using Expo SDK 52 then you’ll find you are struggling because we all are. For now, unless you want to join the community of Expo core developers, I could advise extracting your RN code from your monorepo and creating a standalone one. At least until the support for Nx improves. Otherwise you will exhaust cycles trying to fix some mundane failures that have nothing to do with your code.
Hey Simon, thank you for the video! Can you make a video on how to best structure your app using expo-router if the app is very complex? A complex e-commerce application for example with many nested screens and tabs. Thanks!
I am getting an issue in eas build, it is not working as we know this is use to create apk and ios application of your expo files. I tried multiple times changed Java version, gradle version nothing worked. Giving tar error don't understand why. Even i initialise expo initial set up still it failed.
I have been following your Todoist clone tutorial and have almost completed it. However, I encountered some major issues while testing on Android. As I am developing on a Mac, the code runs fine on iOS, but when I try running the same code on an Android emulator, I encounter several errors. For instance: MMKV does not work on Android. Touch interactions on the header (e.g., settings and profile buttons) do not work on physical Android devices. Could you please address these issues and provide insights into the probable reason why header buttons like settings or profile are not working on Android? I’ve tried multiple fixes, but nothing seems to work. Your guidance would be highly appreciated!
React Native still has one major thing where it doesn't hold a candle to Flutter. And that's platform consistency. If you're building an app for Desktop and Mobile, one that should be used natively, one that you want people to feel happy with, one where you want to share code across all those platforms. React Native just doesn't work. I don't want to build the same UI even across Electron (or other Desktop UI framework) and React Native. What if someone is using an iPad or Tablet? We want them to get the same experience as they do on Desktop. Separation between mobile and desktop UI is something of the past, with Android XR, visionOS and more platforms that are compatible with the underlying app building libraries (like how you can run Android apps on Android XR/Horizon OS and how you can run iOS apps on visionOS) you want the user to have a desktop like UI on there, and not your shitty mobile layout. Discord still doesn't support tablets well and has lots of issues with it for example. Now, I know React Native for Desktop exists, but what about Linux? I know that it's a nieche platform, but that's exactly the problem. Building an engine that uses a native UI toolkit (like what React Native has) vs. a custom rendering layer like what Flutter has (with various graphic APIs) is way harder. There are 3 graphic APIs Flutter implements: Metal, Vulcan and OpenGL (maybe there are more, not going to google this now, but point still stands). While for React Native, you need to maintain an engine that's supposed to make an app look exactly the same across ALL native toolkits? That is just not possible. Supporting a new platform is way harder for React Native than for Flutter for this reason. Because React Native has to be reimplemented from scratch on every platform while Flutter needs to be reimplemented for every graphics API (huge simplification of course, but gets the point across). Graphics APIs are standards, while there is no standard for graphic toolkits as they are all, by design, native. And every platform has it's own one. I wish the React Native team a beautiful time with their approach to this issue, but I don't think they will succeed. Companies will keep making shitty apps on top of React Native that feel good on mobile and they'll realize they have to rewrite a ton of UI to even be able to support tablets or the AR/VR devices coming in the near future. I know I'm very biased towards Flutter as I'm using it every day and building tons of stuff in it, which is also a bet in its own right, but because of the points outlined above, I think that losing the only framework that can truly handle all exporting to all platforms from one native codebase without sacrifices would be one of the biggest mistakes in the developer community.
Good point, What has me worry tho is flutter community is far smaller than RN, even if porting RN to other platform is more complicated they are way more work force behind it. Also RN team has shown they can adapt and innovate, who knows what they might do next after finishing the new arch. Big react native app attract talented developers who contributes a lot, right now blue sky is a good example. There is also kotlin multiplatform from jetbrains around the corner and google is backing it up so flutter future is unknown, liking the Flock project tho to improve flutter faster, maybe it will create a more healthy ecosystem and make it grow.
@ryuu97 I'm aware of react native for windows. My issue with the project is 1. Not easy to setup, documentation is scarce. 2. No Linux support. 3. More focus on Windows compared to other platforms. 4. No Expo support
What about upgrading React Native? That is still the biggest pain point. Enterprises suffer from it. They have to spend weeks every year just upgrading because Google/Apple requires it and for maintenance of course. Apparently Expo makes it easier, can anyone confirm this?
Expo makes it waay easier than before especially with the expo-doctor command that helps very your dependancies compatibility with the rn version but you sometimes still need to do some work
Common issues are still there, i find the same issues i have on my apps as well as on apps like instagram, where they implemented video playback on seperate stacks, and the bg audio plays over and over again .
I'm actually confused about you mentioning big companies using react native and their android version of their apps are much cleaner than all the other react native apps that were produced other devs eg you... Why don't you use android emulator in your development stage to see how horrible your app looks on Android phones??? Let be real react native isn't good as what they say. People will say these big companies have a special version they are using and if the creators aren't using the same version as me and you why are you even wasting your time to use it?
What i really anticipate is - new react compiler to be adopted by RN - this hell of performance optimization(useMemo, useCallback, memo etc) should end soon 😊
Well.. a few important libraries are not really stable on the new arch yet. If it's an ongoing project I'd wait a month or two until it‘s really stable.
Appreciate the detailed breakdown! Just a quick off-topic question: My OKX wallet holds some USDT, and I have the seed phrase. (alarm fetch churn bridge exercise tape speak race clerk couch crater letter). How should I go about transferring them to Binance?
hello can anyone help me after updating the expo to 52 in android device i have issues in header it takes fullscreen when i use image or icon on header but when i use text everithing is normal , thank you
Ei Simon você que já fez um vídeo com NEXTJS e CAPACITORJS será possível fazer Dinovo com essa nova versão do NEXTJS, eh que quando você faz foi com a versão antiga do NEXTJS, então será possível você você fazer de novo.
Isn’t react native using zero-ver? Even if they hit 1.0 they would just be using semver It has nothing to do with stability since they’re using zero ver
I mean they use kotlin now which uses JVM but android itself does not rely on JVM instead they use the Android Runtime which basically does the same thing which react native might do in the future compiling the bytecode into native code during installation on device. But android apps are very optimized compared to JVM apps.
@@YasinAkimura yep that i read but isnt it just better to compile the app to native code when building rather than these thing doing in android runtime
with all due respect, 3:10 what a huge pile of garbage. React Native is still janky, even expo's demo shows it, and the reason why you have more packages with react native is because that with flutter you can do that without relying on other people's code... Idk man... your position here seems biased
Popularity does not mean that something is good. RN is everywhere just because of its convenience that allows people to not have to learn new things. Its cheaper that way. That's why. React is the fast food of tech stacks. It's all about laziness and convenience.
They have talented devs on the C++ part the avg react native dev does not need to go in C++ world at all. Rust would just dramatically slow down compile times even more then they are now.
Simon please supabase. Or trpc it would be so cool. LIke you can maybe do something like api sharing of a simple web version and mobile version. Ehrenmann!
expo with nativewind is pretty good last time I tried it a year ago. Can integrate with my framework agnostic design system that I built using tailwind. You can integrate your own styles, including disabling animation if you don't want to use the default, it's just going to take time to set up
I love react native. From bare workflow to template. When combined with expo go and the awesome expo-doctor, I have been way more productive.
same! very very good DX tooling!
React native : The future of mobile apps🔥😇
I hope they improve error handling and exception logging, it was hell debugging react native apps when there are times errors lacking context info
I just init app flutter v 3.27 newer vs RN .76.5
I try startup speed and i get RN with new arch very fast start up than flutter it takes more seconds
If react native requires you to install skia so its UI reaches 60 fps, why not just use flutter? it is a pain to learn sure, but once you learn it it is so much easier to maintain and program. I switched to flutter and now I am having time to sleep again
Because why would you give up native components?
It does not require skia to get 60 fps, where did you even get that from? Skia is mostly for doing complex graphics. That is like saying the only way to achieve a smooth website is by using the canvas api
Flutter is still far ahead of React Native, Flutter is now more than production ready.
I use both
React Native was released in January 2015, while Flutter was released in May 2017, and it already over takes it
In the end of 2024 I found my full time position in react native and I love it!
Thank you Simon for this great service. I'll share this video to people who ask about rn, very well articulated.
All looks nice and good but things start to follow apart when building for an enterprise; I don’t see the tooling you use in the course are the defacto for big projects, is your course oriented for enterprise development? Thanks
Nice but for your platfome french subtile is available ??
I'm struggling with eas build expo monorepo
Getting that issue me too its not working whats your issue
If you are referring to using Expo SDK 52 then you’ll find you are struggling because we all are.
For now, unless you want to join the community of Expo core developers, I could advise extracting your RN code from your monorepo and creating a standalone one.
At least until the support for Nx improves. Otherwise you will exhaust cycles trying to fix some mundane failures that have nothing to do with your code.
Mine works fine using turbo repo
Using your AI processes I was able to build an entire social media application with calendar and scheduling support in 1 day!
Qual o nome do APP, você publicou nas lojas de aplicativos do Android e IOS.
Team Flutter 🪼
yes team flutter
Hey Simon, thank you for the video! Can you make a video on how to best structure your app using expo-router if the app is very complex? A complex e-commerce application for example with many nested screens and tabs. Thanks!
What’s the criteria to hit 1.0? Always curious about that.
why does my RN debugger doesn't show network requests ? It's empty .. i use expo 52
React Native or XR development for 2025/2026? 🙏
Both
@@megasticky8968 thanks!
I am getting an issue in eas build, it is not working as we know this is use to create apk and ios application of your expo files. I tried multiple times changed Java version, gradle version nothing worked. Giving tar error don't understand why. Even i initialise expo initial set up still it failed.
Eh pra isso que existe a documentação do EXPO e também fazer perguntas no DISCORD do EXPO.
@@intercopiasep4923 okay brother will give it a try
I have been following your Todoist clone tutorial and have almost completed it. However, I encountered some major issues while testing on Android. As I am developing on a Mac, the code runs fine on iOS, but when I try running the same code on an Android emulator, I encounter several errors.
For instance:
MMKV does not work on Android.
Touch interactions on the header (e.g., settings and profile buttons) do not work on physical Android devices.
Could you please address these issues and provide insights into the probable reason why header buttons like settings or profile are not working on Android? I’ve tried multiple fixes, but nothing seems to work. Your guidance would be highly appreciated!
I also have issue with header buttons
React Native still has one major thing where it doesn't hold a candle to Flutter. And that's platform consistency. If you're building an app for Desktop and Mobile, one that should be used natively, one that you want people to feel happy with, one where you want to share code across all those platforms. React Native just doesn't work. I don't want to build the same UI even across Electron (or other Desktop UI framework) and React Native. What if someone is using an iPad or Tablet? We want them to get the same experience as they do on Desktop. Separation between mobile and desktop UI is something of the past, with Android XR, visionOS and more platforms that are compatible with the underlying app building libraries (like how you can run Android apps on Android XR/Horizon OS and how you can run iOS apps on visionOS) you want the user to have a desktop like UI on there, and not your shitty mobile layout. Discord still doesn't support tablets well and has lots of issues with it for example.
Now, I know React Native for Desktop exists, but what about Linux? I know that it's a nieche platform, but that's exactly the problem. Building an engine that uses a native UI toolkit (like what React Native has) vs. a custom rendering layer like what Flutter has (with various graphic APIs) is way harder. There are 3 graphic APIs Flutter implements: Metal, Vulcan and OpenGL (maybe there are more, not going to google this now, but point still stands). While for React Native, you need to maintain an engine that's supposed to make an app look exactly the same across ALL native toolkits? That is just not possible. Supporting a new platform is way harder for React Native than for Flutter for this reason. Because React Native has to be reimplemented from scratch on every platform while Flutter needs to be reimplemented for every graphics API (huge simplification of course, but gets the point across). Graphics APIs are standards, while there is no standard for graphic toolkits as they are all, by design, native. And every platform has it's own one.
I wish the React Native team a beautiful time with their approach to this issue, but I don't think they will succeed. Companies will keep making shitty apps on top of React Native that feel good on mobile and they'll realize they have to rewrite a ton of UI to even be able to support tablets or the AR/VR devices coming in the near future. I know I'm very biased towards Flutter as I'm using it every day and building tons of stuff in it, which is also a bet in its own right, but because of the points outlined above, I think that losing the only framework that can truly handle all exporting to all platforms from one native codebase without sacrifices would be one of the biggest mistakes in the developer community.
Good point,
What has me worry tho is flutter community is far smaller than RN, even if porting RN to other platform is more complicated they are way more work force behind it.
Also RN team has shown they can adapt and innovate, who knows what they might do next after finishing the new arch.
Big react native app attract talented developers who contributes a lot, right now blue sky is a good example.
There is also kotlin multiplatform from jetbrains around the corner and google is backing it up so flutter future is unknown, liking the Flock project tho to improve flutter faster, maybe it will create a more healthy ecosystem and make it grow.
Still waiting for react native desktop to be more stable and supported. Flutter still have the upper hand in that regard.
Microsoft is using RN for Windows for a few years already. The support RN for Windows, macOS
@ryuu97 I'm aware of react native for windows. My issue with the project is
1. Not easy to setup, documentation is scarce.
2. No Linux support.
3. More focus on Windows compared to other platforms.
4. No Expo support
The best decision I’ve made was building my app with react native about 2 years ago. It’s only gotten better.
I'm surprised react native hasn't reached 1.0 yet, does that mean major features are unfinished?
No framework can beat React Native React Native is best❤
React Native is not native :)))!
How about native multi-threads for heavy tasks? similar to worklet, but I own thread that I create, not only js and ui threads
checkout react-native-worklet-core by margelo
Still there is no good component library for react native and it sucks. The listview for huge number of items lags like hell
Have you tried FlatList or even better one Flashlist?
headless or pre-made component lib?
@justpatrick_ tell me both
@justpatrick_ Tell me both
What about upgrading React Native? That is still the biggest pain point. Enterprises suffer from it. They have to spend weeks every year just upgrading because Google/Apple requires it and for maintenance of course. Apparently Expo makes it easier, can anyone confirm this?
Yep, it's much more easier with Expo. But still requires some time
Expo makes it waay easier than before especially with the expo-doctor command that helps very your dependancies compatibility with the rn version but you sometimes still need to do some work
Common issues are still there, i find the same issues i have on my apps as well as on apps like instagram, where they implemented video playback on seperate stacks, and the bg audio plays over and over again .
Thank you for video.
Would you mind expo 52 with google map
:)
Is the course begginer friendly for someone who never coded before?
What is the aprox. duration of the course and 1 year sub price?
Learn ReactJS with free stuff, than switch.
I'm actually confused about you mentioning big companies using react native and their android version of their apps are much cleaner than all the other react native apps that were produced other devs eg you... Why don't you use android emulator in your development stage to see how horrible your app looks on Android phones???
Let be real react native isn't good as what they say. People will say these big companies have a special version they are using and if the creators aren't using the same version as me and you why are you even wasting your time to use it?
Been a while watching Simon right frorm Ionic, if you finally accepted RN, then thats good.
What i really anticipate is - new react compiler to be adopted by RN - this hell of performance optimization(useMemo, useCallback, memo etc) should end soon 😊
I just went pro on this zero to hero reactnative course- 5 hours ago. but I have huge problems debugging
Well.. a few important libraries are not really stable on the new arch yet. If it's an ongoing project I'd wait a month or two until it‘s really stable.
Appreciate the detailed breakdown! Just a quick off-topic question: My OKX wallet holds some USDT, and I have the seed phrase. (alarm fetch churn bridge exercise tape speak race clerk couch crater letter). How should I go about transferring them to Binance?
Does it run offline now ??
What do you mean react native always worked offline except you're using some online services?
can you please do a video on how to debug an expo app? Because I scanned the whole internet and I barely found videos and none worked 💀
Oh Dang! am loving this.. Am coming back to you RN. :-)
On windows is there any way i can test my app for iOS?
WITHOU A PHYSICAL DEVICE
No
@MarlonEnglemam thank you ❤
Virtual machine
hello can anyone help me after updating the expo to 52 in android device i have issues in header it takes fullscreen when i use image or icon on header but when i use text everithing is normal , thank you
Flutter is just better for 99% of cases, but Native is good for amateurs who only know JS
C++ amd not rust? Rip
said the noob programmer who only follows trends
Ei Simon você que já fez um vídeo com NEXTJS e CAPACITORJS será possível fazer Dinovo com essa nova versão do NEXTJS, eh que quando você faz foi com a versão antiga do NEXTJS, então será possível você você fazer de novo.
Isn’t react native using zero-ver? Even if they hit 1.0 they would just be using semver
It has nothing to do with stability since they’re using zero ver
Will android ever move out jvm based app ecosystem/framework/sdk they should build a better framework before xr takeover
I mean they use kotlin now which uses JVM but android itself does not rely on JVM instead they use the Android Runtime which basically does the same thing which react native might do in the future compiling the bytecode into native code during installation on device. But android apps are very optimized compared to JVM apps.
@@YasinAkimura yep that i read but isnt it just better to compile the app to native code when building rather than these thing doing in android runtime
Oh man it is zero-based versioning :) it does not mean it does not have a major version. 76 is major version :)
0.154 is going to be crazy
So on every react native video there is a war going on the comments that flutter is better 😂
with all due respect, 3:10 what a huge pile of garbage. React Native is still janky, even expo's demo shows it, and the reason why you have more packages with react native is because that with flutter you can do that without relying on other people's code... Idk man... your position here seems biased
I belive capacitor & tauri are way much easy and get the task done in minimmum effort for a web developer
Popularity does not mean that something is good. RN is everywhere just because of its convenience that allows people to not have to learn new things. Its cheaper that way. That's why. React is the fast food of tech stacks. It's all about laziness and convenience.
Love RN, wish they use rust in place of C++
Why?
rust is slower... why should they use it in place of C++?
They have talented devs on the C++ part the avg react native dev does not need to go in C++ world at all. Rust would just dramatically slow down compile times even more then they are now.
Native Swift will always beat JavaScript.
first comment bro 🖤🖤
Please upgrade camera in 2025.
Che esta bueno pero rara la traducción
Simon please supabase. Or trpc it would be so cool. LIke you can maybe do something like api sharing of a simple web version and mobile version. Ehrenmann!
Just try flutter you will never come back
We will learn both... because flutter is also a powerful technology, and as a software developer learning never stops
The dead version or the forked version? 😂😂
@@eddiedotdev flutter is more active than ever?
@@ApurbMishra I have used both flutter and RN
@@eddiedotdev pls go and have a through read on it why it's forked .
It's horrible. UI libraries... Animations... Everything about RN is horrible.
when last did you use it? honestly?
Why do you feel like you have to use any of these? Why do you need a UI library at all? Have you ever touched reanimated V3? I guess not.
The RN configuration in OS is not easy it is bit complex that doesn't mean the development is hard it very interesting and very amazing
expo with nativewind is pretty good last time I tried it a year ago. Can integrate with my framework agnostic design system that I built using tailwind. You can integrate your own styles, including disabling animation if you don't want to use the default, it's just going to take time to set up
@@clololown can you create shadows that will look the same on iOS and Android without having to put a svg below it already?