React Native Radio

RNR 232 - Flutter is better than React Native...in all the ways that don’t matter

Episode Summary

Robin, Jon Major, and Jamon discuss Jamon’s recent article, “Flutter is better than React Native…in all the ways that don’t matter.”

Episode Notes

Robin, Jon Major, and Jamon discuss Jamon’s recent article, “Flutter is better than React Native…in all the ways that don’t matter.”

This episode brought to you by Infinite Red! Infinite Red is a premier React Native design and development agency located in the USA. With five years of React Native experience and deep roots in the React Native community (hosts of Chain React and the React Native Newsletter), Infinite Red is the best choice for your next React Native app.

Helpful Links:

  1. Jamon's blog post “Flutter is better than React Native…in all the ways that don’t matter"
  2. Hacker News comments

Connect With Us!

Episode Transcription

Todd Werth:

Welcome back to React Native Radio Podcast. Brought to you by Tickle Team, a new team building service utilizing the ancient art of tickling. Episode 232 Is Flutter Better Than React Native.

Jamon Holmgren:

It is St. Patrick's Day as of the recording, at least, so happy St. Patrick's Day to both of you. Are you wearing green? I need to ask.

Jon Major Condon:

No.

Jamon Holmgren:

No and no, really? I am wearing green.

Jon Major Condon:

I have a lot of green in the office though. Yeah. Green is my favorite color, but I also don't have green in my wardrobe. It's basically black and grays.

Robin Heinze:

Can you really call it your favorite color then?

Jon Major Condon:

Well, yeah, I mean my keyboard.

Robin Heinze:

I don't know if you can make that claim.

Jamon Holmgren:

So my wife Kira outfitted me. She actually is a little bit Irish, I guess. And she outfitted me with something special. People in the audience are not going to be able to see this.

Robin Heinze:

Oh my gosh.

Jon Major Condon:

Oh, there you go.

Robin Heinze:

I say I can't-

Jon Major Condon:

Can I touch this?

Robin Heinze:

Is that a Gaelic word?

Jamon Holmgren:

Can't pinch this.

Robin Heinze:

Oh, can't pinch this. Ah, that's smart.

Jamon Holmgren:

It's my socks. Yeah. I have green socks that say "can't pinch this."

Robin Heinze:

I actually have kind of a vendetta against St. Patrick's Day for a long time.

Jamon Holmgren:

Really?

Robin Heinze:

I would always, I mean, like into adulthood. As a kid, it was fun. But into adulthood, I would always forget that it was St Patrick's Day and go to work. And not be wearing green and then be pinched all day at work by my coworkers. And I hated it.

Jamon Holmgren:

I feel like that's probably less of a thing now. Like you can't really do that. Right? Like that feels like it's problematic.

Robin Heinze:

I mean, this was like five year, maybe five years ago. So the only difference would really be COVID.

Jamon Holmgren:

Before Infinite Red.

Robin Heinze:

Before, yeah. I mean, I don't work, Infinite Red doesn't really have an office.

Jon Major Condon:

Virtual pinch.

Jamon Holmgren:

I would never pinch a coworker.

Robin Heinze:

Right?

Jon Major Condon:

Same here.

Robin Heinze:

That's how I feel about it. And so it was just obnoxious. So yeah. I have some hard feelings about it. But now that I have kids, it's fun to get them all dressed up and-

Jon Major Condon:

Okay. Okay. Somewhat random. But speaking about pinches and now thinking about virtually, do you remember when Facebook had their poke feature?

Robin Heinze:

Yes.

Jamon Holmgren:

Yes.

Robin Heinze:

I was about 14 when Facebook really took off. So if you can imagine high school was like, that was four years of like early Facebook. And so there was a lot of poking.

Jamon Holmgren:

Yes.

Jon Major Condon:

That's hilarious.

Jamon Holmgren:

Yeah. It's just it, I don't know who made that feature, but I guess they probably got some, I wonder when did it go away?

Jon Major Condon:

It just went like-

Robin Heinze:

I don't remember. I definitely had a poke, back and forth poke war with my high school boyfriend for years. Just constant, like poking back and forth.

