Podchaser Logo
Home
773: React Native with Robin Heinze

773: React Native with Robin Heinze

Released Friday, 24th May 2024
 1 person rated this episode
773: React Native with Robin Heinze

773: React Native with Robin Heinze

773: React Native with Robin Heinze

773: React Native with Robin Heinze

Friday, 24th May 2024
 1 person rated this episode
Rate Episode

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.

Rate

Join Podchaser to...

  • Rate podcasts and episodes
  • Follow podcasts and creators
  • Create podcast and episode lists
  • & much more

Episode Tags

Do you host or manage this podcast?
Claim and edit this page to your liking.
,

Unlock more with Podchaser Pro

  • Audience Insights
  • Contact Information
  • Demographics
  • Charts
  • Sponsor History
  • and More!
Pro Features