Episode Transcript
Transcripts are displayed as originally observed. Some content, including advertisements may have changed.
Use Ctrl + F to search
0:00
Welcome to Syntax! Today we have a
0:02
show for you on React Native. It's
0:04
actually not some we've talked about a
0:06
whole lot. We talk about React quite
0:08
a bit on this this thing this
0:11
bike as but we are usually talking
0:13
but in regards to building web apps
0:15
and and going straight to straight to
0:17
the Dom. So React Native as his
0:19
whole other part of the React world
0:21
where quails a I think a lot
0:24
of your your skillset would apply to.
0:26
So we've got Robin high honor. She's
0:28
a Director of Engineering at Infinite. Read
0:30
and which is a I React Native
0:32
Consulting company and eyes also the cohost
0:35
our host of the React Native Radio
0:37
podcast so work order to do a
0:39
little I switch he sweat a little
0:42
podcast here Iran are addition yeah I
0:44
didn't her class at a minute so
0:46
I we will also become and on
0:49
the rack native radio as well. maybe
0:51
to talk a little bit more about
0:53
web dev but welcome think symmetrical non.
0:56
The I'm really happy to be are things for him.
0:58
Yeah, it's I. It's really. it's a new
1:00
talk. React Native I I did a course
1:02
on React Native a while ago and have
1:04
since completely fallen out of that. That's fierce.
1:06
I have a lot of questions for here.
1:08
Who? Well, I'll. Hopefully have a lot
1:11
of answers. Yeah, Yeah, yeah, I
1:13
know, you know who. Also the answers.
1:15
Century has answers for bugs within your
1:17
Ios and Android apps. That's right, Century
1:19
works with Ios and Android. Head on
1:21
over to Century.i owe fours I syntax
1:23
enemy get to month for free Century
1:25
It presents this podcast so. Robin
1:28
Welcome to the show! Do you
1:30
want to? First and foremost, because
1:32
I think we could assume that
1:34
there is a handful of people
1:36
listening who don't know the difference
1:38
between. Something. Like React native
1:40
and something like a web. You like
1:42
a Cordova type of platform. You maybe
1:44
want to give it a quick introduction to.
1:47
React. Native. And. How
1:49
it's different than just a typical
1:51
loading up a web view. It
1:54
adds good question. It's a really.
1:56
Common. Misunderstanding.
1:58
Of of what React native as
2:00
so first and foremost, react native.
2:02
His native. That's kind of. A
2:05
really com and saying you'll you'll hear
2:07
because. What? It's doing is it's
2:10
actually taking javascript. And using
2:12
it to render. Native. Views.
2:15
So. What you're seeing in your app his.
2:17
Fault. He he why views it's
2:20
like actual native. Like what you'd
2:22
write and swifter, Caitlyn, It's just. Being.
2:24
Kind of like generated magically for you based
2:26
on the javascript That you right? So it's
2:28
a very native ceiling experience and pretty much
2:30
anything you can do and native you can
2:32
do and react native. I.
2:34
Just have to to build the right layer
2:36
in between. Yeah. I
2:38
remember when it first came out in
2:41
economics as a still the case but
2:43
it's your your business logic. Looping.
2:46
Over things fetching data. all that
2:48
stuff happens in javascript on a
2:50
separate thread. but the actual you
2:52
why layer which is the things
2:54
that you touch in the things
2:57
that you see that is not
2:59
running like there's no, does our
3:01
or anything like that in regards
3:03
to their that is that right?
3:06
That's correct. yeah. What you're actually
3:08
like touching and swiping and moving?
3:10
That's that's all. Native components. That's
3:12
okay. And what's the what's the
3:14
benefit of. Of using React Native
3:16
over something like of. Like.
3:19
Near up. Either somebody's going straight direct
3:21
and writing like in Iowa, up and
3:23
and Android app or or when other.
3:25
I'll see the alternatives or. I
3:28
mean an Iowa engineer? Or her
3:30
and right engineer would probably tell you
3:32
that there is none. Ah the fuck
3:34
are you must successes Mass. Really
3:36
the benefit that you get
3:39
is. From. A business perspective
3:41
you can write the same map
3:43
in. Half
3:45
the time. And when you're in
3:47
or eating on features down the line and
3:50
maintaining the app. On your
3:52
doing so with fewer people
3:54
and less time. And
3:56
with the ability to share. Things.
3:59
Like. Components or business logic
4:01
or whatever between your mobile apps
4:03
and your web. As so Hs
4:06
introduces this whole ability to share
4:08
and save time and. Do.
4:10
things a lot more efficiently without sacrificing
4:12
the native look and feel. Because like
4:14
what you're getting of ultimately data. They're
4:17
so I think one of the big things
4:19
that people always on for is like a
4:22
a right once deploy everywhere size of thing
4:24
is is that is that a total fiction
4:26
I know. You. Know when you get
4:28
into it you do end up going down
4:30
passes. Android specific components and
4:32
react specific components. Is there
4:34
any hope? to the right
4:36
ones to play everywhere? Dream
4:38
I. You know, when you're
4:40
talking. I. Say a full
4:43
fledged like. Mature.
4:45
Products and app. It's.
4:47
Of. Course, it's not gonna be a one hundred percent.
4:50
Right once to play anywhere. But.
4:52
It's pretty dang. It's impressively.
4:54
Close in our experience like we've
4:57
built like we felt. Plenty.
5:00
Of. Iowa, an Android and
5:02
then also web. Apps. For.
5:05
Big. Companies and said say
5:07
like we usually see have like
5:09
eighty five ninety percent. Completely
5:12
shared application. Wow Wow.
5:14
Nothing unless you're doing
5:16
something really crazy complex.
5:18
You're. Gonna be able to share a ton
5:21
of what you're writing. Ah, so
5:23
it's not. It's. Not one hundred percent
5:25
right. Wants to play anywhere but. You
5:28
l it's close enough that it's. And
5:30
and really, anything is better
5:32
than Zero. Right Idea: Anything
5:34
is better than right place.
5:37
Or a serious a us so.
5:39
I mean, even if we were getting like twenty
5:41
five. Thirty percent like that would be better
5:43
than zero and an audience it's It's usually
5:45
way higher than that, so. And.
5:48
Or what are some apps that people
5:50
might not know our react near? That
5:52
are things that are are pretty commonly
5:55
used. Oh, and there's there's some that
5:57
we worked on that we can talk
5:59
about by. Found that you have probably you
6:01
that we can talk about. And love to talk
6:03
about them or cari as land so if is
6:05
used for cari it's like of. It's
6:08
like a safe but marketplace cyprus by
6:10
from random people mates. Really big in
6:12
the U S. it's even bigger in
6:14
Japan. That. The a fully react native
6:16
app and they actually went from. A
6:19
fully native and at a whole react
6:21
the to rewrite. Which. We help
6:23
them with and actually thought quite a few
6:25
like performance gains and they didn't They had
6:27
a five star rating thought was a big.
6:30
In the big deal that they chose to do
6:32
a rewrite, Ah, and they they've
6:34
managed to maintain that. The
6:36
advertisers lion. I'm. Trying things
6:38
who I can talk about, Would
6:41
be no of. I think I'm so
6:43
I don't know. You know of Evan
6:45
Bayh If he. Were for Expo which
6:47
is a react native sort of
6:49
like tooling. Service
6:52
but they did. He actually like pulled
6:54
down a bunch of apps. From
6:57
the store and just like inspected their
6:59
binaries to see what packages were installed,
7:01
to who is using Expo and React
7:03
Native and there's a ton. Rely
7:06
on the yeah, it's It's like seventy
7:08
five percent of the top maps and
7:10
the apps or something or using react
7:12
native are exponentially fashion. And what about
7:14
like Twitter and Facebook Cause I know
7:16
if you inspect Element on twitter.com. There's.
7:19
A lot of random classes and lots of
7:22
does and and the reason mean behind that
7:24
seem with Facebook as I we thought oh
7:26
yeah there's the easy react native as well
7:28
or were at some point I know that
7:30
Twitter late. Twitter. Light was actually
7:32
the the reason that react native for
7:35
Web was creates of young min you're
7:37
not familiar react native for Web. A.
7:40
I it's something. Is it with hackers?
7:43
It's a bell for the Ethan. Use
7:45
the React native. Like. Primitives.
7:48
View. Image all those
7:50
to write for web so it's
7:52
like it's a layer in between.
7:54
React. Native and then the dom. see
7:57
your writing that you feel like you're adding rak the the
7:59
code your employer from React Native, but it's rendering
8:01
to the DOM. And you say, well, why would
8:03
you do that if you just use React Native?
8:06
Well, partly
8:09
because it lets you write for
8:12
all three platforms. It introduces that three-platform
8:14
system. But also
8:17
because, and this is where React
8:19
Strict DOM, which is coming down the pike, actually
8:22
comes in, React Native for
8:24
Web, it sort of limits the
8:26
subset of the DOM that you can use. So
8:28
you're not just able to call
8:30
any HTML tag willy-nilly, like,
8:33
oh, add in a marquee or all
8:36
those things that we don't want people to be using. It
8:39
really sort of defines the set of
8:41
elements that you can use, which was
8:44
there reasoning for doing it. But now that
8:47
it exists, we use it
8:49
all the time to be able to
8:51
write an app and literally have it
8:54
run on web, iOS, and Android. Yeah.
8:56
We had Nate from Tamagoo-e on. And
8:59
that was my first real introduction
9:01
to, oh, wait, React Native web
9:03
isn't weird or
9:05
scary. It's actually a pretty cool platform for
9:07
even that kind of dream that we were
9:09
talking about, the right ones deploy everywhere. I
9:12
think that's the closest we can get. It's
9:14
a pretty cool thing. You had
9:16
mentioned Expo a bit of Go. Expo seems to
9:18
be one of those things that people
9:21
feel like or is required. I'm
9:24
confused. You want to maybe talk a little
9:26
bit about what Expo is. And is it
9:28
something that you need to work in React
9:30
Native or in these days is it a
9:33
must have? I mean, it's
9:36
technically not a must have. But
9:38
we consider it a must have just
9:41
because it improves the developer experience that
9:43
much. So what
9:45
Expo is is a suite
9:47
of tools. It's a lot of different things. But
9:50
for starters, it's a layer on top
9:52
of React Native that
9:56
just gives you a lot of niceties. and
10:00
sort of papers over some
10:02
of React Native's rough edges and
10:05
gives you a much more enjoyable
10:07
experience for developing. It
10:10
also, they have an
10:12
entire suite of libraries that
10:15
they have built and are like
10:17
sort of expo blessed kind of things
10:20
like camera and maps and
10:22
like all the different like third
10:24
party libraries that don't come with
10:26
React Native Core. Instead
10:28
of sort of picking a
10:30
library from the community which may or may not
10:33
be good or maintained or
10:35
whatever, they
10:37
have their own like very
10:39
well maintained, well documented packages. And you
10:42
can actually use those independently if you're
10:44
not actually using the primary
10:46
expo SDK. Oh, okay, yeah.
10:49
I found that the expo experience was nice being able.
10:51
So Wes, if you haven't used it, one of the
10:53
cool things you can do is you download the expo
10:55
app on your phone and then
10:58
scan a QR code and then it loads
11:00
up your native app on your device without
11:02
having to actually like, you
11:04
know, connect to it via cable or do
11:07
any of that wonkiness or install it in
11:09
any specific way. It just makes debugging, especially
11:11
getting up and running really early or really
11:13
quick. So you said you do use it
11:15
on most to all projects? Yeah, yeah, we,
11:17
it was a couple of years ago, we
11:20
sort of made the switch
11:22
and started using expo on all of
11:24
our projects. expo, it's kind of
11:26
had an evolution. There's
11:28
still people even in the React native world that don't
11:31
totally understand what expo
11:34
has become because what it used to be
11:36
was basically a tool that made
11:38
it easy to build
11:40
like a one off like POC
11:42
or starter app or something.
11:45
Yeah. It had very limited capabilities when
11:47
it came to native libraries
11:49
and extra stuff. And so
11:51
people felt like, oh, this is just like
11:53
a tool for novices or something
11:55
that you wouldn't actually use for a serious app.
11:57
And it still kind of has that reputation. even
12:00
though it's evolved a lot
12:03
beyond what it was in its early days. And
12:06
it has all these systems now for, they
12:09
call it continuous
12:11
native generation, CNG, which
12:13
means that the iOS and
12:16
Android directories, which are the actual
12:18
native apps that run on
12:21
your devices, are generated
12:23
on demand, basically,
12:27
based on what you can like. You have this
12:29
whole big configuration file and you can define all
12:31
the different things that you want in
12:34
your native configuration that it'll generate it
12:36
on the fly, which is a change
12:38
from the early days where you just
12:40
had that expo app, like you mentioned, and
12:42
that was a very static set
12:44
of native packages and you couldn't change it.
12:47
But now you have full control over what
12:49
native packages are installed and how everything's configured.
12:53
So you can do those
12:55
really complex mature production level
12:57
applications using expo the whole way
12:59
along. Yeah, this
13:01
site and the docs really make this look a
13:04
lot more mature. I mean, it always looked good
13:06
when it came out, the docs look good, but
13:08
this looks like a lot
13:10
different than what I remember in a very
13:12
positive way. Yeah, it's come a long way.
13:15
And like you said, expo is
13:17
really great for making
13:19
it easy to do builds, even
13:21
if you don't have a
13:24
full native environment on your
13:26
machine. Yeah, how does that work?
13:28
Do you need a Mac to build an iOS app?
13:31
So with expo, you don't. I
13:34
mean, everyone on our team does
13:36
because... Yeah. Yeah, but
13:38
you don't have to because
13:42
of the way they... First
13:44
of all, they have this whole EAS, which is Expo
13:47
Application Services, but it's a service where they do
13:49
a bunch of builds on the
13:51
cloud. And then you
13:53
can basically scan a QR code with your
13:55
phone to download
13:57
a development build. A
14:00
build pointing to a development server that's
14:02
live so you can do your native
14:04
development or your local development on A
14:07
device that's pointing to a server running in the
14:09
cloud and you don't need it actually
14:11
running on your machine. It's wild Okay,
14:14
is that what? Like
14:17
Google's IDX came out a couple of months
14:19
ago And they're like we have native
14:21
iOS previews and I was like how how are
14:23
they doing that? Is that what they're using? Do
14:25
you know I don't
14:27
know specifically but I wouldn't surprise me It's
14:30
probably what it is. They're not they don't have a
14:32
farm of iOS. No, I know they don't have
14:34
a camera pointed at them. Yeah Okay,
14:37
so I'm trying to understand and just like
14:40
put out the picture for anyone listening say
14:42
alright I'm a JavaScript developer. I'd love to
14:44
build a native application, right? So we talked
14:46
about there's packages that that are sort of
14:48
bridges to the native API So you want
14:50
to use native mapping you can still control
14:52
it with your JavaScript, but whatnot I'm
14:55
thinking about like alright. I started up. I got
14:57
Expo One of
14:59
the first things I do when I'm building an
15:01
app on the web is I have a router
15:03
right like it's different endpoints Because I have is
15:05
that an idea in react new is there a
15:08
URL that? Changes when
15:10
you when you go from tab to tab so
15:13
it's that's actually not an easy question
15:15
to answer because it it's The
15:18
answer used to be no. Okay, we use a A
15:22
library called react navigation, and it's
15:25
not you like it's not a URL It's
15:27
just like sort of like screens layered on
15:29
top of each other, so you'll have what
15:31
are called stacks So you'll have so you
15:34
have like tabs at the bottom like
15:36
each tab will be like a stack so if
15:38
you have like your profile tab you go to
15:40
the profile stack and then there's like maybe screens
15:42
behind that like edit and Create
15:45
and a bunch of related screens in that
15:47
stack And you kind of just like
15:49
put screens onto the stack or take them off
15:52
to go back, and it's a very like
15:55
physical analogy But
15:58
it was not URL based Oh
16:00
recently. Expo. as
16:02
the specifically. A guy named Evan Bacon at
16:05
Expo has been really involved in this. He's been
16:07
on our show a couple times, but. He's
16:09
come up with this package called Expo
16:11
Router which is actually built on top
16:13
of React Navigation. But.
16:16
It adds. A. You are
16:18
all based navigation. System.
16:22
Which. Means that it maps. One.
16:24
To one with a web application if you're
16:26
building and them in the same time. So
16:28
you can use a U R L and
16:30
go to it on your website. And
16:32
it will. If. You have your
16:35
app installed and you've set up all
16:37
the deep linking configuration the he needs.
16:39
It will go in your app to
16:41
that page to that record was whenever
16:43
I query string sassy that it. Based.
16:46
On the or l and watch the navigate based
16:48
on your allen It. It's still pretty
16:50
new. I'm trying out a couple times.
16:53
it's pretty cool by it's still a kind of
16:55
in that beta feeling. They've. Had
16:57
had a native apps normally if you're not
16:59
using like a your ralph myself all I
17:01
know in my life not a how to
17:03
native apps normally say i need to bring
17:05
you to this screen you. You literally
17:07
have like a a listener. Ah,
17:10
The old deeply into the app and now
17:12
be a listener. That. Figures
17:15
out what u r l was. Was
17:17
called and then you have some sort
17:20
of. Long nasa configuration that
17:22
says like okay of this is view of the
17:24
u r L parsed that get the thing and
17:26
then like. Navigate. To this
17:28
screen. With this parameter like it's in Mulberry
17:30
manual with going on a minor in the
17:32
do that you something called deep Links is
17:35
that related here? Okay yeah, I've heard the
17:37
word deep Links that live are generally what
17:39
the what me at the what what the
17:41
blinking means that is is going opening a
17:44
native app and then going several screens and
17:46
line. And.
17:49
If I have a bunch of. Reacts
17:52
Hooks that I've written and maybe
17:54
a couple React. Packages
17:57
that of and pm installed which
17:59
ones. The my able to use his
18:01
is anything that touches the dom as is
18:04
gonna Asi, you're not allowed to use
18:06
it but anything that's just logic in
18:08
terms of like stay in a Saxon,
18:10
all that good stuff. Oh yeah yeah. Anything.
18:12
That's that's not. Like.
18:15
Rendering you I components that would be using
18:17
the Dom. Is totally He is totally
18:19
fair game because I mean and at. The
18:22
react layer is. The.
18:24
Same. So. I mean
18:26
we're all the same hooks like he
18:28
stays effect on us. We. Had
18:30
the you I is kind of where it. Diverges.
18:34
The most know fuck about that then.
18:36
So you want to make a You
18:38
I And that's the point where you
18:41
diverged from. I write in javascript. I'm
18:43
comfortable with. It's ah, now we need
18:45
to make a button. I need to
18:47
make a layout. I need to put
18:50
this image and a specific thing. And
18:52
that's when he sort of realize, oh,
18:54
these are not Dom nodes. These are
18:57
native notes. Like right? Us? That's the
18:59
whole points. So what do you do
19:01
as I can? You use Css. Ah,
19:04
so reactive does not use. Css
19:06
that are actually uses its own
19:09
you I and and called the
19:11
yoga. By. Ultimately, it's it's
19:13
sort of a variation of
19:15
Css like success. It's
19:17
not. Quite the same with Css. I meant like
19:20
based on Flex. And. It's
19:22
just every component is pass
19:24
a style. Object. Nothing.
19:27
Is cascading. When
19:30
I say iowa. I'm
19:33
not a fan of have any anything. So
19:36
it's all very declared have. like. This
19:38
component gets the style, nothing's inherited. And
19:41
yeah, it's all it's. It.
19:44
Would be familiar to us if
19:46
you know Css, but slightly different.
19:48
Yeah there's enough. a little weird things but like
19:51
if you know if you're good at flex box
19:53
you'll be Go! Yeah I'll be. I'll be right
19:55
at home. Yeah. I think one
19:57
of the weirder things is that I think the
19:59
default flexed. Action? it is it. Yeah,
20:01
Harlem instead in a row? Yeah, that's
20:03
true. Which baby? And if you're talking
20:05
about I could, you're talking about mobile home
20:07
which is a vertical screen right? So
20:09
it makes sense that you would default the
20:12
have a things. Go. Into a call
20:14
and I. I. Was never truly have
20:16
a web developer before I started React
20:18
native. I was back and. Developer.
20:20
And so it's just normal to me. that was
20:22
his. Idea.
20:26
Oh, that's great, that's all you know.
20:29
So if you're writing. Styles.
20:31
For this type of thing, you're either
20:33
writing. Yoga directly or
20:36
do react native web
20:38
and. Tim. A gooey sit
20:40
on top of yogurt like do they
20:42
translate to either Css or yoga. Ah,
20:46
I don't one hundred percent nobody react
20:48
native for web yet you use. React
20:50
native styles and I'm guessing it translates
20:52
to. See. As I saw this
20:55
yeah yeah of were of yep been
20:57
and but we we used for acne
20:59
of thousands text for consistency. Yeah.
21:02
And in so when when you have
21:04
a a react native app and you're
21:06
doing sir just normal styling on it's.
21:08
How does that work Between Android
21:10
in Iowa, Us? Do the platforms
21:12
take over a little bit of
21:15
the styling themselves? I'm
21:17
not. Platforms basically do what you
21:19
tell them. Mom, You do.
21:21
You have to sometimes. Take
21:24
into account. Different.
21:26
You why? patterns? On.
21:28
The platforms. I mean like if you want to
21:30
make your to as exactly the same. You.
21:33
Can absolutely do that. I mean that. That
21:36
would would be what would happen by default if
21:38
you just. Made.
21:40
An app without without separated
21:42
but there are you live
21:44
patterns that Android users. And
21:47
Iowa users expect from their arms.
21:50
Get like Things like
21:52
like andrade. The headers
21:54
are usually less justified and said
21:56
of centered and and do. Things
21:58
like that like were. where buttons are
22:00
placed, there's slight differences like that.
22:03
And if you wanna be really pure
22:06
about adhering to those platform differences, yeah,
22:08
you're gonna have to have some conditionals
22:11
in place because the styles are just gonna
22:13
be, they're gonna do what you tell them
22:16
to do. There's not anything that Android's gonna do
22:18
differently automatically. Interesting.
22:21
And did I hear that React Native
22:23
was introducing their own JavaScript
22:25
engine or they had built their
22:27
own JavaScript engine? It's
22:29
not, or maybe it was, was
22:32
it Safari at one point, like the JavaScript
22:34
core? It
22:36
was JavaScript core and yeah, it was,
22:39
on iOS it was the Safari engine,
22:42
I believe. But yes, they wrote their
22:44
own engines, it's called Hermes. So
22:47
the JavaScript that you're running in React
22:49
Native does not match what
22:52
you would run in Chrome, which was actually
22:54
a problem for a while because they had
22:56
the debugger option that they
22:58
had would run in Chrome. And
23:01
they had all these issues where people
23:03
would have bugs happening in their app
23:06
that would not reproduce in the debugger because
23:08
it was running a completely different JavaScript.
23:11
Oh, yeah. And the React Native JavaScript
23:13
engine had fewer
23:16
features than the Chrome engine. And
23:18
so they don't really use the Chrome
23:20
debugger anymore for that reason, but they
23:23
built their own JavaScript engine called
23:26
Hermes, which is really
23:28
fast and really awesome. Man,
23:30
it's wild if you think about that there
23:32
are so many different JavaScript engines out there.
23:34
Oh, I know. And
23:38
does it have full support for JavaScript? Can
23:40
you use Async-A-Wait? Does it have everything in
23:42
it or do you have to wait for
23:45
things to be added? Yeah, it's
23:47
pretty modern. We got Async-A-Wait when
23:50
everyone else did pretty much. So
23:52
does this relate to all to the new
23:55
architecture of React Native? Is that a related
23:58
discussion? I
24:00
mean, everything is related to the new architecture, so
24:02
yes. The new architecture
24:04
is, until recently, if
24:07
you'd asked any given
24:09
React native developer probably couldn't have told you
24:11
the same answer, they've
24:14
been working hard to really
24:16
define what it is. Ultimately,
24:20
it's a change to the way that
24:23
the JavaScript code bridges to the native
24:26
code. Specifically, there was
24:28
a thing called the bridge, which
24:32
asynchronously sent messages from
24:34
JavaScript to native and
24:36
vice versa. And so there was
24:38
this little bit of lag, especially
24:42
for things like really long lists with a
24:45
lot of images. And there
24:47
was just this little bit of lag that put an
24:50
upper ceiling on performance
24:52
for React native. And they
24:55
have removed that entirely and come up with
24:57
this thing called, I think it's JSI, JavaScript
25:00
interface, which lets C++ actually
25:02
hold a JavaScript object in memory. So
25:10
it can like, yeah. I'm
25:12
not an expert on the new
25:15
architecture by any means, but that's sort
25:17
of like the crux of the change.
25:20
And it just, it opens the
25:22
door for a lot of new
25:24
performance changes, using
25:27
all the React 18 features
25:29
like suspense and stuff wouldn't have been possible
25:31
with the old architecture and the new architecture.
25:33
And it opens the door to a lot
25:35
of that stuff. I sincerely appreciate that overview
25:37
because I've been looking to
25:39
try to understand this new architecture
25:41
business for a little while. You
25:43
go to the new architecture working
25:45
group and oh man, it's
25:48
a total mess. You go to, let me
25:50
go to announcements or deep dive or documentation.
25:52
They all take you to just a GitHub
25:54
discussion where who knows what, like it's people
25:56
like posting. This has been like several years
25:58
of. of
26:00
normal people like ourselves trying to understand
26:03
what Meta is doing over there. Yeah.
26:06
And we know it's gonna be good,
26:08
but it's gonna struggle. We
26:11
hear that a lot from people that come
26:13
on the show where they're either doing Wasm,
26:15
or they're doing something in
26:18
a service worker, or they're
26:20
doing like a Electron desktop.
26:22
There's like this chasm that you have to
26:24
cross from native to JavaScript. And every single
26:27
time that you do that, there's
26:29
a little bit of a price to pay. Yeah. And
26:32
like obviously the benefit of that is you can
26:34
use JavaScript. So that's
26:36
interesting that they've totally. Yeah,
26:38
yeah, they've kind of married
26:40
those to a lot more.
26:43
So we're excited for that to land. It's finally kind
26:45
of creeping in. They're to
26:48
the point where most
26:50
of the third-party libraries that
26:52
are used by a lot of people are
26:56
newer architecture ready, basically. Because
26:59
native libraries need to do
27:02
a lot of changes because of
27:04
the way, because of the
27:06
newer architecture being about like how the JavaScript
27:08
and the native communicate.
27:12
Most packages that have native components like
27:14
your camera and your, you
27:16
know, things like that that have native components
27:19
need a lot of updates. And so
27:21
most of those libraries are ready now. That's
27:23
sick. And that kind
27:25
of leads nicely into a question I was gonna
27:28
have about like, if something like that big
27:30
change happens, is that going to break a
27:33
lot of older React native apps? Or do they see
27:35
that as just being like a drop-in and
27:38
fingers crossed just work? They
27:41
have done a lot of work
27:43
to make the transition as
27:46
painless as possible. Like they
27:48
built in compatibility for new and
27:51
old architecture kind of existing together,
27:54
knowing that a lot
27:56
of People are relying on React native
27:58
for their like.... For the
28:00
help the core business and they need
28:03
to not have it be interrupted. So
28:05
they're putting a lot of work into
28:07
sort of deprecating things really slowly and
28:09
you can turn on the new architecture
28:11
and. Still, Have it be compatible
28:13
with libraries that are not using the The
28:16
Arctic like. There's there's
28:18
a lot of stuff felton to
28:20
make it an easy transition. It's
28:22
they're they're not. leave anybody out
28:24
that other yeah there it is.
28:26
Funny because I didn't like as
28:28
I mentioned, added a course on
28:30
react native Mrs. way back in
28:32
my two thousand and ah man,
28:34
two thousand and fourteen maybe. Oh
28:36
wow, your allies Yeah and. I
28:39
was a bad choice. The Centers for
28:41
Headed was seen a lot and even
28:43
make expos changed. My life is our
28:45
efforts and ten or something like that.
28:48
It's sucked because I really I had put
28:50
like an eight hour course out and then
28:52
something changed in invalidate the whole thing like
28:54
a week later and ah over the lifetime
28:56
of course I got lot of. And
28:59
nose and know this is like early days.
29:01
A lot of people like mentioning any minor
29:03
update would break their app company and now
29:05
is on and deal like that on our
29:08
has a gun better not at all Yeah
29:10
I think the rounds. So.
29:12
We're on version seventy. Four years
29:14
when just came out. By. And
29:16
I would say probably around like.
29:19
Fifty. Or sixty. We.
29:22
Got to the point where. Major.
29:25
Update like version updates.
29:28
Or not break they they
29:30
didn't break anything. They. Really?
29:33
Gotten. Past the point where he her adding
29:35
new. Components or like
29:37
completely changing component A Be eyes.
29:40
It's. Really very stable now and there's.
29:43
A. You can see evidence of that was
29:45
just the number of. Big
29:47
enterprise companies that are Tuesday's It.
29:50
Now that they feel it's. Stable.
29:52
Mature. Man.
29:55
What about other platforms that React
29:57
native can can run on is
29:59
like. There's obviously Ios and Android those
30:01
are the two and supported ones, but
30:04
I often think both I owe us
30:06
features that are like a little nice,
30:08
like I was trying to build. I
30:11
got workout tracker for myself and I
30:13
ended up giving up because the watch
30:15
integration was the best and also I
30:17
can't do that with the web. I
30:19
can't I'd looked it up. I I
30:21
don't think you can do it with
30:23
React Native like Apple Watch. Maybe you
30:25
tell me if I'm wrong, but I'm
30:27
curious if there's other platforms that React
30:29
Native can run on. On, there's
30:31
quite a few now. I mean obviously
30:34
none are as. Supported. As
30:36
Alice and Gas and Web. But.
30:38
Like Tvs is. Is.
30:41
One of the bigger ones that they spore.
30:43
I mean Mack a lesson. Windows You can.
30:46
You can write apps using rak. The
30:48
is like Microsoft has wrecked native Mac
30:50
O S and Moran to reserve it
30:52
reality of Windows. It's ironic me that
30:55
Microsoft is on that maintains reacting. I
30:58
have three hundred had and have have
31:00
you use these before. Cia yet I've
31:03
played around with React The To Windows.
31:05
And we actually it internally have an app
31:07
that we're building easing react native Mac O
31:09
s and there. As a bit rougher
31:11
you have to deal. I'm a little bit more.
31:14
Like. Spelunking and discovery and
31:16
research. Yeah, when when things.
31:19
When. You get errors and things go wrong. But.
31:22
They're always. And. The
31:24
Roads. The react native team is always
31:26
really happy when people do stuff with
31:28
and tell them about bugs. Consented gets
31:31
little bit better every time, but really?
31:33
The beauty of react native is that. Any.
31:36
Platform: If someone wants to put
31:38
in the works, you can target
31:40
young Platform because it's just an
31:42
abstraction layer. And what's on
31:44
the other side? Is
31:46
whatever you wanted to be. When.
31:48
Apple first announced. The.
31:51
Vision Pro. Yeah
31:53
like somebody. Had a
31:55
React Native app running. In the vision
31:57
O. S. Like. The next
31:59
day. Maria like yeah
32:01
it. It, it really is just.
32:04
Who if there's someone putting the work
32:06
in the target a platform you can
32:08
do it regularly. We had their folk
32:10
and rate fast on which is a
32:12
Mac O S app launcher and productivity
32:15
apps and in order to to build
32:17
or a cast extensions it's React but
32:19
it's not to get his divorce rate
32:21
is nice name Id ah right they
32:23
have. They built their own render see
32:25
can use know node modules and everything
32:27
you want on the logic side but
32:29
once it comes to actually building the
32:32
interface of the plugin you have to
32:34
use their blessed components to build the
32:36
you I sat. Yeah. It's
32:38
Emily as a school. Like that am.
32:41
I. Think. There's I
32:43
think there's like fire stick. Support.
32:47
And I don't know how Watts but
32:49
yeah, the possibilities are endless. trying to
32:51
get out like a fire sticks for
32:53
her. Like of
32:55
my guys, not something I really would
32:58
love to do that and that that's
33:00
a show. I've been been trying to
33:02
find somebody for for a while and
33:05
that's all these apps that you install
33:07
whether it's on your Google Chrome, Cas
33:09
or it's on your name's on T
33:12
V. They're all built in. Ah,
33:14
A smell Css javascript and they all
33:16
work pretty good. Every now and then
33:18
I'm clicking through mine and I. I.
33:21
Get a little are a little slow
33:23
to respond to events and I'm tell
33:25
my wife like Alice thing is says
33:27
block is there block and the main
33:29
thread you know and I'm like it's
33:32
fine, I just don't click so fast.
33:34
ah man I think the cursor been
33:36
developer. Is easier when years.
33:39
When you're tech is an hour to
33:41
your lack of of money that he
33:43
half. Ah,
33:46
And hour detail is it takes a lot of restrained
33:48
for me to that to go to the Us, the
33:50
feedback and be i my gosh year your developers didn't
33:52
have a timer or you know as and sort of
33:54
a six year you'd yen and am. Curious
33:57
about like a good talking more about the. bridging
34:00
to native APIs because every
34:03
now and then you hit upon something. Often,
34:06
there's a web API for it. I was
34:08
doing some Bluetooth stuff the other day and
34:10
I dove deep into web Bluetooth, but
34:13
it's not like a standard API. A
34:15
lot of these really cool APIs will never
34:17
work on iOS. I'm
34:20
thinking Bluetooth or NFC,
34:23
things like that. What
34:28
happens if there is
34:30
no bridge for this type of thing? Or
34:32
what happens if the bridge that
34:35
you're using to the camera app or something
34:37
is not giving you the actual data you
34:39
need? Do you have to pull
34:41
up your sleeves and write a little Swift then? Yeah.
34:44
That's it. Yeah. I
34:47
mean, the answer is basically yes. We've had that
34:49
happen on a couple of our clients. More
34:52
often with the ones that are going from a legacy
34:55
iOS and Android app and trying
34:58
to recreate the exact experience
35:00
in React Native. There
35:03
was one on the
35:06
Mercari app where there was
35:08
a page that had this
35:10
specific parallax scrolling. Basically,
35:12
the image would zoom in a particular
35:15
way as you scroll. It was
35:17
a very specific little
35:19
graphical thing. The
35:22
iOS package that they were using
35:24
did not already have a React
35:26
Native wrapper built
35:29
by somebody in the community. The
35:32
answer was that we had
35:34
to build it ourselves. We
35:36
had to build what's called a config plugin, which is
35:39
basically we write some JavaScript
35:41
code and then some Swift code.
35:44
It basically just defines this little interface.
35:48
You'll have the JavaScript side, which is what your
35:50
React Native app will actually call. Use
35:54
this component or call this method. You'll
35:59
write some Swift code. that basically intercepts those
36:01
messages and says, OK, when this is called,
36:04
you're going to do this with stuff
36:06
and you're going to render this iOS
36:09
component like in the Swift. And
36:11
so you've just built this like basically
36:14
communication layer. OK.
36:16
And is it is
36:18
it almost like like a RPC? Like I know Scott
36:21
and I have been dipping into Scott,
36:24
what's the rust based electron alternative? Tori.
36:26
Tori. T-A-U-R-I
36:28
for everyone trying to Google it where it's
36:31
like, yeah, you can build desktop apps. It's
36:33
a little bit different. It's actually the opposite
36:35
of React Native where it's your UI is
36:37
built in HTML and CSS, but your back
36:39
end is is written in
36:41
Rust. And you can
36:44
do both of them to us. You could do
36:46
mobile apps. Yeah. V2 now. Obviously it's a WebView
36:48
Safari WebView. But yeah, the way that that
36:50
works is you can define like a hello
36:52
in Rust and you could just call
36:54
it in JavaScript like it's
36:57
magic. And yeah, is it similar to
36:59
that? Basically, I mean, at the end of
37:01
the day, yeah, it's basically the same idea.
37:04
You're just yeah, you just are defining this
37:06
layer that says, OK, when I call this
37:08
thing in JavaScript, I want you to do
37:10
this thing in native. OK.
37:14
And what about state management? Do you
37:16
just use do you use
37:18
Redux? Do you use you state? Do you
37:20
have any opinions there? I
37:23
have opinions. Yes. I mean, like we. I
37:27
have used Redux plenty. We
37:30
have clients that use it like I'm comfortable with
37:33
Redux. Our personal
37:35
favorite is MobX
37:37
Battery, which is it's like
37:41
a more strict version of MobX that has
37:43
like runtime type
37:46
safety. And I love it
37:48
because it makes me feel like my
37:50
rails days, like active record. It's
37:54
very object object oriented feeling.
37:57
You have like models that you run. Function.
38:01
On and it'll do a thing. functions and
38:03
stuff. Ah, And then you have
38:05
property Those efforts very much like okay I have
38:07
by. Widget or my use
38:09
or whatever. And. Like it has a
38:12
bunch of properties that I and I invoke.
38:14
Object? Yeah, and I. We just like that,
38:16
the feel of it and then it's. It's.
38:18
All it's all based on that mob
38:21
acts like observer. Pattern. So
38:23
your component of ethically becomes an observer
38:25
and and listens to. Changes.
38:28
In your store or model or
38:30
whatever. Yeah, it it's funny
38:32
because now it seems like a lot
38:34
of the javascript frameworks and our our
38:37
world are now going more towards that
38:39
observable kind of pattern signals. and in
38:41
that been. It ma backs has
38:43
been doing it for a long time and
38:46
only that but the people who like one
38:48
my bags but also my back state treats,
38:50
the people who liked the news that seem
38:52
to like really good or bad for it
38:54
for a long time when. yeah we've been
38:56
using it for costs. Six
38:58
Five. Six years. On
39:01
as it's not. A.
39:04
Super. Popular library. I mean like
39:06
we're we're kind of the most vocal
39:08
one's going back for it has redux
39:10
really dominates. Dominates the react
39:13
native. State Management
39:15
Space. But. We love it!
39:17
Having used like we leave every so
39:19
often will. Have. A product that uses redux and
39:21
will kind of revisit. Like. Were read
39:24
axes com and like what it's doing and. We.
39:26
Always comes We'll is compact malik
39:28
status feel right? Yeah, what?
39:30
What are some tools and libraries that
39:33
you install on most projects like up?
39:35
Besides maybe like Expo, you get up
39:37
and running like would he need? Ah
39:40
itself. From
39:42
the developer sides to like
39:44
looking in my like them
39:46
dependencies. Mom we use
39:49
just for testing does like
39:51
unit testing. We really love
39:53
Maestro for and and testing.
39:56
It. Actually like runs. The. App
39:58
Enlightened Does. I'm.
40:01
Low flow iraqi get tap on things and
40:03
yeah I can tell isolate tap on this
40:05
and my put this and then hit this
40:07
button yeah I'm but it it will actually
40:09
like pull up. Pull. Up your
40:11
device or simulator and dude. Do.
40:14
The thing that's very I'm. Like.
40:17
External to the app. It's not. It's
40:19
not time. Or. That black
40:21
box vs white box like are really have
40:23
any knowledge of the internals of your app
40:26
is literally just like a is used. If
40:28
a user wire tapping around the and with
40:30
they equivalent to that are space be like
40:32
Cyprus or play I'd yeah yeah yeah. So
40:35
that's actually pretty new to the space
40:37
that most people until a couple years
40:39
ago used. On detox.
40:42
Woods. Which is more.
40:45
Like. It they have a little bit
40:47
of knowledge of your application and it was
40:49
always really like flaky and kind of parental.
40:52
Ah, not very much fun to re and so
40:55
we've been really liking my sir recently. And
40:57
then for. Like debugging. We have a
41:00
tool that we ah the internet,
41:02
read, builds. We. Maintain It's
41:04
called Reacts Trans. Which basically
41:06
just gives you a. A.
41:08
Window into your app like it
41:11
has a a tab for. Ike
41:13
all the network activity as a tab for
41:15
all of the like. The
41:17
actions that are happening so. I'm
41:19
is depending on whether using redux or my
41:22
state feel. Pick a plugin for your state
41:24
management system and it will. Hook. In
41:26
and listen to listen for the actions that
41:28
are being. All of them like know on
41:30
the state chef snapshots that are. That's.
41:33
Even see your state and eighty him to him. On.
41:36
The jury which is really helpful. And.
41:38
You could actually like run. Coming.
41:41
Arms and. Like. Define person
41:43
commands and run them like oh
41:46
hey, reset my entire store like.
41:48
Navigate. To this one debugging page that
41:51
I always need to go to or log
41:53
in with this use or whatever your little.
41:55
Debugging. Were closer. Now.
41:58
And for all. You're probably
42:00
Bracknell doesn't have cookies right that
42:03
for Hauser, So are you using
42:05
like charities and sending them along
42:07
on with your request? Ah,
42:09
alive. And yes, yes, Cel. S
42:12
defend the what are back and is using. Ah,
42:14
Yeah, lot of our clients use. Like
42:17
Octa, Off. The Euro. Those.
42:19
Kind yeah providers by basically yeah
42:21
muscles I'm won't. Will. Be
42:23
given a Jwt and. We store that
42:25
in secure storage so I'd on the device
42:28
there's on. Iowa is the key chain. On
42:30
Android is something else. I can remember
42:33
the name of that, but there's a
42:35
secure place. To. Store things on your
42:37
device that associated to your app. And.
42:40
So will put the token in there. And
42:42
erase it from. Mike
42:44
memory. Fucker. And then,
42:46
ah, when the app load up
42:48
again, we basically fetchit from secure
42:50
storage again. Okay, and
42:52
that's where you put like environmental variables
42:55
as well, right? Like I saw, people
42:57
were just downloading React native apps and
42:59
finding that like like a tokens for
43:01
everywhere just isn't enough even though they're
43:03
not only are it's yes, Ah
43:05
yes, there's a lot of misunderstandings about
43:08
house. To. Keep your mobile
43:10
app secure. And that means of the the
43:12
answer is it's not. So.
43:14
If if you have something that
43:16
is really secret. Don't. Stress
43:18
in your ass. Supposed to
43:20
see an ad and surface?
43:22
basically. Whenever you can. You.
43:25
Should be storing the things on
43:27
your server and then having your
43:29
server control access. For. The app.
43:32
Jogger. Like through your user. I'm
43:34
anything that the. That the mobile
43:36
app is. It. Has
43:39
access you should be either. Not
43:42
secure like a public. Token.
43:45
Or something. or something that's
43:47
easily. Revoke. A ball or
43:49
has a sword x rays it like.
43:52
Things. that will not take your entire
43:54
system down as it is exposed because
43:56
yeah anyone can look in your binary
43:58
like him yeah Yeah,
44:00
they're actually following a Twitter account that just
44:03
breaks down iOS apps. Really?
44:05
It's really not hard. It's
44:08
shockingly easy. I'll
44:10
send you the Twitter account later because I
44:13
don't know it offhand, but they had tweeted
44:15
out recently, they were like some,
44:17
I don't know if it was OpenAI or somebody,
44:19
somebody's new app uses Git century. And I
44:21
was like, oh cool, good to see it. Oh
44:25
man. Yeah, I
44:27
guess like even if someone doesn't even
44:30
crack your application, like if
44:32
you put like an OpenAI token, that's what everybody
44:34
was doing. Oh yeah. And you're making
44:36
a request from the device
44:38
to OpenAI, you can
44:41
throw what, proxy man on and
44:43
it will proxy all the requests.
44:46
You can spy on it and see what's going
44:48
on. Yeah. Yeah. All
44:50
right. Don't keep secrets in your
44:52
app, please. Yeah. That's great. Actually,
44:55
I got one more question. It's like Facebook is
44:58
behind so many of these libraries, but
45:01
does, does Facebook use any, any
45:04
React Native anywhere? They do. Are
45:06
they just paying people to maintain it? They definitely do.
45:09
I mean, they built it for themselves basically and
45:11
then decided to open source it, but
45:14
there's pages within the Facebook app and
45:16
like the Instagram app that are React
45:18
Native. It's definitely not the entire app.
45:21
It's like little pieces. Okay.
45:24
And does, does Apple hate React Native?
45:27
I remember in the early days, people were, had
45:29
a hard time getting their apps approved. That was
45:31
a long time ago. Apple does, they don't
45:33
because ultimate, at the end of the
45:35
day, there's no, like
45:39
it's a native app. Yeah. You
45:43
wouldn't really be able to tell much difference. Like
45:45
the code that they're getting submitted is not
45:49
that different from the code that
45:51
the native developer would write. So
45:53
we've never had any problems. Yeah. As long as you're
45:55
not like remote updating it. I know they don't like
45:57
that, right? They don't like that. it.
46:01
Oh, really? But they
46:03
don't like it. Yeah.
46:05
Expo has a
46:08
has a system called EIS updates, which does
46:11
remote updates and then App Center, Microsoft
46:13
App Center, which is actually being sunsetted,
46:17
was the original, they
46:19
had their package called code
46:21
push, which does remote updates.
46:23
And I think they're actually keeping code push
46:25
around the rest of app centers getting sunsetted.
46:27
But but yeah, it's
46:30
been around for a while. And I think they're somehow getting
46:32
around the app store because people still
46:34
use it. But Apple's not a huge
46:36
fan. I don't think they found a
46:38
way to outright ban it though. Yeah,
46:41
remember, what was the Adobe one was when
46:43
they didn't allow flash on
46:45
the iPhone and then Adobe made some sort
46:47
of like flash based iOS app builder. Yeah,
46:49
what was that called? Adobe error. Yeah, they
46:52
banned that very quickly. Yeah. Yeah,
46:54
I mean, the app store is always
46:56
you just have to work work around
46:58
their shenanigans. Yeah. You
47:01
have like a telephone you can pick
47:03
up that's connected directly to somebody at
47:05
Apple. I wish you're not that high
47:07
up yet. No, we definitely do not.
47:10
You we have to wait in line like everyone else. Oh,
47:13
man. All
47:16
right. Well, let's we'll have a couple questions for
47:18
you. Supper Club questions.
47:20
And I'm actually curious if
47:23
you use iOS or Android. Oh,
47:25
iOS 100%. 100%
47:29
Yeah, just how come?
47:31
Well, I mean,
47:34
I've I started with iOS.
47:36
And I've just always been in that universe. And
47:38
because I like I use Mac OS for work,
47:41
it I just love that everything
47:43
integrates. And it's just the
47:46
UI is pleasing to me. It's
47:48
very aesthetic and yeah, easy to use.
47:51
And everything is kind of iOS
47:53
first and Android second. So
47:56
everything is very much
47:58
like that still. Yeah. I will always
48:01
an Android guy for very long time but I
48:03
used max everything else and it's environs I got.
48:05
I'm really fighting the system at all the time
48:07
here to get these things the task of
48:09
sellers I did all the way I whenever I
48:12
try to get my i have about Android devices
48:14
that I used for development and then time I
48:16
try to get. A screenshot.
48:19
From. My test. To
48:21
my. Is just
48:24
like announcer early are. Other
48:27
there so difficult. The. Apple
48:29
one always breaks on me to this
48:31
shared keyboard I use that. Every
48:33
time I posted tic toc video it's died
48:36
and right the captain i'm a computer
48:38
a copy it and then i try
48:40
pasted on my phone and it stopped working
48:42
and it always stops working it is
48:44
then randomly since yeah is so frustrating
48:46
to find a nice apples or for me
48:48
to do as the other direction. Yeah
48:51
I worked on the other direction I can
48:53
not be on my phone and paid yeah
48:55
my max and then you like look into
48:57
it and it's like try signing out yes
48:59
yes and food your phone maximize and I
49:01
hate those. I had one of yesterday with
49:03
my air pods the know that you need
49:05
duress this is a disconnect them in for
49:07
get them and and redo the bluetooth connection
49:09
with us up in a six. Best that
49:11
a problem that I guess the as I
49:14
don't know what's more depressing is stumbling upon
49:16
an Apple Forum for I google for on
49:18
now I say alpha example I am not
49:20
gonna help yeah those. Are the worry?
49:22
apples and oranges are so hopeless
49:24
there as well as. Classes.
49:27
Gonna die. Syria is only my
49:29
gosh is what what text editor
49:31
D used for writing react native
49:33
apps ah vs code is. As.
49:35
Everyone I doubt it as Rothys of
49:37
uses he echoed. really. Maybe with there's
49:40
a couple exceptions, but yeah, it's. It's
49:42
very, very well integrated sport, and it's
49:44
almost at this point, like. That. A
49:47
blessed editor for react mean I really yeah
49:49
house and the if the open access code.
49:52
Ah, I'm. a
49:55
couple times and maybe i don't a place
49:57
i don't have to open it to do
49:59
build Except
50:02
accepting maybe once in a while.
50:04
It's rare, which is good because
50:06
it eats up my ram Yeah,
50:09
it's it's a it's a hog. We had Jen
50:11
Simmons on and she gave us a tip that
50:13
you can install Xcode Install
50:15
the simulators, which is almost what
50:17
we need. Yeah web development simulator and then
50:19
you can uninstall I didn't even know I
50:21
could do that. It's like 400 gigs or
50:23
something like that. Yeah, there are times when
50:25
you eat it But it's yeah a few
50:28
and far between. All right Let's move into
50:30
the last section that we have here, which
50:32
is sick pics and shameless
50:34
plugs Did you come prepared with a
50:36
sick I did I read I did
50:38
my homework I'm
50:40
good. Most people do not Believe
50:47
me if there's anything I can read beforehand to
50:49
prepare for things believe
50:52
I've read it Yeah, my
50:54
sick pic is For
50:56
awesome socks, which if your
50:58
audience is pretty nerdy, they may already know
51:01
about awesome socks. It's It's
51:03
a service started by Hank and John
51:06
Green And
51:08
it's a description service for socks. It's
51:10
exactly what it sounds like. This is
51:12
very very funny Are you trolling me
51:14
right now? This is no
51:16
no The
51:19
story great you're not trolling
51:21
me right now. I am NOT. Okay, so
51:23
let me tell the story so on On
51:27
Friday on Saturday, I bought 75 pairs of white socks All
51:33
exactly the same and I tweeted out Like
51:37
just getting one kind of sock and that's
51:39
it is is the best
51:41
like life hack ever It's like such
51:43
a life improvement and that we blew
51:45
up Nine million
51:47
impressions on it opinions.
51:49
Yeah, so many opinions
51:51
Hank Green No, we'd
51:54
say it Says
51:56
I strongly disagree or whatever.
52:01
M M M of the next day he
52:03
sends me a Dm and says hey. You
52:05
are thirty pairs of different. Ah
52:08
says he has. He has
52:10
the sled company that makes
52:12
awesome Saw yes and died
52:15
they our loss. All the
52:17
money goes towards what is
52:19
a good.store Oh yeah only
52:21
moviegoers air the yeah. On
52:24
the softener Larry very nice. They're very
52:26
comfortable and it's a little surprise in
52:28
your mailbox every month. I love it,
52:30
but that is Robyn Money or I
52:32
like my right now and probably why
52:35
the As A Down as such as
52:37
I had a great moment because of
52:39
just you Will does not exist. I
52:41
mean, it's so incredibly perfect. So significant.
52:43
Asus Deluxe is there a tweeted elegant
52:45
hour ago of a bribe for you?
52:47
Came on. that's a little my gosh,
52:49
no way I follow you on Twitter
52:52
as. I'd like I'm kimberley. I miss
52:54
this. By. Yes, his insistence morning
52:56
or throw the Lincoln that oh no
52:58
on in the chat for everybody. So
53:00
much great of that I thought for
53:02
sure you're trolling. A.
53:08
Great. But. I
53:10
would have I see most plausible was
53:12
your name was plug authentic a couple
53:15
in here He did have made us
53:17
ah so first. Of all my company
53:19
isn't read. Incident.read if you're
53:21
looking for react me the work.
53:24
Ah we both thought you Also we
53:26
host every year we host Scenery Act
53:29
which is are reacting conference the only
53:31
one base and us. On
53:33
so it's in Portland. July seventeenth for
53:35
the nineteenth. You. Can get
53:38
tickets. Now and as he is, the
53:40
Discount code syntax. Who
53:42
are. Or how much. Higher
53:45
temps are. Some. Said awesome
53:47
sir I own food over your
53:49
i don't read a success for
53:52
instance. ah. Yes, the that yet. July Seventeen,
53:54
Two, the nineteen them for and we'd love to hang
53:56
out with you. Amazing! And of course
53:58
react Native radio. l yes Yes,
54:00
and how can I forget? And
54:03
yes, React Native Radio, wherever you get your podcasts,
54:06
check us out, subscribe if
54:09
you please. We release
54:11
episodes usually once a week. We
54:14
talk about everything React Native. So, give
54:17
us a listen. It's
54:19
wild to me that 300 episodes on just React
54:21
Native. Scott
54:25
and I talk about everything web development back
54:27
and front end and whatnot. That's
54:30
very impressive that you can do so much
54:32
content on it. But it just goes to
54:34
show how deep native apps is and how
54:36
it is. It's literally its own thing. This
54:40
is, here's one little quick thing before
54:42
we go. I was really impressed by
54:44
your .red top level domain. Yeah,
54:46
that's... I'm pretty sure our founder went
54:49
and, like, as soon as .red became
54:51
an available domain,
54:54
he like went in and snatched it up. Yeah.
54:57
So, here's a question for both of you. How many
55:00
color-based TLDs do you think
55:02
exist? Oh. A little bit
55:04
of stumped. Yes. How many
55:06
color-based TLDs? I mean, how many
55:09
colors are there? I didn't
55:11
say color. I say
55:13
four. There's
55:15
definitely a .black. There
55:17
is a .black. Yeah. .blue?
55:20
There's a .blue. There's
55:22
a .red. Oh, that would be
55:24
.green. .green. No. Really?
55:27
Like, anything eco-environmental? Yeah,
55:30
you're right. So, here are some odd
55:32
ones that you might not expect. There's
55:35
only seven, okay? But out of those seven, one
55:37
of them is .navy. One
55:40
of them is .... Navy makes sense. Does
55:42
the Navy use .navy? I think it's four colors,
55:44
specifically. There's
55:48
a .gold. There's a .pink. So
55:52
you guys got all of them except for
55:54
gold, navy, and pink. Wait,
55:57
we Got more colors than just... Read.
56:01
So there's black, blue, gold, green, navy,
56:03
pink, and right. No, not infinite, right.
56:05
I'll by saying just to in jail
56:07
yet. We'll just now. That's.
56:09
A That's a kind of some that's. Kind.
56:11
Of odd choice is to me and I get a mini
56:14
of either, but. Yeah. There's no
56:16
doubt yellow. There's no. Dot.
56:18
Or yeah, why? Why some? No doubt
56:20
about others, are you going to add
56:22
yellow? It's humbly he got us expensive dirty
56:24
air. We have a whole so on
56:26
how to get your own sealed. The
56:28
So is is is it's not owned
56:30
by the government. but yes. It's.
56:32
Intentionally meant to
56:34
target government. Interesting
56:37
Navy's which is thank you. How
56:39
many. Senses of
56:41
an easy U S.on one of Aids
56:43
San. And Or.navy. Has
56:47
done. Oh well,
56:49
Thank you so much Robin! This has
56:51
been a blast! I have really enjoyed
56:53
a Haven't Me. Wicked.
56:55
Or thanks again.
Podchaser is the ultimate destination for podcast data, search, and discovery. Learn More