Jon Major Condon:

Oh yeah.

Jamon Holmgren:

It sounds like about the maturity level of a high school relationship. Well, welcome to everybody in the audience. It is probably well past St. Patrick's Day wherever you are, but happy St. Patrick's Day to all of you. Anyway, I'm Jamon Holmgren, your host and friendly CTO of Infinite Red. And I'm joined today by my Intrepid co-hosts, Robin and Jon Major. We tried to find like a Gaelic or is it Gaelic?

Robin Heinze:

Yeah.

Jamon Holmgren:

Like an Irish word that would work for that. And all of them sounded like either I couldn't pronounce them or they sounded vaguely like, I wouldn't be able to really pull it off. So we just went with Intrepid. I think that works.

Jon Major Condon:

I like it makes me feel like you're noble steed. Yeah.

Jamon Holmgren:

You know you can just say noble, you don't have to go with the steed part.

Jon Major Condon:

I don't know. It just seems like, you'd say that for like a horse.

Jamon Holmgren:

That's true. Actually.

Robin Heinze:

You just called Jamon and a horse.

Jon Major Condon:

No, I'm the horse in this case. I'm the-

Robin Heinze:

Oh, okay. You're, if you call yourself a horse, then it's okay.

Jamon Holmgren:

Mazen is still out on paternity leave, in speaking of another Intrepid co-host but yeah. Robin is a senior software engineer located in Portland, Oregon, works at Infinite Red, specializes in React Native. How are you doing today, Robin?

Robin Heinze:

Oh, you know, I'm okay.

Jamon Holmgren:

Just okay.

Robin Heinze:

Just okay.

Jamon Holmgren:

Intrepid, but okay.

Robin Heinze:

Not the best night of sleep. Every night is a little bit different as far as how much sleep I get.

Jamon Holmgren:

That's really kind of the big thing.

Robin Heinze:

Definitely.

Jamon Holmgren:

And then we have Jon Major our Intrepid, not a horse. He's actually human being, co-host lives in Jamesville, Wisconsin, is a senior software engineer here at Infinite Red, also works on React Native. He's also the editor in chief of the React Native newsletter. What's up, Jon Major.

Robin Heinze:

Oh, not a whole lot. It's been nice and sunny here. It's in the sixties.

Jamon Holmgren:

Good.

Robin Heinze:

And I got my coffee, so I can't complain.

Jamon Holmgren:

Awesome. Been driving your truck.

Jon Major Condon:

Yeah. I mean, I wish I could just work out there. I mean, I could.

Jamon Holmgren:

Just from your truck.

Jon Major Condon:

Yeah.

Robin Heinze:

Yeah. We should. You should podcast from your truck sometime.

Jon Major Condon:

I should.

Jamon Holmgren:

You know, that would be a really good like sound insulation thing. Right?

Robin Heinze:

Here you go.

Jon Major Condon:

Yeah. Challenge accepted.

Jamon Holmgren:

This episode is sponsored by Infinite Red. Infinite Red is a premier reacting of design and development agency located fully remote in the US and Canada, nobody in Ireland at this point. If you're looking for React Native expertise for your next React Native project, hit us up. You can learn more on our website, infinite.red/reactnative. And don't forget to mention that you heard about us through this podcast. We are hiring, go to careers.infinite.red if you are senior level R Native engineer locate in the US or Canada.

Jamon Holmgren:

All right, let's get into our topic for today. The topic is Flutter better than React Native, or really, this is all about my blog post. Flutter is better than React Native in all the ways that don't matter.

Jon Major Condon:

Bold.

Jamon Holmgren:

A bit of a provocative title. And it's something I've said before.

Robin Heinze:

Provocative or click bait?

Jamon Holmgren:

I like, I prefer provocative.

Robin Heinze:

It's both, it's both.

Jamon Holmgren:

It's a little click baity. I sent it to my family and my sister was like, wow, I don't even really care about that topic, but that title makes me want to click on it and see what it does.

Robin Heinze:

It's a very good title.

Jamon Holmgren:

