YOU SHOULD GO TO CHAIN REACT IT'S REALLY COOL (AND I GET PAID IF YOU BUY A TICKET WITH MY DISCOUNT CODE) www.eventbrite.com/e/chain-react-2024-the-us-react-native-conference-tickets-795740971667?discount=theo
@jfbaro28 ай бұрын
This will make EXPO even better
@YasinAkimura8 ай бұрын
Already did. Expo also provides an ultra simple abstraction layer to build your own native modules with the new architecture it's really cool. Makes stuff like communication with native sdk for things like printers alot easier where there is no good library for react native available
@ammarhalees63708 ай бұрын
What is EXPO?
@rishabh1S8 ай бұрын
@@ammarhalees6370 Framework for React Native.
@krishgarg28068 ай бұрын
@@ammarhalees6370 its like what next js is to react (but even more stuff than next js)
@infantfrontender61318 ай бұрын
@@ammarhalees6370, Expo is an open-source framework for apps that run natively on Android, iOS, and the web. Expo brings together the best of mobile and the web and enables many important features for building and scaling an app
@Bekir_ts8 ай бұрын
After some thought i realized Conference sponsorship is very good advertisement choice. I didnt know about the chain react conf and Im buying it now. Both Theo me and chain react won! win-win for everyone
@t3dotgg8 ай бұрын
Agreed!!! Ty for saying this, very helpful as I figure out channel sponsors going forward 🫡
@MaxHDeveloping8 ай бұрын
The thing with the benchmark comparing the iPhone and Android Phone is, that the Pixel 4 was a low-to-mid tier phone while the iPhone 12 PRO(!) is a high-end flagship. Ofc android will be a bit slower because of java, but the real reason people think android is slower is that they compare their shitty low low-end android phone to high-end iPhones...
@devIsAjourney8 ай бұрын
As a react-native and react full-stack developer, it's nice to see the react-native team make such a wonderful guide of The New Architecture.And credits to theo for your interesting and in-depth content👍
@ForYou-uc4qh4 ай бұрын
can we be friends am also developer
@amypellegrini17327 ай бұрын
I did a POC building a React Native app which calls FluidSynth in the C++ layer to play a MIDI file using a sound font. What I thought was impossible now just works flawlessly (if you are ready to get your hands dirty with C++).
@ymi_yugy31338 ай бұрын
The 2x performance delta shown in the benchmark matches the single core performance diff between the Pixel 4 and iPhone 12 Pro. Java is not at fault here.
@berkowk6 ай бұрын
Don't ask web dev about things they don't know. There is no java on Android. ART executes their own flavor of bytecode (dex). I'm not sure how exactly RN renders their UI. Yoga surely lives inside "native" compiled code. But that's only layout part. If they call from js VM into ART into native and then back... There might be a possibility to eliminate a lot of cases where ART is included, if they implement render the way QT does it.
@audas8 ай бұрын
Holy crap - finally we are at where Flash was when it was killed. Running native C++.
@VeitLehmann8 ай бұрын
I have used React Native in the early days, and I still remember the many fights we had against jank. This was 5-7 years ago, around when Flutter came out. We eventually decided to rewrite everything in native, which solved many problems but caused a whole lot of different ones. This new architecture looks really amazing! Until now, when I was about to write a mobile app, I'd pick Flutter. But now, maybe not, I'd give React Native another try! Maybe even with ReScript - it's a shame that it's such an underdog.
@mrousavy8 ай бұрын
VisionCamera spotted in the wild at 13:37 👀
@bendgk1238 ай бұрын
dude I love u and ur work, heavily inspired. I be seeing you litterally everywhere in the react-native community.
@alexkevhikes8 ай бұрын
Love your work!
@wkencel8 ай бұрын
Thank you for your work on the vision camera!
@wkencel8 ай бұрын
Thank you for your work on the vision camera!
@mrousavy8 ай бұрын
thanks guys! 🙏
@aakashr798 ай бұрын
At the end of the day this is only incremental happiness for a React Native Dev. React Native will always have to keep up with native advancements and new way of doing things to have the community reap the best rewards of the platform. None of these arch changes or JSIs are needed for near native performance on a GL based framework. My take is simple. Either be a performance geek and go completely native. Or accept the minuscule tradeoffs and accept a truly cross platform framework where your UI APIs don't depend on native APIs (write integrated platform code or UI components when needed). You only fundamentally truly need native to talk to the respective OS. Don't be in the middle where you get none at it's best.
@TJYouToob8 ай бұрын
It will be nice when the docs are a bit more fleshed out for codegen, etc. Right now, if I want to know how to work with it, I have to trudge through github projects for basic examples you'd expect in the docs.
@perfecto_018 ай бұрын
This, I wanted to create a Brutalism UI for Android. I used fabric components for that and the amount of times that I have referred to some GitHub projects to get the shit working is ungodly
@pjmq8 ай бұрын
If we had this sort of core technology with a Svelte-powered DX this would be *all* I'd use. (No, not SvelteNative)
@guillaume_s8 ай бұрын
Agree, a react native - svelte version would be awesome with good support
@bendgk1238 ай бұрын
Either this or a Vue driven DX would be nice. I'm tired of react's finger guns and gotcha's. Hopefully react compiler fixes things.
@felixallistar8 ай бұрын
wats wrong with sveltenative? i was looking to use it later instead of my normal strat of make it in unity and dont tell anyone its secretly an ultraportable game engine
@glaze46298 ай бұрын
@@bendgk123VueNative was a thing, now is dead.
@bendgk1238 ай бұрын
We're not talking about VueNative or SvelteNative we are talking about something more along the lines of NativeScript, where things like static hermes, fabric architecture, JSI, etc could be ported over from react-native but utilized in one of these other UI/DX languages @@glaze4629
@bryson26628 ай бұрын
Theo, you're right about all of the stuff you said about android being slower and the reasons for it. It's still a tradeoff that the users are fine with considering the alternative.
@elvispalace8 ай бұрын
I'm so hyped to Static Hermes
@nyashachiroro25318 ай бұрын
This man has just been pumping out a lot of great content. A lot. The dedication 💪
@deformercr66808 ай бұрын
It takes a lot of dedication to sit in front of a camera and read articles and blogs which other people have worked hard on 💪
@nyashachiroro25318 ай бұрын
@@deformercr6680Look at you throwing shade. It's not like he's just reading and calling it a day. Jesus.
@dharmey638 ай бұрын
@@deformercr6680 he's reading them in an entertaining way and also providing his own takes and opinions. So yeah that's dedication.
@deformercr66808 ай бұрын
@@dharmey63 with all due respect, this is very lazy content. It takes no dedication to read a blog post, interject it with some thoughts, and churn out videos. Im sorry if this looks like dedication to you. Look at creators like Jon Gjengset for an example of what dedication looks like. There's many more, but of the top of my head, I think of him. I don't dislike Theo, but applauding him for "pumping out a lot of great content" is like applauding a tapeworm for efficiently digesting someone else's lunch. It's just too disingenuous.
@PanosPitsi8 ай бұрын
@@deformercr6680you must be fun at parties
@Bluesourboy8 ай бұрын
As someone who's worked with the JNI, early Node native C++ modules, and WASM, the JSI looks incredibly promising! Thanks Theo, now it's time to dig into React native!
@ra-dro8 ай бұрын
As an enterprise dev I'm so scared of this migration. Now we are moving from 0.64 to 0.73 and thats a huge pain which cost us 1-2 moth of aligning with native devs and releasing the app. How do I explain business we need to move to the new arch, spending a full month on a testing and then rolling out a feature for it to be just turned off because of some misalignment in the framework?
@sebastiaanhols80152 ай бұрын
Senior React-Native Dev here: I'm very in your opinion now @raddro. For me as a developer the prospect of upgrading React-Native is always daunting and hearing JS C++ Interop makes me want to run away... Have you tried doing this upgrade yet?
@Smongo4128 ай бұрын
Thank you for making this. You have become my favorite react-native hype guy!
@dq3036 ай бұрын
Been a react native dev for 3 years now and I must say I’ve built bare projects and projects using Expo. Expo makes the experience a lot smoother
@mathiasfischler42278 ай бұрын
Yes, javascript can not really hold a reference to javascript, but that thing is nothing new - e.g. .NET in the browser (using blazor) can hold references to and even invoke methods on javascript objects. There's marshalling and two-way calling (e.g. javascript calling .NET methods). It's wild!
@tannercottle8 ай бұрын
5:00 This honestly just depends on the implementation - there are things you'd want for different layouts/screen sizes that you can't do in CSS or that are more difficult to do in CSS, so sometimes a resize event listener from within a useEffect, or a useLayoutEffect which will re-fire when the browser repaints the screen
@DavidWoodMusic8 ай бұрын
Literally just started thinking about a new React Native project. Perfect timing.
@hassankhawar78138 ай бұрын
Wanna collaborate 😅?
@DavidWoodMusic8 ай бұрын
@@hassankhawar7813 no
@tygooch9 күн бұрын
How’s it going?
@thundergabriel8 ай бұрын
I try both React Native and Flutter, then flutter feels like programing in React Native 2017 without hooks and wrappers hells. RN + Expo 🚀🚀
@ac130kz8 ай бұрын
try bloc, no React thing gets to its majesty
@JEsterCW8 ай бұрын
Watcha even talkin home you got hooks in flutter aswell if u need those also u got so much more, lmao
@tristanharveygodoy78648 ай бұрын
well your RN does not have Riverpod so that sucks
@jesrealibabao62358 ай бұрын
Rn doesnt even have State managements like Riverpod and BloC, and that sucks. And im using flutter_hooks just fine, dunno what are u talking abt
@ilahazs8 ай бұрын
@@jesrealibabao6235maybe he hates nested curly braces
@johnniefujita4 ай бұрын
I never knew the benchmarks on iOS against android gap was so huge. But it makes sense.I wonder if they have such a benchmark if they weren't suppose to rethink their core and replace it gradually...
@fabsync6 ай бұрын
Best overview video!! You should do a series on multiplatform for web and mobile.. not a lot of things done on that yet..
@KarlOlofsson8 ай бұрын
Love it! About to do my first proper app and have some basic UI going in web, but plan to do native apps soonish. Won't need ultra performance, but I like good DX none the less.
@audas8 ай бұрын
This is going to rock on HarmonyOS.
@floogulinc8 ай бұрын
18:20 comparing the Pixel 4 to an iPhone 12 Pro and saying Android is slow is not really fair. You're comparing an older Pixel that was cheaper than the iPhone and in general Apple has been making faster SOCs than Android phones have access to. I would guess if you compared an iPhone to an Android phone with an actually comparable SOC the difference would be more minimal. I don't think Android itself is inherently that much slower and the security benefits from its architecture are probably worth it.
@da40au408 ай бұрын
Lol,there should use Samsung s22 ultra for android and see real performance😅
@substance902 ай бұрын
I honestly respected more like a summary. I can read the post myself...
@khangle68728 ай бұрын
A JS-based framework rewrite itself for the next version So Tuesday, eh
@sagarkapasi0998 ай бұрын
React: Everything is changing all the time.
@sagarkapasi0998 ай бұрын
I know react != react native. Here react = React*
@hassankhawar78138 ай бұрын
I wonder with these major changes in mobile app, would you want a Senior React Native Developer with 5+ years of experience to lead your mobile app but the catch is that dev does not stay up to date in tech, or a mid level up to date techie in React Native Developer? Let me know
@curiouslycory8 ай бұрын
Thumbs up for the clever swift dig. :D I needed a good laugh this morning.
@DaxSudo8 ай бұрын
Well great here goes all my points for my Chain React Talk Blazingly Fast Rust
@jefferyosei1018 ай бұрын
You're amazing Theo!, keeping us updated always, .You're my source for tech news!
@BlackwingVayu778 ай бұрын
Yo Theo! You’re like one of the only TRUE developers who have influential following. Do you think you’d ever make a video interviewing devs from all experience sizes and asking how they feel with the new a.i changes? I’m super curious to hear what you think as well. I’ve heard junior devs say our jobs are gonna be gone soon and senior devs say a.i can’t beat human intuition. I’m torn somewhere in between lol
@dreamsachiever2128 ай бұрын
Seriously? man i mean if you lack confidence about YOUR future, why not switch to another field.
@felixallistar8 ай бұрын
its like with anything, it will simply take less people to fix problems. a lot of problems dont get solved because its not cost effective for teams to solve it. 1 smart person using smart tools can get a lot of work done and can just find problems that aren't solved, and solve them. then get paid for it. git gud at sales, design, frontend, backend, and social skills and the most efficient tools because the job will be less about being a coding god and more about understanding how to solve problems cheaply for a market that exists. ie there are a lot of small businesses that arent buying custom apps and websites because they cant afford to hire a team.
@BlackwingVayu778 ай бұрын
@@dreamsachiever212 pretty aggressive reply there sheeeesh. Not sure how you arrived to lacking confidence from my comment but im all good brother 😂
@dreamsachiever2128 ай бұрын
@@BlackwingVayu77 😂. I thought you were desperate. sorry then 😐
@brssnkl7 ай бұрын
JSI is not just for C++ :D JSI bridges Android and iOS native methods to JavaScriptCore. Your native Kotlin/Swift/Java/Objective-C method can use a native method as callback when calling javascript. Or you can add JSI specs to your native objects/methods and expose them to javascript directly.
@chiefmiester38018 ай бұрын
i swear to god this is the 4th time I'm hearing of this new architecture thing. Last I heard, fabric was still unsupported by a vast majority of native packages
@rasheedatanda99278 ай бұрын
NativeScript has the JSI support since forever 😅
@Noritoshi-r8m8 ай бұрын
We could have a new Javascript architecture that actually is decent
@ritmillio8 ай бұрын
If you use expo-router, Flashlist will break your iOS build...
@azzyfreeman8 ай бұрын
Also, in some cases, using horizontal and vertical flashlist in the same view can cause it to lag
@kwesikayofficial30788 ай бұрын
React native >> Flutter
@MaxHDeveloping8 ай бұрын
Also shitting at Flutter is an interesting take, would you like to make a video about that?
@kasra81068 ай бұрын
he shits on flutter on every video, and does indeed have a dedicated video about that. and i'm here for all of it.
@tristanharveygodoy78648 ай бұрын
Shits on flutter, then rn decided to implement things like flutter did. This is literally flutter 1.0 lol.
@jesrealibabao62358 ай бұрын
@@tristanharveygodoy7864 exactly
@Ali-fl8hv4 ай бұрын
@@tristanharveygodoy7864 well flutter rendering ui on its own canvas says it all lol
@DomGarzaSR7 ай бұрын
React native has always been perfect in my eyes like an ugly child ❤️
@gamingwolf33858 ай бұрын
React Native is good for web devs , if you want to use flutter ok go for it , and don't forget to learn kotlin and swift to use flutter with native apis hhhh
@thisaintmyrealname18 ай бұрын
If any of this gets real traction, I might come back to mobile dev after leaving it behind in 2019 (android native in Java, back in the day)
@andriim14407 ай бұрын
man I love your videos thanks for all your work
@winwishph8 ай бұрын
Tested and proven flashlist with 1k list
@devagr8 ай бұрын
This is how RSCs should have been announced in an ideal world
@andy_ppp8 ай бұрын
The C++ thing is absurd, you can just create an abstract test suite and run it against both versions. An no the colours being ever-so-slightly different doesn’t matter either 😂
@VictorNascimentoo8 ай бұрын
JSI is basically what NativeScript does?
@Skalexsong8 ай бұрын
Wow, this is very delicious, kind of make me want to learn and use react native professionaly than using React with Capacitor JS.
@amnesiac75988 ай бұрын
What ui frameworks do you guys use for react native? Feels like the ones I want to use are react only.
@Sillyvan8 ай бұрын
Uh i feel like this might make it easier to get libsql running on RN. Imagine reading and writing from a local db on your phone and it gets replicated on a server
@bendgk1238 ай бұрын
I imagine a naive implementation poses a huge security threat. I wouldn't want my frontend application (react-native) making arbitrary writes to my database. What happened to having an API layer between?
@Sillyvan8 ай бұрын
@@bendgk123 to be fair this is only a viable use case if you work with the "a database per user" strategy. which very often dosent make sense! in that case you wont be able to break more than ur own data in case of security issues. the whole idea is more about having local data backed up in the cloud
@bendgk1238 ай бұрын
@@Sillyvan Ah yes, I didn't consider this use-case. 👍
@zahash10458 ай бұрын
So they started using ffi a lot more? And that’s somehow mind blowing?
@poaches87148 ай бұрын
At what point does apple ban an app when using react server components for native?
@matthewmolinar8 ай бұрын
If you use it to change your core proposition
@SebaKerckhof7 ай бұрын
Is JSI usable outside of react native? Does this mean we can get something like a performant numpy alternative for js?
@EduardoSanchez-un2hh8 ай бұрын
So finally is better than Flutter
@xbsidesx8 ай бұрын
I’m not from USA so when I see those ticket prices my heart races in anxiety of how insanely expensive that would be for me. Is it just me, though?
@cortinico8 ай бұрын
This is glorious!
@aleksander52988 ай бұрын
8:30 tbh legacy renderer looks way better
@nUrnxvmhTEuU8 ай бұрын
I agree, but in the new one you can still *animate* the change to look as smooth but faster. In the old renderer, it's not an animation - it's the fastest it can update.
@technocidal8 ай бұрын
It’s also meant to simulate scrolling a list if I remember correctly which means that defaulting to larger chunks being rendered at the same time will feel better to the user.
@backupmemories8978 ай бұрын
who the fuck does 1500 view component in one view xD
@notlekrut8 ай бұрын
It's a benchmark
@backupmemories8978 ай бұрын
@@notlekrut xD fair, still I'm quite intrigue if people really do that. put 5000 view components xD and complain about 400~1000ms+ because of it.
@NaushadKhan-zs8td7 ай бұрын
Can you suggest Channel to learn React Native on KZbin or any other resource other than documentation
@wilsonsilva47208 ай бұрын
Toop, following from Cabo Verde
@elvispalace8 ай бұрын
🇨🇻
7 ай бұрын
JS untyped? No thank you. Negative developer experience. And, apart from WhatsApp, no app is made with default components (all are customized), so, hell yes, a custom-paint framework that allows me to create ANYTHING without any kind of limitation. Flutter for the win!
@dexteritymaster8 ай бұрын
I love comparing speed on 300-400$ cheaper and 2 times slower device and commenting about 2 times difference in speed is OS fault while it's 2 times slower in synthetic benchmarks too :) P.S. It did have 90hz display (vs 60), usb-c (vs lightning), better camera perf (except video), cheaper price (650+ vs 1000+), and sideloading, so I see why people would buy it, but hardware was not faster.
@dexteritymaster8 ай бұрын
I'm not saying Java doesn't have it's overhead in efficiency or even speed, but Theo is comparing apples to oranges in processor speed while blaming Java.
@DevLife7177 ай бұрын
So React Native Skia is not a part of the New Architecture right? If that is the case then why would you use New Architecture over Skia?
@invinciblemode5 ай бұрын
RN-skia is just a way to use skia for graphic intensive components, but you would never use it to render everything. Native components are still better.
@politicalmatt29678 ай бұрын
What browser is Theo using?
@JohnSmithJohnny8 ай бұрын
I think these vertical tabs are from Microsoft Edge
@jayands8 ай бұрын
@@JohnSmithJohnny It's the Arc browser; he mentions it around 21:10 or so
@viktorberezin8 ай бұрын
It's Arc browser
@JulianKingman8 ай бұрын
The bridge has always been the weak point in RN, they made the right call in making that the main target. I'm a little perplexed about RSC's in mobile and how that works, I've got some reading to do for that to make sense.
@Nuraddinhassan8 ай бұрын
Has this version been released yet?
@msiprime2 ай бұрын
Flutter ftw
@brennan1238 ай бұрын
Performance aside, why would color math be different in C++ vs JS?
@jayands8 ай бұрын
My first guess would be precision, since JS is strings all the way down.
@iatheman7 ай бұрын
Because math in JS is a joke.
@amranimohamad47417 ай бұрын
they should change the core oof js itself i mean their interpreters like v8,spidermonky and shi**
@wildcsgotactics8 ай бұрын
Why would Java be the reason that Android performance is subpar?
@jesrealibabao62358 ай бұрын
This is literally flutter 1.0 tho,
@epicmetod8 ай бұрын
I wish wasm runtime in the future
@eXquisiteBuddy8 ай бұрын
10:30 so basically a switchMap from rxJs?
@zachariahtatman73818 ай бұрын
This is going to be a stupid question but what does “native” mean or refer to… I hear that word all the time but what is “native code”??
@suyashsrivastava36718 ай бұрын
By "native" they mean making Android app using Java/Kotlin and IOS app using Objective-C/Swift, Instead of using React Native or Flutter to build one App for both platform.
@MrMudbill8 ай бұрын
Why isn't React Native at v1.0 yet?
@theodoremawuli98858 ай бұрын
Are there any React Native devs here that code in a WSL environment? I'm having issues connecting my Expo Go app to my dev server due to an IP and port number mismatch. I'd really appreciate it if someone who has gone through this reached out to help😭
@sillybearhours8 ай бұрын
they didn’t tweet this
@BlazeShomida5 ай бұрын
I always knew Snapchat on android sucked but now I know why😂
@АртемФедоров-ю7б8 ай бұрын
When you see "We rebuilt everything", just don't believe it will be better
@luca44798 ай бұрын
Do RN + EXPO apps still start at 60 MB?
@t3dotgg8 ай бұрын
I don't think they ever did? I shipped an RN + Expo app in 2021 that was under 15mb lol
@elhamuddin.mahmoodi8 ай бұрын
Hey, is it possible to dockerize a react native project, if yes how?
@t3dotgg8 ай бұрын
...what?
@el_mahnuel7 ай бұрын
React-Native runs on mobile. Why on earth would you need to dockerize a mobile app? 👀
@elhamuddin.mahmoodi7 ай бұрын
So I have a react native app which works fine in my pc but when I share it with my colleagues to work on it, then they are not able to execute the project So I thought it might be better if we put the code into a container and everyone be happy executing it.
@el_mahnuel7 ай бұрын
@@elhamuddin.mahmoodi ooh, I see.
@rajeshnakrani5268 ай бұрын
Any framework that returns strings that contain code like HTML, from the code itself, still sucks.
@yourmomsboyfriend33378 ай бұрын
What is the alternative?
@ryangrogan68398 ай бұрын
Everytime, everything breaks
@manishgautam24248 ай бұрын
need that swift code
@aryabp8 ай бұрын
Tauri VS React Nativa
@LetrixAR8 ай бұрын
Tauri is still a "webview", altough since it uses Rust as the backend, I wonder how it differs from Capacitor.
@elvispalace8 ай бұрын
Electron 300mb Tauri 120mb React Native Windows 16mb
@aryabp8 ай бұрын
@@elvispalace ??? Tauri when bundled to windows only got 14mb too
@AdrianFrimpong8 ай бұрын
LOL ima use that swift code tho 🤑😂
@harounhajem79728 ай бұрын
It's not as advanced as it might seem. Have done those types of development
@atxorsatti6 ай бұрын
flash list is not native code at all. its written above another lib that is written in js, called recyclerview. the whole premise of flash list is exposing a more similar flatlist api using the recyclerview lib. a truly perfomant native list is still a myth
@HaozheYuda19898 ай бұрын
We should go back with cordova e jquery-mobile😂😂
@jwoods96598 ай бұрын
All react devs are doing is catching up with all these other frameworks.
@jwoods96598 ай бұрын
@@gofudgeyourselves9024 Ill give it a chance but dude React changes waaaaaaay to much.
@Smongo4128 ай бұрын
THEO IS A NERD
@jamesprentor84338 ай бұрын
🔥
@carlosricardoziegler26508 ай бұрын
❤
@djpunisha298 ай бұрын
Flutter > React Native
@doxologist8 ай бұрын
Expo alone makes this statement fundamentally false
@martinlesko15218 ай бұрын
Flutter basically is a glorified screen painter, yes Impeller exists and some components have been ported to use native stuff, but the rest still remains more or less same. And yes, Expo smokes Flutter. EAS alone eliminates ton of complexity with publishing, building etc..
@killerdroid998 ай бұрын
In Ohio
@nUrnxvmhTEuU8 ай бұрын
Flutter is complete dogshit. I had to write an app in it, and every aspect of the experience got me running back to the web.
@wezter968 ай бұрын
I disagree
@kasperkoskenvirta65738 ай бұрын
Have to say its so dellusional to say "iphone users demand x performance" when in fact most users have no idea if an app is performant or not. Like it's really easy to have even more performant Flutter app than many extremely popular native apps. If your app is mostly a crud app there is literally NO difference for the user no matter the tech. Ps. Ofcourse shitty logic and code runs bad no matter of the tech you choose