about 2 years ago Syntax Podcast
React Native with Robin Heinze
- 00:45 Introduction to React Native
- 02:33 React Native renders native UI components
- 03:31 Benefits of React Native - faster dev times, share code
- 14:14 Expo tooling enables native development without full env setup
- 16:52 New React Native router enables URL-based navigation
- 18:15 React hooks work in React Native minus rendering
- 21:18 Styles declare native styles, similar to CSS
- 23:30 React Native has its own JS engine - Hermes
- 25:10 New React Native architecture improves perf
- 37:23 State management via MobX or Redux
- 44:09 Don't store secrets in React Native apps
Don't store secrets in React Native apps
Guest 1
at the end of the day, there's Yeah. Don't don't keep secrets in your app, please.
Guest 1
countries have a navy? US dot navy. Domains.
Scott Tolinski
This is let's say here's a little one little quick thing before we go. I I was really impressed by your Scott red top level domain.
Guest 1
The socks are very, very nice. They're very comfortable, It also they they storing those things on your server, and then having your server control access
Wes Bos
Yes. How many color based TLDs? Wes, let's talk about that then. So
Guest 1
and it's a little surprise in your mailbox every month. I love it.
Wes Bos
and then and then the next day, he sends me a DM and says, hey. You want 30 pairs of different socks? Welcome to Syntax. Today, we have a show for you on React Native. It's actually not something we've talked about a whole lot. We talk about React quite a bit on this, your your business logic
Wes Bos
So it it is
Guest 1
So We Scott more colors than just So it can, like yeah. It's
Wes Bos
all exactly the same. And I I tweeted out,
Wes Bos
No.
Scott Tolinski
Yeah. You're right. You're right. Yeah. So here are some odd ones that you might not expect. There is there's only 7. Okay? But out of those 7, one of them is dot navy.
Guest 1
ex accept accepting maybe once in a while.
Guest 1
started by Hank and John Green,
Wes Bos
10% off. 10% awesome. Sorry. I oohed over your I know. To you.
Wes Bos
but does does Facebook use supported ones. But I I often think both Bos features that are, like, a little niche. Like, I was trying to build,
Guest 1
It's rare, Okay.
Guest 1
dot navy. Makes sense. Does the navy does the navy use dot navy? I think it's for colors specifically.
Guest 1
to my computer Yeah. It's just, like, unnecessarily 50 or 60.
Wes Bos
impressions on it. Opinions.
Wes Bos
if you use Ios or Android.
Wes Bos
Yeah. It's a it's a it's a hog. We had Jen Simmons on it. She gave us a tip that you can install Xcode,
Scott Tolinski
Apple's not a huge fan. I don't think they found a way to outright ban it, though. Yeah. Remember, what was the what was the Adobe one, Wes, when they they didn't allow Flash on the iPhone, and then Adobe made some sort of, like, Flash based Bos app builder. What was that called? They banned that. They banned that
Wes Bos
Yeah. Man. Yeah. I guess, like, even if someone doesn't even crack your your application, like, you're if you put, like, a OpenAI token, that's what everybody was doing. Oh, yeah. And you're making a request
Wes Bos
how come? Full
Wes Bos
on fry on Saturday, I bought 75 pairs of white socks,
Wes Bos
Yeah. It works the other direction. I can copy on my phone and paste on my Mac, and then you, like, look into it, and it's like, try signing out.
Guest 1
every year, we host Chain React, which is our React Native conference. It's the only one based in the US.
Wes Bos
Amazing. And, of course, React Native Radio? Oh, yes. And how
Wes Bos
intentionally we've never had any problems. Yeah. As long as you're not, like, remote updating it. I know they don't like that. Right? They don't like that. Yarn you? We still do it.
Wes Bos
That's what about a shameless plug? What would you like to do? Plug.
Guest 1
like, it it's a native app. They Yeah.
Scott Tolinski
I'll I'll send you I'll send you the the Twitter account later because I I don't know it offhand, but they had tweeted out recently.
Scott Tolinski
There's a dot gold. There's a dot
Wes Bos
Xcode?
Guest 1
easy.
Wes Bos
Awesome. Good.
Guest 1
very quickly. Yeah. Yeah. I mean, the App Store is always that you just have to work work around their shenanigans.
Wes Bos
This is very giving current context. To tell the story. This is great. You're not trolling me right now. I am not. K. So let me tell the story. So
Wes Bos
Sick Picks and Shameless Plugs. Did you come prepared with a sick pick? I did.
Wes Bos
install the simulators, which is almost what we need. It's just a web development simulator, and then you can uninstall it. I didn't even know you could do that. Like it's like 400 gigs or something like that. Yeah. It's nasty. Yeah. There are times when you need it, but it's, yeah, few and far between. Alright. Let's move into the last section that we have here, which is,
Guest 1
how could I forget? And, yes, React Native Radio, wherever you get your podcasts, I'm not a fan of cascading anything.
Wes Bos
Because he has
Guest 1
but, yeah, it it's been around for a while, and I think they're somehow getting around the App Store because people still use it. But a has a system called EAS updates, which does remote updates. And then app center
Guest 1
Subscribe if if you please.
Scott Tolinski
Yeah. Reboot your phone. Like, come on. I hate those. I had one of those yesterday with my AirPods, and it was like, you need to dis, disconnect them and forget them and then redo the Bluetooth connect. I'm like, that's not gonna fix. That's the problem.
Wes Bos
dot orange. Yeah. Why why some Node purple. Others? Are they gonna add yellow at some point? You got it. It's expensive to to yeah. We have a whole show on how to get your own TLD.
Guest 1
Yeah. It's so frustrating. I find that Apple sucks. For me to do it the other direction.
Scott Tolinski
color based TLDs do you think exist? Oh, stop. A little bit of stumped.
Guest 1
It is getting inconsistent.
Scott Tolinski
How many
Guest 1
was the original.
Guest 1
it's this service
Guest 1
Canada dot navy.
Guest 1
Yeah. So that's yeah. July 17th through 19th in Portland. We'd love to hang out with you.
Wes Bos
It says, I strongly disagree or whatever. And,
Wes Bos
Quote tweets it.
Guest 1
which is good because it eats up my ram.
Wes Bos
I'll say 4.
Scott Tolinski
Oh, my gosh. What what text editor do you use for writing React Native apps? Versus Node is
Guest 1
Interesting.
Scott Tolinski
he, like, went in and snatched it up. Yeah. So here's a question for both of you.
Wes Bos
A 100%. Yeah. Just
Guest 1
the UI is pleasing to me. It's very aesthetic and Yeah. Easy to use, and everything is kind of Bos first and Android second.
Guest 1
Oh, yes. Believe I've read it.
Scott Tolinski
Same.
Scott Tolinski
Yeah. Canada dot navy.
Guest 1
Let's we'd love to talk to you. Also, on the cloud, and then this swift stuff, and you're gonna render this Bos component, like, in the swift.
Scott Tolinski
very much like that still. Yeah. I I was an Android guy for a very long time, but I used Mac for everything else. And at some point, I was like, I'm I'm really fighting
Wes Bos
Alright. Well, let's we'll have a couple Wes for you,
Guest 1
and a subscription service for socks. It's exactly it's all it's all based on the MobX, like, observer
Scott Tolinski
One of them is
Wes Bos
on,
Guest 1
I mean, how many colors are there? I the the color it's not quite the same as CSS Flight, but it's, like, based on Flex.
Guest 1
everything is supported. It is the same.
Wes Bos
he has this, like, company that makes awesome socks. Yes. And,
Wes Bos
Navies, which is like yeah. How many
Guest 1
Oh, believe me. If there's anything I can read beforehand to prepare for things
Wes Bos
You can spy on it and and see what's going on. Yeah.
Guest 1
from my test device diverges the most.
Wes Bos
is behind so many of these libraries,
Guest 1
not that different from the code that Yeah. Native developer would write. So,
Wes Bos
all the awesome. All the money goes towards what is it? Good Scott store.
Wes Bos
Like, why Although the so difficult.
Wes Bos
that's very impressive that you you can do so much content on it. But it just goes to show how how deep native apps is and how it is. It's literally its own thing. Mhmm.
Wes Bos
any any anywhere?
Guest 1
Expo has The new architecture is until recently,
Guest 1
So it's in Portland, July 17th through 19th.
Wes Bos
you can you can throw, what, proxy man on, and it will proxy all the requests.
Guest 1
Wes release episodes usually once a week.
Guest 1
Microsoft app center, which is actually being sunsetted, The platforms basically do what you tell them.
Wes Bos
Most people do not. What the hell is a sick pick?
Wes Bos
Yeah.
Scott Tolinski
Oh, my gosh. Well, thank you so much, Robin. This has been a blast. Oh, yes. I really enjoyed it. For having me.
Scott Tolinski
So there's black, blue, gold, green, navy, pink, and red. No. Not infinite red. I'm I'm saying just in general. Yeah.
Wes Bos
They're
Guest 1
A 100%.
Wes Bos
what it sounds like. This is very very funny. Are you trolling me right now? This is That's great. Actually, I got 1 more question. It's like, Facebook
Scott Tolinski
All of the money goes towards charity.
Scott Tolinski
So you guys got all of them except for gold, navy, and pink.
Scott Tolinski
the system
Wes Bos
up. 9,000,000 building web apps and and going straight to straight to the dom. So React Native is this whole other part of the React world where,
Wes Bos
Yeah. I don't know what's more depressing is stumbling upon an Apple Forms or a Google Forms. Oh, no. I'd say Apple to Apple words. I am not gonna help. Yeah. Those are the worst. The Apple warp are so hopeless.
Guest 1
we host, most of for everywhere just because it can't see it. It doesn't there's a hole in there. Yeah.
Guest 1
Yeah. My sick pick is, if you're not actually using the the primary Expo SDK.
Scott Tolinski
Oh, that's great.
Wes Bos
There's definitely a dot black.
Wes Bos
Yeah. Yeah. Do you have a, like, like, a telephone you can pick up that's connected directly to somebody at Apple? Or I wish. Are you not that high up yet? No. Wish. No. We we definitely do not.
Guest 1
Infinite Scott Red, if you're looking for React Native work, They do. People to maintain it? They definitely do.
Wes Bos
That's so fun. Great. Oh, man. I Wes thought for sure you were trolling. No.
Wes Bos
it's not owned by the government, but it is
Wes Bos
yeah. Yeah. With 300 episodes on just React Native. Like, Scott and I talk about everything Wes development back end, front end, and whatnot, and
Wes Bos
like, just getting 1 kind of sock, and that's it JS is the best, like, life hack ever. It's, like, such a life improvement. And that tweet blew
Scott Tolinski
This was such a,
Wes Bos
supper club Wes. And I'm actually curious
Guest 1
Mhmm. So And more often with the ones that are going from end to end testing.
Scott Tolinski
pink.
Wes Bos
Sorry. How much? Interesting. And you could do mobile apps to us. You could do mobile apps to the story v two now. Obviously, it's a web view. It's Safari web view. But Yeah. The way that that works is you can define, like, a hello in Rust, and you could just call it in JavaScript like it's magic. And Yeah. Is it similar to that? It's basically I mean, at the end of the day, yeah, it's basically
Scott Tolinski
Just now. That's that's a kind of some that's kinda odd choices to me. I I I get many of them, but, yeah, there's no dot yellow. There's no
Scott Tolinski
There is a dot black. Yeah. Blue? I would suggest a dot blue.
Guest 1
I started with Ios, and I've just always been in that universe. And because I, like, I use macOS for work, So with expo, you don't. I mean, everyone on our team does because Yeah. Yeah. But you don't best. Yeah. You don't have to, But, ultimately, it's it's sort of a variation of CSS Flexbox. It's to write for web. So it's like it's a layer in between Our personal
State management via MobX or Redux
Guest 1
what is it, black box versus white box? Like, it doesn't have any knowledge of the internals of your app. It's literally just like a it's as if a user were tapping are new architecture ready, basically.
Guest 1
like, Okta, A lot of our clients use, like, sent messages from JavaScript So that's actually pretty new to the space that most people until a couple Yarn ago used, I mean, I've I've and using it to render And they had all these issues where people would have bugs happening in their app that would not reproduce in the debugger because it was running a completely different JavaScript.
Guest 1
Mhmm. But we love it. Having used like, we we every so often, we'll have a project that uses Redux, and we'll kind of revisit,
Guest 1
You have, like, models that you run completely shared Mhmm. Applications. Oh, wow. That's fine. Unless you're doing something really crazy my Rails days, like, active record.
Scott Tolinski
that observable kind of pattern
Scott Tolinski
Mhmm. With the equivalent to that in our space would be, like, Cypress or Playwright.
Guest 1
It actually, like, runs the app and, like, red? through, like, through your user.
Wes Bos
Okay. And that's where you put, like, environmental variables as well. Right? Like, I I saw people were just downloading React Native apps and finding, is it almost like a, like, a RPC? Like, I know Scott and I have been dipping into, if I have a bunch of
Guest 1
A lot of times. Yeah. Yeah. So if depends on what our back end is using.
Guest 1
which basically just gives you a hard.
Guest 1
So if if you have something that is really secret, You we have to wait in line like everyone else.
Guest 1
around.
Guest 1
like, external to the app. It's not it's not, I mean, they built it for themselves, basically, and then decided to open source it. But there's pages within the Facebook app and, like, the Instagram app that are React Native. It's definitely not the entire app. It's, like, little little pieces.
Guest 1
do those things. It's very, And then you have properties and stuff. So it's very much like, okay. I have my complex, and, like, define custom commands and run them like, oh, hey. Reset my entire store or, like,
Guest 1
for the app write for all 3 platforms. It introduces that 3 platform a screenshot
Wes Bos
and just sending them along on with your requests?
Wes Bos
And for auth, you're probably right. Native doesn't have cookies. Right? It's not the browser.
Guest 1
Anything that the that the mobile app is
Guest 1
changes in your store or model or whatever.
Guest 1
And so we'll put the token in there
Guest 1
has access to should be either object which if your audience is pretty nerdy, they may already know about awesome socks. It's, I think layer.
Guest 1
dominates the React Native
Guest 1
like, it it has a little bit of knowledge of your application. And it was always really, like, flaky and kind of brittle, like, like, environmental long nested configuration that says, like, okay. If this is your the URL, parse that, get the thing, and then, like,
Wes Bos
like like, tokens
Guest 1
I've I've used Redux plenty.
Guest 1
has a short expiration. Like, things that will not take your entire system down if it is exposed because made an app without without separating the 2. But there are UI patterns that Android users We really love Maestro for
Guest 1
you should be
Guest 1
6 5, 6 years.
Wes Bos
So from the device to OpenAI,
Guest 1
detox,
Guest 1
is MobX Datree, which is Cool. It's the the reason that React Native for web was created. So if you don't if you're not familiar, React Native for web is good or maintained or whatever.
Scott Tolinski
signals in in that. But
Guest 1
And then for, like, debugging, And so you've just built this, like,
Guest 1
commands
Scott Tolinski
has been doing it for a long time. And not only that, but the people who like 1, MobX, but also MobX State Tree, the people who liked and used that seem to, like, really go to bat for it for a long time. We yeah. We've been using it for, gosh,
Guest 1
revocable or the benefit that you get is from a business perspective.
Guest 1
functions on, and it'll do async functions and stuff.
Guest 1
And you can actually, like, run plenty
Scott Tolinski
Yeah. They actually follow a Twitter account that just breaks down Bos
Guest 1
favorite,
Guest 1
if depending on whether you're using Redux or ModelX directory, you'll pick a plug in for your state management system, and it will hook in and listen to listen for the actions that are being called and, like Yeah. The state shot snapshots that are still have it be compatible with libraries that are not using the the new architect.
Guest 1
like, where Redux has come and, like, what it's doing. And we always come we always come back to MobX HD, where it just feels right.
Scott Tolinski
apps. Really? People like It's really not hard. It's It's cool. Like shockingly
Guest 1
Yeah. Anyone can look in your binary. Like I mean, need to
Guest 1
Mhmm. We use Jest for testing, which which is more from the developer side static set of native packages, and you couldn't change it.
Guest 1
There's there's a lot of misunderstandings about how like, on on demand, basically. Mhmm. Based on what you you can, like you have this whole big configuration file, and you can define all the different things that you want in your you can write apps using React Native. Like, Microsoft has state management space.
Scott Tolinski
Yeah. It it's funny because now it seems like a lot of the JavaScript frameworks in our our world are now going more towards
Guest 1
like a, a more strict version of MobX that has, like,
Scott Tolinski
MobX,
Guest 1
or something that's easily an available domain, little flows. Oh, yeah. Like, you could tap on things and swipe it in. To, like, tap on this and, like, put this text in and hit this button and yeah. But it it will actually, like, pull up pull up your device or simulator and do I'm trying to think who I can talk about
Guest 1
a
Guest 1
object oriented feeling.
Guest 1
Yeah. Yeah. Yeah.
Guest 1
and erase it from, a a library from the community, which may or may not be stick You wouldn't really be able to tell much difference.
Wes Bos
are you using, like, JWTs
Guest 1
Yeah. Mhmm.
Guest 1
does, the,
Guest 1
we'll be given a JWT, four is what just came out. Wow. And I would say probably around, like, so, like, looking in my, like, dev dependencies they don't like it.
Guest 1
Yeah. And I we just like the the feel of it. And then it's
Guest 1
so you can see your state at any given time, everyone I know who does React Native uses Versus Code. Really? Maybe with there's a couple exceptions, but yeah. It's it's very, very well integrated and supported. And it's almost at this point, it's like the the blessed editor for React Native. Really? Yeah. How often do you have to open, is one of the bigger ones that they support. I mean, macOS and Windows, you can have a full native environment on your machine.
Guest 1
a tab for,
Guest 1
So and then, navigate to this Node debugging page that I always need to go to or log in with this user, whatever your little debugging workflows are.
Guest 1
those kinds of auth providers. But, basically, yeah, most of the time, we'll we have a tool that we, the Infinite Red builds, I I love.
Guest 1
runtime,
Guest 1
when the app loads up again, we basically fetch it from secure storage again.
Guest 1
visually, which is really helpful.
Guest 1
and we store that in secure storage. So, like, on the device, there's on Bos, it's the key chain.
Guest 1
And I love it because it makes me feel like, Auth0, is totally is totally fair game. Because I mean, it the React layer But for starters, it's kind of like it's a layer on top of React Native that just gives you a lot of niceties,
Guest 1
Basically, whenever you can,
New React Native architecture improves perf
Guest 1
is whatever you want it to be.
Wes Bos
NFC,
Wes Bos
you know, things like that.
Wes Bos
do you use Redux? Do you use US Scott? Do you have any opinions there? The Apple one always breaks on me too. The shared keyboard, I use that every time I post a TikTok video. I I write the caption on my computer, I copy it, and then I try paste it on my phone.
Scott Tolinski
working group,
Guest 1
Most packages that have native components like your camera and your, the the React Native team is always really happy when people do stuff with it and tell them about bugs because then it gets a little bit better every time. Mhmm. But, really, the beauty of React Native is that Like, the code that they're getting submitted is
Scott Tolinski
and, oh, man, it's a total mess. You go to, let me go to announcements or deep dive or documentation. They all take you to just a GitHub discussion where who knows what like, it's just people who are supposed to be doing this. Several years of
Scott Tolinski
That was common. Still like that, or has it gotten better? Not at all. Yeah. I think around
Guest 1
basically communication built by somebody in the community.
Guest 1
is to go back. And it's a very, like, option that they had would run-in Chrome.
Guest 1
But they're always I'll stick a couple in here if you give me the mic. Yes.
Wes Bos
And what about state management? Do you just use like, does it have full support for JavaScript? Like, can you use async await? Like, does it have everything in it, or do you have to wait for things to be added? Yeah. It's pretty modern. We got async await
Guest 1
knowing that a a lot more. So we're we're excited for that to land. It's finally kind of creeping in. They're they're to the point where you're doing so with fewer people and less time I read. I did my homework.
Guest 1
and what's on the other side
Guest 1
because of the new architecture being about, like, how the JavaScript and the and the native, It's very object like, use this component or call this method it's that's actually not an easy question to answer, because it's it's for it's like especially for things like really long lists with a lot of images and, like there was just this little bit of lag that put a a an upper ceiling on performance Oh, I Ios.
Scott Tolinski
I know. It take it takes a lot of restraint for me to not to go to the, the feedback and be like my gosh. Your your developers didn't have a time out. You know, some sort of a fix here you'd yeah. I
Wes Bos
was the best. And I was, like, I can't do that with the web. I can't. I'd looked it up. I I don't think you can do it with React Native, like Apple Watch. Maybe you tell me if I'm wrong, but,
Guest 1
When Apple first announced, check us out.
Guest 1
a legacy Bos We got to the point where a window into your app. Like, it has a so we're on version 70 On Android, it's something else. I can't remember the name of it. But there's a secure place to store things on your device that's associated to your app.
Scott Tolinski
React Native was changing a Scott,
Guest 1
little graphical thing.
Guest 1
for new and old architecture kind of existing together,
Wes Bos
it's been a struggle.
Guest 1
were not break like, they they didn't break anything. They've really gotten past the point where you're adding new
Scott Tolinski
And and that kinda leads nicely into a question I was gonna have about like, if if something like that big change happens, is that going to break
Guest 1
big enterprise companies that are choosing to use it
Scott Tolinski
a lot of older React Native apps, or do they see that JS just being like a drop in
Guest 1
need a lot of updates.
Scott Tolinski
I was a bad choice because
Scott Tolinski
I went I've been looking
Guest 1
changes because of the way So you'll deep link into the app, and there'll be a listener Mhmm. But it's really big in the US. It's even bigger in Japan. That's a a fully React Native app, and they actually went from, It, like, the next day.
Guest 1
you'll write some ESLint code that basically intercepts those messages and says, okay. When this is called, you're gonna do 90%
Scott Tolinski
maybe. Oh, wow. That was early days. Yeah. And
Guest 1
painless as possible. Like,
Guest 1
do a lot of
Scott Tolinski
fingers crossed, just work?
Guest 1
features like suspense and stuff wouldn't have been possible with the old architecture. And the new architecture kinda opens the door to a lot of stuff. I I sincerely appreciate that overview because
Guest 1
There's quite a few now. I mean, obviously, none are as
Guest 1
Yeah. Yeah. I've played around with React Native Windows, and we actually internally have an app that we're building using React Native macOS. And they're it's a bit rougher. You have to do a let a little bit more,
Wes Bos
on this, that feels like that feels like, not something I really would love to do Yeah. Very much. That that's actually a that's a show I've been been trying to find somebody for for a while, and that's
Scott Tolinski
Yeah. The it's funny because I like I said, I mentioned I did a course on React Native, and this was way back in, like, 2000 and,
Scott Tolinski
Sanity, 2014
Wes Bos
We hear that a lot from people that come on the show where they're either doing WASM or they're,
Wes Bos
Okay. And it's is it desktop. There's, like, this, like, chasm that you have to cross from native to JavaScript. And every single time that you do that, there's a little bit of a price to pay. Yeah. And, like, obviously
Wes Bos
app launcher and productivity app.
Guest 1
like, spelunking and discovery and research Wes when things like, memory.
Guest 1
This is the curse of being a developer
Scott Tolinski
to try to understand this new architecture business for a little while. You go to the new architecture
Guest 1
Like, there there's a lot of stuff built in to make it an easy transition. It's they're they're not gonna leave anybody out in the desert.
Wes Bos
like, a workout tracker for myself, and I ended up giving up because
Wes Bos
Often, there's, like, a web API for it. Like, I was doing some Bluetooth stuff the other day, and I dove deep into web Bluetooth. Mhmm. But it's not like a standard API, and a lot of these really cool APIs will not never work on on Ios. You know? So, like, I'm thinking
Wes Bos
doing something in a service worker or or they're doing, like, a electron Wicked. Alright. Thanks again.
Wes Bos
the watch integration meant to target government Yeah.
Wes Bos
or,
Wes Bos
is written in Rust.
Guest 1
on the Mercari app where there was a a page that had this, like, specific, like, parallax major update, like, version updates, Node. And if you use the discount code syntax, you can get 10% off.
Guest 1
And it just it opens the door for a lot of new performant changes, like don't store it in your app.
Guest 1
Really? Wow. It it it really is just
Guest 1
call the their package called Node push,
Wes Bos
React Native macOS and React I know. React
Guest 1
and Android app and trying to recreate the exact experience to keep your mobile app secure, and, basically, the answer is it's not.
Wes Bos
So that's interesting that they've totally
Guest 1
now that they feel that it's
Wes Bos
there is no bridge for this type of thing? Or what happens if the bridge
Wes Bos
Scott, what's the rust based electron alternative? Tori. I'm blanking.
Guest 1
stable and mature.
Wes Bos
And in order to to build Raycast extensions,
Guest 1
The package the Bos package that they were using did not already have a React Native
Guest 1
You're just yeah. You just are defining this layer that says, okay. When I call this thing in JavaScript, I want you to do this thing in native.
Guest 1
you can see evidence of that with just the number of
Guest 1
support, and I don't know about watch. But, yeah, the possibilities are endless.
Wes Bos
every now and then, you you hit upon something.
Guest 1
there's I think there's, like, fire called Hermes, a a really common saying you'll you'll hear, because what it's doing is it's actually taking JavaScript
Wes Bos
bit of that is you can use JavaScript.
Wes Bos
Bluetooth Oh, man.
Guest 1
And so most of those libraries are ready now. That's sick.
Guest 1
So the answer was that we maintain. It's called Reacttron, something that you wouldn't actually use for a serious app. And it still kind of has that reputation even though it's evolved
Scott Tolinski
over the lifetime of that course, I got a lot of
Wes Bos
I'm curious if there's other platforms that React Native can run on.
Guest 1
I have opinions. Yes. I I mean, like, we've used.
Guest 1
fixed that. Yeah. They've kind of married those 2
Wes Bos
know. I'm just curious about, like, talking more about the bridging to to native APIs because,
Guest 1
you know, things like that that that have native components, Wes what EXO is is a suite of
Wes Bos
that you're using to like the camera app or something is not giving you the the actual data you need. Do you have to pull up your sleeves and write a little ESLint then? Yeah. That's Yep. I mean, the an that's the answer JS basically Wes. We've had that happen on a couple of our clients.
Scott Tolinski
and,
Wes Bos
Tory, t a u r I, for everyone trying to Google it, where it's like, yeah, you can build desktop apps. It's a little bit different. It's actually the opposite of React Native Wes it's your UI is built in HTML and CSS, but your back end is
Wes Bos
HTML, CSS, JavaScript, and Wow. They all work pretty good. Every now and then, I'm clicking through mine, and I I get a little or it's a little slow to respond to events. And I'm telling my wife, like, oh, this thing is it's blocking they're blocking the main thread. You know? Like Mhmm. She's like, it's fine. Just just don't click so fast.
Wes Bos
it's React, but it's not you can't use divs. Right? It's it's the same idea. Right? They have they built their own renderer so you can use no node modules and and everything you want on the logic side. But once it comes to actually building the interface of the plug in, you have to use their blessed components to Mhmm. Build the UI. Yeah.
Guest 1
Because native native libraries And it's it's not you can absolutely do that. I mean, that's Yeah. That's I I I'm pretty sure our founder went and like, as soon as Scott red became, And like you said, they expo is really great for
Guest 1
Yeah. It's I mean, it's basically like that.
Wes Bos
Okay.
Guest 1
the Vision Pro
Guest 1
It's really very stable now, and there's Yarn ago, we sort of navigate to this screen with this parameter. Like, it's it's all very manual what's going on behind this scene. Does that use something called deep links? Is that related here? Okay. Yeah. Of course. The word deep links. That's as far as what what me what what deep linking means all the React 18
Wes Bos
Man, what about other platforms that React Native can can run on? Because, like, there's obviously Bos and Android. Those are the 2
Guest 1
using
Scott Tolinski
It sucked because I really I I I put, like, an 8 hour course out, and then something changed and invalidated the whole thing, like, a week later. And
Guest 1
components or, like, completely changing component APIs.
Guest 1
things really slowly, and you can turn on the new architecture and
Scott Tolinski
Trying to get at, like, a fire stick support
Guest 1
communicate.
Guest 1
for their core business, and they need to not have it be interrupted. So they're putting a lot of work into sort of deprecating not very much fun to write, and so we've been really liking Maestro recently.
Guest 1
it I'm not an expert on the react on the new architecture by any means, but Yeah. That's sort of, like, the crux of the change.
Guest 1
any platform enjoyable Okay. For React Native. And they have removed that entirely and come up with this thing called I think it's JS, when you get errors and things go wrong.
Guest 1
Yep. Like, somebody
Scott Tolinski
and even, like, expo is changing a lot. I released the course. Version 10 or something like that.
Scott Tolinski
I know I know this is, like, early days. A lot of people, like, mentioning any minor update would break their app completely.
Guest 1
and it basically just defines this little interface.
Wes Bos
What happens if like, either somebody going straight direct and writing, like, an Bos app and an Android app or or what other else the the alternatives are? I mean, an Bos engineer or and, she's also the cohost or host of the React Native radio podcast. So we're we're doing a little,
Expo tooling enables native development without full env setup
Guest 1
like, query string stuff you've added based on the URL, and it will actually navigate based on URL. And it it's still pretty new.
Guest 1
But from the store and just, like, inspected their binaries to see what packages were installed, to see who JS using Expo and React Sanity, physical analogy, It it was JavaScript core, and, yeah, it was on Bos, it was the Safari
Guest 1
it adds a URL based navigation no super popular mature like, rendering UI components that would be using the DOM
Guest 1
Expo type safety.
Guest 1
but it was not URL based. Until recently, So React Native does not use CSS at all. It actually uses Wes have clients that use it. Like, I'm comfortable with Redux.
Guest 1
configuration that you need, it will go into your app to that page, to that record with whatever, partly because it lets you pattern. So your components basically becomes an observer and then listens to wrapper they call it, and it's not your like, it's not a URL. It's just, like, sort of, like, screens layered on top of each other. So you'll have what are called stacks. So you'll have UI engine. It's called Deno.
Wes Bos
I'm thinking about, like alright. I started it up. I got expo.
Guest 1
a library called React navigation, of tools. It's a lot of different things.
Guest 1
system,
Wes Bos
like, Google's IDX came out a couple of months ago, and they're like, we have native Bos previews. And I was like, how how are they doing that? Or is that what they're using? Do you know? And have have you used these before?
Wes Bos
don't have a farm. Yeah. Pointed at them. Yeah. Oh, man. Okay. So I'm trying to understand, a a great moment because of just the we were just talking about timing. It's so incredibly perfect, so thank you for that. Yeah. Like, it's like I tweeted that, like, an hour ago, but right before you came on. That's hilarious. Oh my gosh. No way. Because I follow you on Twitter, so I was like, I'm can't believe I missed this. But yeah. You just it's just this morning. I'll throw the link in the show notes and in the chat for everybody.
Guest 1
1 to 1 with a web application if you're building them at the same time. So you can use a URL and go to it on your website, and it will a back end developer. And so it's just normal to me that column is the default.
Wes Bos
Oh, okay. Is that what And it stopped working, and it always stops working.
Guest 1
So Wes That's where Wes go to die.
Wes Bos
that changes when you when you go from tab to tab?
Guest 1
which means that it maps scrolling.
Guest 1
it the answer used to be no. Okay. We use a Seriously.
Wes Bos
One of the first things I do when I'm building an app on the web is I have a router. Right? Like, it's different endpoints because I have is that an idea in React Native? Is there a URL
Guest 1
I've tried it out a couple times. It it's pretty cool, but it's still, like, kind of in that beta feeling of
Wes Bos
I don't know specifically, but it wouldn't surprise me. It's probably what it is. They're not they don't have a farm of of Ios. No. No. They
Wes Bos
and just, like, put out the picture for anyone listening. It's like, alright. I'm a JavaScript developer. I'd love to build a a native application. Right? So we talked about there's packages that that are sort of bridges to the native API, so you wanna use native mapping. You can still control it with your JavaScript, but whatnot.
Introduction to React Native
Scott Tolinski
loading up a web view?
Guest 1
it's a good question, and it's a really common
Scott Tolinski
completely fallen out of that that sphere. So I have a lot of questions for you. Well, I hopefully have a lot of answers.
Guest 1
UI views. It's like actual native Well, that's it's because
Guest 1
misunderstanding of of what React Native is. So first and foremost, React Native is native. That's kind of not secure, like a public
Scott Tolinski
welcome to the show. Do you want to, 1st and foremost because I think we could assume that there is a handful of people listening who don't know the difference between
Guest 1
like, and it's just when your tech is not working, you're like, I know somebody didn't do this. Yeah. Yeah. I know.
Scott Tolinski
Yeah. Yeah.
Scott Tolinski
Robin,
Scott Tolinski
Yeah. And, you know who else has answers? Sanity has answers for bugs within your Bos and Android apps. That's right. Sentry works with Bos and Android.
Scott Tolinski
syntax. Sign up and get 2 months for free. Sentry presents this podcast. So,
Guest 1
being kind of, like, generated magically for you based on the JavaScript that you write. So it's a very native feeling experience. And pretty much anything you can do in native, you can do in React Native.
Scott Tolinski
and how it's different than just a typical
Guest 1
views.
Wes Bos
Yeah. Yeah. Exactly. Yeah. Crossover. Love it. So, we will also be coming on the React Native Radio as Wes, maybe, to talk a little bit more about web dev. But welcome. Thanks so much for coming on. Yeah. I'm really happy to be here. Thanks for having me. Yeah. It's, it's really exciting to talk React Native. I I did a course on React Native a while ago and have since
Scott Tolinski
Head on over to century.ioforward/ They're they're like some I don't I don't know if it's OpenAI or somebody. Somebody's do app uses Git Sanity, and I was like, oh, cool. Good to glad to see it.
Scott Tolinski
something like React Native and something like a Wes view, like a Cordova type of platform. Do you maybe wanna give a a quick introduction
Scott Tolinski
to React Native
Benefits of React Native - faster dev times, share code
Guest 1
But now you have full control over what native packages are installed and how everything's configured.
Guest 1
But we make Oh, really? Okay. But,
Guest 1
like, that would be better than 0. And in our experience, it's it's usually way higher than that. So
Guest 1
of the way they And it's just every component is past a style CSS. CSS equivalent. Okay. Yeah. Both. But we we use React Native styles, which stick for consistency.
Guest 1
you're gonna be able to share a ton of what you're writing.
Guest 1
iOS and Android and then also web about adhering to those platform differences, yeah, you you're gonna have to have some conditionals, Native Windows. It's so ironic to me that Microsoft is the one that maintains React Native Mac OS.
Scott Tolinski
people feel like or or is required. I I'm I'm confused. Do you wanna maybe talk a little bit about what Expo is, and is it something that you need to work in React Native? Or or in these days, is it, you know,
Guest 1
React TypeScript DOM, which is coming down the pike, actually comes in. React Native for Wes, it sort of limits
Scott Tolinski
weird or scary.
Guest 1
extra stuff. And so people felt like, oh, this is just like a tool for novices or
Guest 1
POC or
Guest 1
So you're writing React you feel like you're writing React Native code. You're importing from React Native, but it's it's rendering to the DOM. And you say, well, why would you do that if you just use React? They have done a lot of work to make the transition as if someone wants to put in the work, you can target any platform because it's just an abstraction layer, of normal people like ourselves trying to understand what what Meta is doing over there. Yeah. And we know it's gonna be good, but So for
Scott Tolinski
like, you know, connect to it, via cable or do any of that wonkiness or install it any specific way. It just makes debugging, especially getting up and running really early Yeah. Or really quick. So you said you do use it on on most to all projects? Yeah. Yeah. We a couple
Scott Tolinski
Oh, okay. Yeah. I found that the Expo experience was nice being able so, Wes, if you haven't used it, one of the cool things you can do is you download the Expo app onto your phone, and then you scan a QR code, and then it loads up your native app on your device without having to actually, That is so funny though. I swear I was controlling you. Yes. Thank you. Down.
Guest 1
things like components or business logic or whatever between your mobile apps and your web apps. So it just introduces this whole ability to share and save time and do things a lot more efficiently without sacrificing
Scott Tolinski
that was my 1st real introduction to oh, wait. React Native Wes isn't
Guest 1
write an app and have it literally have it run on Wes, Bos, and Android. Yeah. We had Node from Tomaguie on, and,
Guest 1
So a build pointing to a development server that's live. So you can do your native development or your local development They had, flex direction is Is a, Yeah. Column instead of row. Yeah. That's true. Which makes sense if you're talking about like, because you're talking about mobile Mhmm. Which is a vertical screen. Right? So it makes sense that you would default to having things
Guest 1
the Bos and Android directories, which are the actual, like, native apps that run and there's a ton.
Wes Bos
a lot of random classes and lots of divs, and and the reasoning behind that, same with Facebook, is I we thought, oh, yeah. They're they're using React Native as well or or were at some point. I know Twitter lite
Guest 1
made the switch and started using Expo on all of our projects. Expo, it's it's kind of had an evolution.
Scott Tolinski
Is there any hope to the right ones to play everywhere dream? I you know, when you're talking,
Guest 1
the subset of the DOM that you can use. So you're not just, like, able to call any, like, experience for developing.
Guest 1
really, half the time.
Scott Tolinski
applications using Expo the whole way the whole way along. Yeah. This site this site in the docs really make this look a lot more mature. I mean, it always looked good. When they came out, the docs look good. But this looks like
Guest 1
fully native and did a whole React Native rewrite,
Guest 1
understand what Expo has become because what it used to be was
Guest 1
And when you're iterating on features down the line and maintaining the app, object.
Guest 1
on your devices,
Scott Tolinski
a lot different than what I remember in a very positive way. It's come it's come a long way.
Guest 1
like, we use it all the time to be able to a, it's something it's a a package that they built so that you can use the React Native, who if there's someone putting the work in to target a a platform, you can do it. Mhmm. React Native. Yeah. We had the folks from Raycast on, which is a Mac OS like, a a full fledged, like, it I just love that everything integrates, production app, That's the answer.
Guest 1
There's still people even in the React Native world that couple times a week, maybe. I don't like, you don't have to open it to do builds,
Guest 1
very well maintained, well documented
Guest 1
apps for on and then the
Guest 1
and actually saw quite a few, like, performance gains. And they didn't they had a 5 star rating, so it was a big it was a big deal that they chose to do a rewrite, in React Native.
Guest 1
You can write the same app in just like unit testing.
Guest 1
to to download a development build.
Guest 1
build, like, a one off, like, supported as Bos and Android and web. But, like, tvOS it's of course, it's not gonna be a 100% and Bos users expect from their apps. Yeah.
Guest 1
image, all those, in your native configuration, then it'll generate it on the fly Wow. Which is a change from the early days where you just had that Expo app like you mentioned. And, like, that was a very
Guest 1
come with React Native like, all the network activity. It has a tab for all of the, like, which does remote updates. And I think they're actually keeping code push around. The rest of app center is getting sensitive, but core, instead of sort of picking a primitives, view,
Guest 1
complex mature production level
Guest 1
and sort of papers over some of React Native's rough edges and gives you a much more all those things that we don't want people to be using. It really it really Scott of defines the set the the set of elements that you can use, which You just have to to build the right layer in between.
Scott Tolinski
a must have?
Guest 1
big companies. And I'd say, like, we usually achieve, like, 85,
Wes Bos
there's
Guest 1
starter app or something. Yeah. It had very limited capabilities when it came to native libraries and token or something,
Guest 1
But it's pretty dang it's impressively close in our experience. Like, we've built, like, we've built Really? Yeah. It's it's, like, 75% of the top apps in the app store or something are using React Native or Expo in some fashion. And what about, like, Twitter and Facebook? Because I know if you inspect element on twitter.com,
Guest 1
But also because and this is where the native look and feel because, like Mhmm. What you're getting is ultimately native.
Guest 1
on a device that's pointing to a server running in the cloud. Mhmm. And you don't need it actually running on your machine. It's wild.
Guest 1
and with the ability to share because had a React Native app running in the Vision OS, that Okay. Is is going opening a native app and then going several screens inside.
Guest 1
you can basically scan a QR code with your phone
Guest 1
they first of all, they have this whole EAS, which is XPEL application Vercel. But it's a service where they do a bunch of builds
Guest 1
there's some that we've worked on that we can't talk about, but some that you have probably used that we can talk about and love to talk about. Mercari is one. So if you've used Mercari, it's like, it's like a Facebook Marketplace type of buy from random people.
Guest 1
service. But they did Mhmm. He actually, like, pulled down a bunch of apps
Guest 1
basically a tool that made it easy to
Guest 1
right once deploy anywhere,
Wes Bos
Yeah. How does that work? Like, do you need a Mac to build an Bos app?
Guest 1
and they they have managed to maintain that. Yeah. Mercari is one it's it's a change to the the way that the JavaScript code bridges to the native code. Specifically, there was a thing called Yeah. So many opinions. Hank Green No.
Guest 1
So it's not it's not a 100% write once to play anywhere, but, beyond what it was in its early days.
Guest 1
continuous native generation, c n g, which means that There's a dot red. Oh, that's gotta be dot green. Dot green? No. Really? Yeah. There is. Like, anything eco, Yeah. Yeah.
Guest 1
a lot beyond like, what you'd write in Swift or Kotlin. It's just a lot of a lot of people are relying on React Native for their, like, Basically, like, the image would zoom in a particular way as you Scott, and it was a very specific, we had to build it ourselves. So we had to build what's called a config plug in, which is basically
Scott Tolinski
you know, when you get into it, you do end up going down paths
Guest 1
Oh, there's they built in compatibility native Yeah.
Guest 1
packages. And you can actually use those independently library. I mean, like, we're we're kind of the most vocal ones going to bat for it because Redux really dominates widget or my user or whatever. And, like, it has a bunch of properties that I that I invoke like an object.
Guest 1
that we know of. I think, have an entire suite of of libraries
Guest 1
Twitter lite was actually specifically, a guy named Evan Bacon at Expo has been really involved in this. He's been on our show a couple times, but he's come up with this package called Expo router, which is actually built on top of React navigation.
Scott Tolinski
It's actually a a pretty cool platform for even that that kind of dream that we were talking about, the right ones deploy everywhere. I think that's, like, the closest we can get. It's it's a pretty cool thing. You had mentioned Expo a bit of Go. Expo seems to be one of those things that Mhmm.
Scott Tolinski
of Android specific components and React specific components.
Guest 1
So you can do those really
Guest 1
it it's technically not a must have, but I we consider it a must have just because it improves the developer experience that much.
Guest 1
system.
Guest 1
HTML tag willy nilly, like, oh, add in a marquee or And it has all these systems now for
React hooks work in React Native minus rendering
Scott Tolinski
Yeah. There's enough little weird things. But, like, if you know if you're good at Flexbox, you'll be good at laying out. You'll be you'll be right at home.
Wes Bos
and that's the point where you diverge from unwriting JavaScript. I'm comfortable with it.
Wes Bos
and Temagui sit on top of yoga? Like, do they translate to either CSS or yoga?
Scott Tolinski
Yeah. I think one of the weirder things is that I think the default
Wes Bos
Now I need to make a button. I need to make a layout. I need to, And what are some apps that people might not know are React Native that are things that are are pretty commonly used?
Wes Bos
put this image in a specific thing, and that's when you sort of realize, oh, these are not DOM nodes. Mhmm. These are native Node. Like right? That's that's the whole point.
Wes Bos
Yeah.
Wes Bos
So,
Wes Bos
yoga directly or
Guest 1
its own Right? So you'll have the JavaScript side, which is what your React Native app will actually call, like,
Guest 1
Yeah. The UI is kind of where it which we helped them with
Wes Bos
you want to make a UI,
Guest 1
So, like, we we use all the same hooks, like, use state, use effect, all those.
Guest 1
Nothing is cascading, which if you'd asked
Scott Tolinski
how does that work between Android and Bos? Do the platforms take over a little bit of the styling themselves?
Wes Bos
styles for this type of thing, you're either writing
Guest 1
So it's all very declarative. Like, this component gets this style. Nothing's inherited.
Guest 1
is
Wes Bos
do React Native Wes
Wes Bos
Oh, that's great. That that's all you know. So if you're writing
Guest 1
I don't a 100% know, but I React Native for web. Yeah. You use React Native styles, and I'm guessing it translates to React Native and then the DOM.
Scott Tolinski
Yeah. Yeah. And and so when when you have a a React Native app and you're doing sort of just normal styling on it, Yeah. So I I think one of the big things that people always hunt for is, like, a a right once deploy everywhere kind of thing. Is is that is that a total fiction? I I know,
Guest 1
go into a column. And I I was never truly a a web developer before I started React Native. I was if you have your app installed and you've set up all of the deep linking the actions that are happening. So, are generated, all the time here to get these things to talk to each other. So I did the whole thing. Whenever I try to get my like, I have a bunch of Android devices that I use for development. And anytime I try to get
Guest 1
And, yeah, it's all it's it would be familiar to you if if you know CSS, but it's slightly different.
Wes Bos
like, what do you do? Like, can you use CSS?
Transcript
Wes Bos
quite honestly, I think a lot of your your skill set would
Wes Bos
switchy switch, little podcast here. Cross summer edition.
Wes Bos
apply to. So we've got Robin Hines on. She's a director of engineering at Infinite Red, which is a React Native consulting company,
Wes Bos
this thing this podcast, but we are usually talking about it in regards to
React Native renders native UI components
Guest 1
a Android engineer would probably tell you that there is none.
Wes Bos
looping over things, fetching data, all of that stuff
Wes Bos
in
Wes Bos
UI layer, which is the things that you touch and the things that you see,
Wes Bos
that is not running. Like, there's no divs
Wes Bos
happens
Guest 1
or or anything like that in regards to there. Is that is that right? That's correct. Yeah. What you're actually, like, touching and swiping and moving, that's that's all native
Wes Bos
JavaScript on a separate thread. But the actual
Wes Bos
Yeah. I I remember when it first came out, and and you can tell me if this is still the case, but it's
Wes Bos
components. That's Okay. And what's the what's the benefit of of using React Native over something like
Styles declare native styles, similar to CSS
Wes Bos
introducing their own JavaScript ESLint, or they had built their own JavaScript engine? Like, it's it's it's not or may maybe it was. Was it Safari at one ESLint, like, the JavaScript core?
Guest 1
Wes. They wrote their own engines called Hermes.
Guest 1
the debugger in memory.
Guest 1
So it the JavaScript that you're running in React Native is not does not match what you would run-in, like, Chrome, which was actually a problem for a while because they had so I I don't know if you know Node, Evan Bacon. He works for Expo, which is a React native sort of, like, tooling,
Guest 1
that would be what would happen by default if you just
Guest 1
pure about So first of all, my company, Infinite Red
Wes Bos
Interesting. Did did I hear that React Native was
Guest 1
You do have to sometimes, is you Yeah. When your say you have, like, tabs at the bottom. Like, each tab will be, like, a stack. So if you have, like, your profile tab, you go to the profile stack. And then there's, like, maybe screens behind that, like, edit and create and bunch of related screens in that stack. And you kind of just, like, put screens onto the stack or take them off
Guest 1
different that they have built and are, like, sort of expo blessed kind of. Mhmm. Things like camera and maps and, like, all the different, like, third party libraries that don't making it easy to to do builds even if you don't
Guest 1
The headers are usually left justified instead of centered and don't totally you know, it's close enough that it's and and, really, anything is better than 0. Right? Like Yeah. Anything is better than right twice. Yeah. Right. Seriously. Yeah. So, I mean, even if we were getting, like, 25, 30%,
Guest 1
in place because it's the styles are just gonna be they're gonna do what you tell them to do. There's not anything that Android's gonna do differently automatically.
Guest 1
take into account Oh, man.
Guest 1
which is really fast and really awesome.
Guest 1
features than the Chrome engine.
Guest 1
UI patterns
Guest 1
Like, things like like Android.
Guest 1
engine, I believe. But, So, like, there was there was one
Guest 1
fewer So what you're seeing in your app is,
Guest 1
and things like that. Like, where where buttons are placed. Like, there's slight differences like that. And if you wanna be really the same idea.
React Native has its own JS engine - Hermes
Guest 1
JavaScript interface, which lets c plus plus
Guest 1
the bridge,
Guest 1
really define what it is.
Scott Tolinski
So this is does this relate to all to the new architecture of React Native? Is that a related discussion? Yeah. What what are some tools and libraries that you install on most projects? Like, besides maybe, like, expo, you get up and running. Like, what do you need?
Wes Bos
Man, it's wild if you think about that. There are so many different JavaScript engines out there. Oh, I know.
Guest 1
when everyone else did pretty much.
Guest 1
lag
Guest 1
a any given React, new developer probably couldn't have told you the same answer.
Wes Bos
And,
Guest 1
to native and vice versa. And so there was this little bit of
Guest 1
Ultimately, Oh, yeah. Yeah. And the React Native JavaScript engine was had You can get tickets They have their own, like, And so they don't have they don't really use the Chrome debugger anymore for that reason, but they they built their own JavaScript engine, for awesome socks, Wes write some JavaScript code and then some ESLint code, on the platforms. I mean, like, if you wanna make your 2 apps exactly the same,
Guest 1
actually ins like, hold a JavaScript
Guest 1
which asynchronously, They've been they've been working hard to, the third party libraries that are used by a lot of people was their reasoning for doing it. But now that they're now that it exists,
Guest 1
I mean, everything is related to the new architecture. So yes. Okay.
New React Native router enables URL-based navigation
Wes Bos
Which ones of those am I able to use? Is this anything that touches the DOM is is kinda offside. You're not allowed to use it, but anything that's just logic in terms of, like, state and effects and all that good stuff? Oh, yeah. Yeah. Anything that's that's not,
Wes Bos
React And and does does Apple hate React Native? I remember in the early days, people were had a hard time getting their apps approved. That was a long time ago. Does. I they don't because ultimate all these apps that you install, whether it's on your your Google Chromecast or it's on your Samsung TV, they're all built in,
Wes Bos
And
Guest 1
was called. And then you have some sort of We talk about everything React Native. So yeah. Give us a listen. That is that's it's wild to me that
Wes Bos
packages that have npm installed,
Wes Bos
hooks that I've written and maybe a couple React,
Wes Bos
phase. How do how do native apps normally if you're not using, like, a URL like, that's all I know in my life. How do how do native apps normally say, oh, I need to bring you to this screen? You you literally have, like, a a listener.
Guest 1
figures out what URL was