I think it was. And I think it's something that has been, there's some truth to it too. It's not just like, oh, this is going to catch some attention, but there's some truth to it too. So yeah, I mean, I wrote this blog post.

Robin Heinze:

We've talked about Flutter on the podcast before.

Jamon Holmgren:

We have.

Robin Heinze:

And I believe you mentioned that phrase at the time, it's kind of something you believed for a while.

Jamon Holmgren:

Probably back to, I don't know, 2019 or something like that. I think I found a tweet, something along those lines way back three, four years ago.

Jon Major Condon:

So how did the pot get stirred into writing this blog post?

Jamon Holmgren:

Well, I don't know. I actually tweeted out, should I write a blog post titled Flutter is better than React Native in all the ways that don't matter. And it was kind of just a joke, and I've said this before, so I didn't really think it would get much attention. It's like, oh, Jamon's on his horse again. He's talking about this. It's not me everybody. His Intrepid horse.

Robin Heinze:

It's either that or TypeScript.

Jamon Holmgren:

Type script, which I'm not going to, I'm not going to talk about as much anymore. I'm just tired of that one. But yeah. And all of a sudden it just took off and it was just like, just kept getting notification. People replying saying yes, please. I want to read this. Yes, please, please write this. And a few people saying, no.

Robin Heinze:

I saw that. I was reading through the replies and there were literally people that just took the time to reply to the tweet to say no.

Jamon Holmgren:

No.

Jon Major Condon:

N-o.

Jamon Holmgren:

I appreciate them going against the tide there. But there were a lot of people who said yes. And so it, I'm almost 700 likes or something. And so I was like, okay, I guess I got to write this. And so it took me, I think, three weeks to write it. I wrote a pretty good chunk of it in about three days. And then I was just like, I really want to take my time and do this right. Because if I'm coming at it from obviously host of React Native Radio, we do React Native at Infinite Red and all the different things. I don't want to come at it and be, just be like, oh, this is another rant piece by a React Native developer.

Robin Heinze:

So I'm super curious what your writing process was like and how you did your research.

Jamon Holmgren:

Well, I sort of had, from the very beginning, I had the general gist of, and I'm going to spoil the article for you folks that have not read it yet, but the thing that matters in this sort of debate between Flutter and React Native isn't all of the technical stuff. It's really about stuff that's more business concerns like being able to hire JavaScript developers. That's a huge deal where obviously Flutter uses Dart. And then also being able to share with web and share, not just code, but also knowledge and developers and things like that. So huge, huge, huge, kind of like elephant in the room. It just kind of dwarfs everything else. So this was the general thesis and what I wanted to do, because I've been, as I've been following Flutter and Flutter two and React Native, of course I've been seeing that there are pieces of what that, like what Flutter does that are generally, I guess, fairly accepted as being a little better at least than React Native.

Jamon Holmgren:

And so I just kept thinking to myself, but that doesn't matter, but that doesn't matter, like this stuff is kind of a side, it's a little bit of a distraction unless it's like a gigantic lead. Maybe if there was something that was just a huge, huge jump forward that you just couldn't ignore, but really all things considered, being able to have your React developers work on your mobile app was just so huge and React of course is massive. It's arguably the biggest framework, not just web framework, but framework in the world. Some people will say WordPress and jQuery will take that, but maybe it's arguable. So with that in mind, I went into it thinking, okay, I'm going to list out all of these things that I've heard over the years and kind of research and seen that generally speaking have been acknowledged as Flutter is doing a better job.

Jamon Holmgren:

And things that come to mind are performance, developer experience, things like that. So I went out there for my research. I went out and did a bunch of just Googling for all the different articles that have popped up over the years on Flutter versus React Native. And I got a bunch of them from React Native developers from Flutter developers, from people who have done both. Some are just pure rants. Some are shallow comparisons. Some go a little deeper in some ways into things like performance and stuff like that. And I read them all and I just kind of like got a very good sense for where the community seemed to be at, at least what was published. And with that, then I just started listing things out. I started just kind of going through and writing things like performance, developer experience.

Robin Heinze:

To all the things that don't matter.

Jamon Holmgren:

Yes, exactly.

Robin Heinze:

Because all the things that don't matter took the most research.

Jamon Holmgren:

They sure did. Yeah, they absolutely did. Cause I can't just go out there and say, oh, Hey, none of these things matter and I'm not even going to talk about them. I kind of wanted to actually know what I was talking about because really at the end of the day, these things do matter. But as long as the two frameworks are close enough, it's something else that takes the cake there. Native integrations was one internationalization built-in navigation. Web support was a big one that actually went more for React Native. Third party libraries, and what companies are using it. Code [inaudible 00:12:04] push, all of this stuff. So with that in mind, I basically wrote all of those things and I explained like how they're so close to each other and which one I thought gave the edge and things like that.

Jamon Holmgren:

And then toward the end, I was like, but none of that stuff matters because what really matters is hiring. What really matters is sharing your code knowledge and developers with your web team. And I sent it to a number of people and I really tried to pick out Flutter developers primarily. People that really knew Flutter and had opinions, but also were reasonable people. People that wouldn't just rant at me. And I also sent it to [inaudible 00:12:42] Gant, Gant LaBoard, who is one of my business partners here at Infinite Red, and Gant gave me some great advice. He said, as I'm reading this article, I'm two thirds of the way through and I still don't know what matters. And I'm like, oh wow, okay. Yeah. That's a good point. People are going to give up and they're just going to get the wrong impression here. I really want to hit this point. So I went back and started rewriting the article and I started off with the thing of what does matter. And I started off with this is what matters.

Robin Heinze:

And if you care about all the rest of it, you can keep reading.

Jamon Holmgren:

Exactly. Yeah. So that was a really good piece of advice from Gant. I loved that. Thank you, Gant. That was awesome. It really made the article in my opinion, because the way I was coming at it was more from a like, oh, I'm going to build very slowly. And then at the end kind of hit them with something big. It's like, no people don't have the attention span for that.

Jon Major Condon:

I like that.

Robin Heinze:

Gant is a showman.

Jamon Holmgren:

He is.

Robin Heinze:

He's a showman. And he writes a lot of really excellent talks and articles. Gantt is really a showman. He writes a lot of really excellent talks and articles. He's also a part of Toastmasters [inaudible 00:13:53] , he's actually distinguished, which is the highest honor you can get on in Toastmasters. So he's very good at conveying ideas in a provocative and entertaining way. So he was a really good person to go to for feedback.

Jamon Holmgren:

Absolutely. I love running these articles by him because I know I won't just get like, Hey, you missed a period, or you need a comma here or something. Like he gives me actual like actionable, very good advice. Anyway, it was great because it really kind of made the article. The other thing was I sent it to all these other Flutter developers and they gave me very thoughtful replies and it was like, you make this claim here, but I don't think that's true.

Jamon Holmgren:

And so I'll give you an example of this. I was making the claim in one of the early articles that Flutter's accessibility features were behind React Natives because I was sort of making that assumption because they were having to rebuild these things from scratch. And I had seen some people say this out there in the wild. And instead of relying on the platform, primitive like UI elements that already have accessibility baked in. And one of them got back to me and said, that's not totally true. They've actually done a pretty good job of rebuilding those. Yeah. They had to rebuild them, but they did a pretty good job and they have accessibility features built into Flutter. So I revamped it to be more fair to Flutter. And I got all kinds of advice like that.

Robin Heinze:

I would argue it's even, it's not only fair to, it's not only fair to Flutter. It falls in Flutter's favor a lot in the ways that don't matter. Which I think really reinforces your unbias like that you're approaching this unbiased. You're admitting that Flutter is technically better.

Jamon Holmgren:

Yeah. Yeah, exactly. And I really wanted to come across fair because I did feel like people would probably, if I fairer to both Flutter and React Native, that people would take it more seriously, like you said. And I wanted it to be kind of, I really haven't seen like a really fair treatment of this topic or at least at any deeper level. So

Robin Heinze:

Cause you don't, I mean, people are either React Native developers or they're Flutter developers. It's going to be exceedingly rare that you have someone who's really done both and knows both really well. And so you're always going to know one better than the other. So I think it was really, really good that you got so much feedback from people who write Flutter apps every day.

Jamon Holmgren:

Absolutely. I do have to call out one person who does both React Native and Flutter regularly for his job. And that's Andrew Gabriel. And he did a really great job of giving me feedback on that too, gave me some stuff that I was able to, like almost like copy and paste into my article is so well written to me. It was fantastic stuff. Of course, people want a conclusion of course. And so I did give, obviously there's the what matters part, which I think does lean it in React Native's direction. I also tried to give the nuance of it depends on context. Like if you're a Java or an Android shop and or you need like a unified fluid UI, then Flutter makes a lot of sense.

Jamon Holmgren:

If you are already using React or even JavaScript a lot in your business, then React Native makes a lot of sense. So I feel like, it kind of gives you, it's more of a contextual thing to be honest. So after writing and rewriting and getting lots of feedback and kind of just doing the best I could, I finally got it to a point where I felt like it was pretty good. And I got some, some graphics from our amazing designer, Jenna Fucci.

Robin Heinze:

Really great graphics. I was really impressed.

Jamon Holmgren:

It's a new style. We're actually floating a new style on our blog now. So if people look at older articles, they'll see a slightly more cartoonish look and we're now, this is a little more kind of gritty a little more, I don't know. It's-

Robin Heinze:

It's like, it's a little bit surrealist.

Jon Major Condon:

Yeah.

Jamon Holmgren:

Yeah. Exactly.

Jon Major Condon:

Jenna had sent me-

Robin Heinze:

Avant garde.

Jon Major Condon:

Jenna had sent me a cover for my blog post coming out and she called it's a half tone effect.

Jamon Holmgren:

It's very cool.

Jon Major Condon:

It is very cool.

Jamon Holmgren:

Yeah. Definitely at the artwork. It's all custom for the article. So...

Robin Heinze:

Jenna has such a cool job. Sometimes.

Jamon Holmgren:

I know, right.

Robin Heinze:

Sometimes I wish I had like pursued design, like graphic design.

Jamon Holmgren:

Yeah. It is a cool job. Yeah. I don't know. It's awesome. And it's like, it just made my article so much better.

Robin Heinze:

Right. It just like pops out. It's so cool.

Jamon Holmgren:

Yeah. So I tweeted it out and it got a good reception and I was kind of surprised it was mostly positive feedback, like 90% positive feedback. And then yesterday, Brian noted, Hey, you've hit the front page of Hacker News.

Jon Major Condon:

Yeah.

Robin Heinze:

It was like number 24 on Hacker News.

Jamon Holmgren:

Yeah.

Robin Heinze:

Which is barely the front page.

Jamon Holmgren:

Right. It just kind of snuck on there. But then as we watched, it went up, up, up, up, up.

Robin Heinze:

Literally five, like five minutes later, by the time I saw the slack post saying, oh, Hey, you're number 24 on Hacker News it was at number 11.

Jon Major Condon:

Yeah. And then went to two pretty quick after that.

Jamon Holmgren:

Number two overall. We couldn't dislodge the number one, but we did get up to number two on Hacker News. And that was a pretty cool experience. I've been on the front page of Hacker News once before. This was in like 2012 or something like that for a would be library that I wrote. But this was a cool experience getting up there. Of course you're going to get, you're going to get comments. If people have opinions about stuff like this.

Jon Major Condon:

152.

Jamon Holmgren:

We had over 150 comments.

Robin Heinze:

There were some fun troll comments.

Jamon Holmgren:

Yeah. What was one of them, Robin?

Robin Heinze:

The one that sticks out that was at the pretty much the bottom, the whole time referred to JavaScript developers as script kiddies.

Jamon Holmgren:

We're talking about quality developers, not script kiddies.

Robin Heinze:

It got downloaded very heavily.

Jamon Holmgren:

Yeah. I like the first response to it. Did you just fall through a time portal from 2008?

Robin Heinze:

JavaScript hasn't been the, yeah, the exclusive domain of script keys for a long time. The someone did bring up an interesting phenomenon though, which is that JavaScript used to have, not so much anymore, this reputation for being like childish or for like inexperienced developers. But if you think about it, if it was all like young people playing around with JavaScript in 2008, all those people are in their thirties, forties now. And the language has evolved with them.

Jamon Holmgren:

Yeah. Even just straight in the browser too, like just writing JavaScript, you can write pretty modern JavaScript all the way through, in chrome browser.

Robin Heinze:

For some, for a lot of people. It still has that reputation that it had in 2008.

Jamon Holmgren:

Yeah, exactly.

Jon Major Condon:

Well, I feel like a lot of apps were more server side rendered back then still.

Jamon Holmgren:

Yeah. Oh yeah. For sure.

Jon Major Condon:

Yeah.

Robin Heinze:

Yeah. Well now with all these browser client side frameworks, it's much more of a first class citizen. Anyway, that's a whole-

Jon Major Condon:

That's another topic.

Robin Heinze:

Whole tangent.

Jamon Holmgren:

So the top comment is this article highlights. One of the things that really bugs me about tech hiring, this is by someone onion2K. The availability of developers who know a language or tech isn't a, let's see here, if I can read, isn't a limiting factor if you're willing to hire people and give them the time to learn. Yes, it's expensive. But if there really are productivity benefits from using a particular tool, then you should be better off in the long term anyway.

Jamon Holmgren:

And then goes on to basically complain that people don't train. Which I think is a fair thing and is, and they say, unless companies start hiring to mentor people, this will not change and probably TypeScript will just eat all the others in the long run. My response to that is just what is going to change about this? What makes you think something's going to change about this? It's how it is. It's just reality.

Jon Major Condon:

But at the same time, does it have to change in the sense of training people to be capable of writing Java or Swift, or what have you. Because I do believe that companies do have training opportunities, the right ones do. But if it is that you don't like TypeScript and so you want to be trained on these other things. I think that's where I would say that's not a fair thing to do on a company's time. Cause I think TypeScript is still a great choice. And again, I do believe companies still do train it. It's just the right companies.

Jamon Holmgren:

At the end of the day, we're going to land on something that's good enough usually. As a common denominator, just because the cost of changing switching is quite a bit. I've usually spent about five years in a language and then switched to something else. That's generally been my career path. There's a real cost of making that change because you have to relearn a lot of things, not just the language, but the tooling and things like that. But at the same time when I started my business, I trained all the time. I mean, some of those people are still with me today. Actually, Robin, I guess technically you were switching from a different language and you had to be trained as well.

Robin Heinze:

Yeah. Infinite Red trained me on React Native.

Jamon Holmgren:

And so like we have all senior level developers, but it's not that we didn't didn't train. With that said there's a difference between training someone who has been doing sea embedded programming for, I don't know, like nuclear power plants or something. And then switching them over to working in React. Like that's a pretty big Delta there versus someone who's been doing JavaScript and React on the web and then having them do JavaScript React on React Native mobile. That's a much smaller Delta there.

Jon Major Condon:

And that was my story as well. I came from the web doing React JS and then I came over here to do React Native.

Jamon Holmgren:

Yeah. You're a total example of this, Jon Major, like we were able to hire you because of your background doing React. Otherwise it would've been tougher. It would've been, it would've taken a lot longer to get you up to speed, a lot longer to get you to where you are today. Which by the way, I do have to mention it's your one year anniversary not long ago. I think it was this week, right?

Jon Major Condon:

Yep.

Jamon Holmgren:

Working at Infinite Red.

Jon Major Condon:

On 15th.

Jamon Holmgren:

So congrats.

Jon Major Condon:

Thank you. Thank you.

Jamon Holmgren:

It's pretty awesome.

Jon Major Condon:

It is.

Jamon Holmgren:

So yeah, that's kind of, I guess the whole thesis of this article is that this is the biggest thing and it just dwarfs everything else.

Jon Major Condon:

And I want to add one more thing is that with the amount of React developers that are out there, I think that speaks volumes to performance and developer experience being somewhat of a given.

Robin Heinze:

You wouldn't have that many developers if there wasn't some level of positive developer experience.

Jon Major Condon:

Right.

Jamon Holmgren:

Yeah. I would agree with that. There it's definitely getting better all the time.

Robin Heinze:

Well, I mean, compared to writing raw HTML and CSS.

Jamon Holmgren:

Yeah, exactly.

Robin Heinze:

I was just going to say, I think it definitely makes sense that the top comment, the one that had the most engagement was touching on that hiring issue and whether it's even like, whether that even should be the deciding factor.

Jamon Holmgren:

Yeah. And it a lot of times I see a lot of arguments on Hacker News that really come down to, well, it shouldn't be this way. And the other person says, yeah, but it is this way so we have to deal with it. And the other person says, but it shouldn't be that way. And you just get, you go back and forth.

Robin Heinze:

You can get really bogged down in what it should be versus making what is work.

Jamon Holmgren:

Yeah. Second highest was, I think Flutter is better because it uses Dart. I used to hate that decision, not another language to learn, but Flutter and Dart are like Mac and Mac OS. I'm aware of people complain about Mac OS. Okay. That side rant. Okay. They're both from the same company seemingly built for each other and the language improvements are relevant for the platform of Flutter.

Jamon Holmgren:

And kind of goes on to talk more about Dart. But again, it's a situation where that may be true. I mean, Dart might be better. But I remember this, there's this saying that I learned from one of my engineers years and years ago when I, we had this conversation when we talked about tabs versus spaces, for example, and it was just, Jamon, sometimes standard is better than better. And it's true. Standard is better than better. Something might be better. And that's arguable honestly, but let's just accept this premise.

Robin Heinze:

Yeah. The premise that Dart is better than-

Jamon Holmgren:

Right.

Robin Heinze:

But there's-

Jamon Holmgren:

Standard is better.

Robin Heinze:

React is the standard, like-

Jamon Holmgren:

It is.

Robin Heinze:

There's so many resources.

Jamon Holmgren:

Yeah. You can share between. I mean, honestly, who's going to go out there and choose, let's say that you weren't planning to do a mobile app and you're just going to go do some web, like a web app.

Robin Heinze:

You're probably going to choose React or something that's Reactish or based on React. Yeah.

Jamon Holmgren:

And you're certainly probably going to be using JavaScript. Where who's going to go out there and be like, I'm not really planning to do a mobile app, but I'm going to use Dart. It's just not going to happen. So you, what happens is your web team is going to be on JavaScript TypeScript. That's what's going to happen. And so when that happens, then no matter what you do from then on, you are going to be better off, I guess, in a lot of ways by having that same stack on your mobile site. This is what really led us to React Native in the very first place we were looking for something cross platform. And there had always been sort of this promise that we could do this, but React Native was the first thing that really delivered on that. And because we already knew JavaScript, it was a fairly simple thing to move to.

Robin Heinze:

So basically if you are a single or I feel like you're a loan developer, and you're going to build your own mobile app for your own purposes, and you're not going to hire anybody and you're not going to build a website, go ahead and use Flutter. But otherwise in a lot of ways React Native, is probably a better choice.

Jamon Holmgren:

I do think that they push each other.

Robin Heinze:

Definitely.

Jamon Holmgren:

Because when you look at this article and you realize, yeah, Flutter is better. And this is some, one of the things that I learned as I was doing more research, Flutter is pretty good. Like it really is. There's some really cool things. Some people like some of the Flutter guys were like, Hey, so as you're researching this, you might end up finding that you want to switch over to Flutter. I'm like, I have a lot of respect for Flutter and Flutter developers, and that has not changed as I researched this. In fact it's gone up.

Jamon Holmgren:

But yeah, that was something that I, definitely I think came home was like, yeah, there's some really cool stuff. But Flutter then pushes React Native because the React Native core team sees it. And they're like, okay. Yeah, Flutter has this much better upgrading experience for example. And we want to get there. Now, one of the things that I think I probably could have done a better job of in the article was point out how much Expo brings to the table because Expo solves a fair amount of the developer experience problems that people have with React Native. Upgrading so much easier, so much easier. It just has like, it's so much easier to set up and get you-

Robin Heinze:

Environment.

Jamon Holmgren:

Set up for your development environment. Yeah.

Robin Heinze:

Yeah.

Jon Major Condon:

That's good point.

Jamon Holmgren:

Expo is the thing that kind of sands off those edges and makes it really cool. Some people don't want to be reliant on Expo because it is a third party that is a for-profit company. But if you're looking at it in terms of the whole ecosystem, Expo, there is really nothing like it over on Flutter.

Robin Heinze:

Yeah. You said something interesting in response to the person that pointed that out to you on Twitter. You said you were trying to avoid third party libraries because you wanted to sort of compare the pure React with the pure Flutter. But the Expo at this point is really more than a third party library. It's kind of a second party because it's so integrated and there's so much collaboration between the Expo team and the React core team that it's almost a part of React Native core.

Jamon Holmgren:

Yeah. That's the reality. And I did go back and edit my article to add a section about Expo in the developer experience side, because that was so important.

Robin Heinze:

Honestly I wouldn't with all the recent updates to Expo with EAS [inaudible 00:30:32], I honestly wouldn't be surprised if a couple years from now Expo is React Native. They will be one and the same.

Jamon Holmgren:

Yeah. I'm kind of getting there too. We even talked about recently about Ignite maybe just having one thing that you spin up that you can drop onto EAS or not. So it's not like you pass in dash dash Expo. It's just whatever ignite app you build is compatible with EAS right away. So that's kind of a step in that direction. But yeah, by the way, we have a whole episode about EAS Expo application services. So go check that out. I don't remember exactly which episode it is, but just search it.

Jamon Holmgren:

So I think we've kind of gone over this enough. Again, if you're interested in this topic, go read the article. Flutter is better than React Native in all the ways that don't matter. It's on shift.infinite.red, which is our medium publication. Nothing's behind a pay wall. So you can just go check it out. We don't actually promote that blog enough. We should. Although of course we need to write a little more too, but Jon's working on an article right now, actually.

Jon Major Condon:

Yep.

Jamon Holmgren:

Which is going to be awesome when it comes out, and we're going to be putting a lot more content up there. Thanks for everybody who gave me the impetus to write this article. It was actually a great thing for me to [crosstalk 00:31:47].

Robin Heinze:

You needed the kick in the pants, but it was worth it.

Jamon Holmgren:

I did. Just a kick in the pants. No pitches.

Robin Heinze:

No pinching or pokes.

Jon Major Condon:

Yes. Or pokes.

Jamon Holmgren:

No pokes. Thanks everybody for all the great feedback on the article again. Yeah. Go check it out. If you'd like to nerd out more about it, about this topic or anything else, you can check out my Twitch stream @rn.live. You can also join our slack community, community.infinite.red. We have almost 2000 React Native developers in there who, and it's very active. Like a lot of people kind of interacting there. Where can people find you, Robin, online?

Robin Heinze:

I'm on Twitter at robin_hines.

Jamon Holmgren:

And Jon Major?

Jon Major Condon:

At Jon Major [inaudible 00:32:32].

Jamon Holmgren:

You can find me at Jamon Holmgren. You can find React Native radio's Twitter presence @reactnativerdio. As always thanks to our producer and editor Todd Werth, our assistant editor and episode release coordinator Jed Bartausky, our designer Justin Huskey, and our guest coordinator Derek Greenberg. Thanks to our sponsor Infinite Red. Check us out at infinite.red/ReactNative. Make sure to subscribe, send it to a friend who is a Flutter fan or React Native fan, or-

Robin Heinze:

Both.

Jon Major Condon:

Your mom.

Jamon Holmgren:

Anybody, I guess.

Jon Major Condon:

Your sibling.

Jamon Holmgren:

It's a click bait article so-

Jon Major Condon:

Your mom.

Jamon Holmgren:

I'm sorry. Provocatively titled article. So people will hopefully like it. Reminder we are hiring careers.infinite.red, and we'll see you all next time.

Jon Major Condon:

Bye.