React Native is officially 10! 🎉 Our hosts Jamon, Robin, and Mazen look back at its origins, the community’s impact, and the major changes that shaped its growth—alongside their own journey working with it at Infinite Red. A must-listen for devs who’ve been along for the ride—or are just joining now.
Show Notes
Connect With Us!
This episode is brought to you by Infinite Red!
Infinite Red is an expert React Native consultancy located in the USA. With nearly a decade of React Native experience and deep roots in the React Native community (hosts of Chain React and the React Native Newsletter, core React Native contributors, creators of Ignite and Reactotron, and much, much more), Infinite Red is the best choice for helping you build and deploy your next React Native app.
Todd Werth:
Welcome, welcome back to React Native Radio Podcast. Back to you by chat group roulette. We may not be secure, but wow. Are we fun? Episode 3 26, react native turns 10
Jamon Holmgren:
Mazen. Welcome back. I know you were just at a conference. What was the conference named? Something about ai,
Mazen Chami:
All things Open ai.
Jamon Holmgren:
Okay. Now when you say open ai, was it like open ai, like chat GBT, open ai or is this sort of
Mazen Chami:
Different? No, yeah, I should have paused. The conference was called All Things Open ai,
Robin Heinze:
Not all things Open ai. I wonder if they kind of intentionally thought people would make that
Mazen Chami:
Association. Okay, so a little bit of history. It's a spinoff, all things open.
Jamon Holmgren:
Okay,
Mazen Chami:
So yearly there's a conference called All Things Open
Mazen Chami:
That happens in Raleigh here in North Carolina at the Raleigh Convention Center. I want to say they have 5,000 attendees. It's crazy. It's big and they have multi-track workshops happening. I attended it back in 2013, 2014. Steve Wozniak was actually the highlight speaker. That's fun. During lunchtime it was pretty cool. And if you've ever seen these t-shirts, we heart open source, like with the Red Heart, kind of like the iHeart NYC shirts. That's where it came from. And this conference, I believe has been happening since 2013. But Todd, not our Todd, Todd and Mark, who run All Things Open usually have an AI track as of recent, and I think they just decided the AI track's getting big. What if we just spun it off into a conference on its own? So all things Open AI was a conference on its own and it was a very long commute. It was about five minutes on the scooter to get there.
Jamon Holmgren:
Yeah, that's fun. Yeah, that's awesome to have a conference in your backyard. I love living out kind of a little bit in the country, but that is one downside. There's really nothing tech anywhere near me. I have to go to Portland, which is at least a half hour drive for anything often more, but that's all right. Yeah. So yeah. That's awesome. Good to have you back. I know Gantt gave a talk there that was super well received.
Mazen Chami:
Yeah. Yeah. His talk was titled Hacking ai, so he gave a good, a very cool, interesting take. All the talks were about using AI for your industry and all that, and Gantt was like, okay, let's take a different take and let's show you how we can break AI so you know better how to prepare yourself. I love it. During those scenarios, it was great. Yeah, it was a very fun talk and typical Gantt fashion, entertaining and very informative
Jamon Holmgren:
And every time I go to a conference with Gantt and he gives a talk, he's just mobbed with people. People want to talk to him afterward. It's amazing.
Mazen Chami:
And the conference was sponsored by Infinite Red, so that was actually very fun to see and people coming up and talking like, Hey, we saw a picture of Infinite Red on the sponsor and getting to know us more and asking more about what we do.
Jamon Holmgren:
Yeah, that's so cool. I always love seeing our logo there among all the giants that tend to sponsor these types of things. Alright, well I guess we got to go do our episode. Actually pretty excited about this one. I'm Jamon, he's Mazen back from the conference and she's Robin. We are React Native Radio. Before we get into our topic for today, let's hear from our sponsor, infinite Red. Infinite Red is a Premier React native consultancy located fully remote in the us. We are a team of 30 senior plus level React native developers and support staff and we've been doing this for pretty much a decade, which is going to come into play here in this episode actually quite a bit. If you're looking for React native expertise, hit us up Infinite Red slash Radio. And don't forget to mention that you heard about us through the React Native Radio podcast. Alright, today we are going to turn back the clock all the way to 20 15, 10 years ago and talk about React Native. And that is because React Native was open sourced 10 years ago on March 26th, 2015. Should we sing Happy Birthday? Now
Robin Heinze:
I'm going to say no.
Jamon Holmgren:
Let's skip that. Yeah. Wasn't there some deal where it was copyrighted for a while and you couldn't sing Happy Birthday if you were in some commercial thing?
Robin Heinze:
I want to know who owned the copyright on Happy Birthday.
Jamon Holmgren:
I don't remember, but they actually would enforce it, so I remember restaurants wouldn't sing it. They would do their own thing.
Robin Heinze:
Their own thing. Yeah.
Jamon Holmgren:
Yeah.
Mazen Chami:
I'll just get shut down for that. Okay, well I'll put my cupcake
Jamon Holmgren:
Away. I think we get shut down for our singing more so than the copyright.
Robin Heinze:
That's why at Infinite Red we give everyone their birthday off so that they don't have to be sung to in Zoom.
Jamon Holmgren:
That is totally the reason, but it is correct. We give people their birthdays off paid holiday, you get your birthday off, it's kind of fun. Alright, now all of our audiences a little bit envious, but let's talk about 2015. What were you doing in 2015, Robin? What were you working on back then?
Robin Heinze:
What was I working on? I was doing Rails. I had finished Code School the year before, so I was working at my first tech job doing Rails and I was also, the year I got married,
Jamon Holmgren:
There was a lot going on.
Robin Heinze:
There was a lot going on for me in 2015.
Jamon Holmgren:
Yeah, well 10 years then this year. When's your
Robin Heinze:
Anniversary? Yeah, this is in August.
Jamon Holmgren:
Oh wow. That's awesome. Love it. Zen. How about you? 2015, what was going on?
Mazen Chami:
So 2015 I was working doing PHP Code Igniter, H-T-M-L-C-S-S, jQuery and SQL Kind doing full
Jamon Holmgren:
Stack. Yeah, that was
Mazen Chami:
Pretty much eCommerce websites,
Jamon Holmgren:
Pretty much the peak of tech. I think it's all been downhill since Code Igniter and PHP.
Mazen Chami:
I agree. I miss
Jamon Holmgren:
Code Igniter.
Robin Heinze:
Did we name our Ignite Library? Was it inspired by Code Igniter?
Jamon Holmgren:
Not that I know of, but that would be cool.
Mazen Chami:
You did Code Igniter too, right? What about you? What were you doing? 2015?
Robin Heinze:
Yeah, did PHP for a while?
Jamon Holmgren:
I did PHP not in 2015. Well actually that's not true. We were still doing a little bit of PHP in
Robin Heinze:
2015 maybe subconsciously.
Jamon Holmgren:
Oh, I love PHP.
Robin Heinze:
You named Ignite after Code Igniter
Jamon Holmgren:
Maybe. Maybe. No, it's 2015. So I had run my first consultancy for 10 years. I started in 2005 and I remember telling my wife because it was so stressful and I was working so many hours, I remember telling Kyra when we came into literally as we're starting 2015, I'm like, if something doesn't change in 2015, I don't know what we're going to do because I'll probably have to shut it down. It's just too stressful, too much going on.
Jamon Holmgren:
This is news to Justin and Jed who are now they're in this call, they're not in the podcast, but they were working for me back then. But yeah, it was a tough time trying to figure this out. And then 2015 everything did change and that's where, well, I'd met Todd and Ken and Gantt my eventual co-founders at a conference the previous year, but then we ended up deciding to merge our two companies together to become Infinite Red. A lot of people have heard this story and if you haven't, you can of course go to building Infinite Red to hear our 13 episode miniseries podcast about the founding of Infinite Red and sort of our philosophy. So yeah, that was kind of what I was doing. There was a lot going on there. All of my kids were already born. My youngest was born in 2013 and then I sold my house and I started building a house in that year too.
Robin Heinze:
Building a company and building a house.
Jamon Holmgren:
That was a little wild. That was something. But yeah, a lot going on there. So we were doing more Ruby on Rails and we were also doing Ember back then. I had heard about React. React was, I had a buddy, Tim Sanford, really cool guy, great developer, and he and I went to lunch one time and he's like, have you heard about React is really cool? And I was like, I don't know, I've never, I mean you're talking about what was, I think I remember confusing. It was something else. There's another, it was like reactive js or something.
Mazen Chami:
Yeah,
Jamon Holmgren:
I've seen that before. Yeah, I thought he was talking about that. I just didn't understand.
Robin Heinze:
Well back then it seems like there was a new framework every week that someone was talking about.
Jamon Holmgren:
Oh, totally, yeah. But React actually, I had eventually kind of gotten on board with it by 2015 and as far as the patterns, we weren't using it, but I was even trying it out in different ways in native and stuff. But anyway, so just to let people know what's going on. Obviously like I mentioned March 26th, so Facebook actually announced React native at React Comp in January of 2015 and then they open sourced it
Mazen Chami:
And React Comp is Reacts conference that they put on, I would say sporadically.
Robin Heinze:
Was that the first React conf or was it a subsequent one? Who knows?
Jamon Holmgren:
Yeah, I'm not sure
Robin Heinze:
It was an early one because React hadn't been around
Jamon Holmgren:
That one. Yeah, 2013 I think was when it came out, but it was really, really growing very, very
Robin Heinze:
Quickly. So they announced it but they didn't open source it right away. They released to the attendees of the conference, got access to it and people at Meta obviously, but they didn't open source it right away.
Jamon Holmgren:
Yeah, that's right. So at the React js comp in January, Tom Okino from Facebook announced React native. Actually Facebook was already using it and even had an app that was in the app store, their groups app. I don't know if their groups app is still a thing,
Robin Heinze:
Don't, it's, it's all just part of the main,
Jamon Holmgren:
It kind of got folded back in
Jamon Holmgren:
And said, Hey, we're going to open source this as well. And so everybody, there was sort of a community reaction to this. Brian, this is kind of funny because Brian and I had actually done a meeting a day or two prior to prepping for this episode and then as I'm Googling to try to find early reactions to that talk, the very first thing that popped up was an article by Brian, of course he's the CEO and founder of Dockyard, which is another consultancy and it was titled Why I'm Disappointed in React Native. But what's kind of interesting about this article is that he actually says, this is amazing technology. He says, this is amazing. He says, as an Ember developer, I'm jealous. Of course we were doing Ember back then. And then he decided, or he realized I should say, he realized that he was also disappointed because that meant that Facebook was not going to be investing heavily in the web, the mobile web in PWAs and instead they were going to go this direction because of course Facebook had talked about, oh, we're just going to be doing web for our mobile app and stuff, but it was terrible.
Jamon Holmgren:
And then as time went on, then they said that's a mistake. And then they started investing in this.
Robin Heinze:
Well back then was it still kind of not as mainstream to have an app for everything? People were still worried that users wouldn't want to download an app for everything, and there was still this push to keep everything on the web.
Jamon Holmgren:
From what I remember from that time period, it was actually fairly understood that an app was a very good thing, but it was so expensive and you had to build it twice. I remember doing this many times, I started building native apps in 2011. My first actual shipped app was 2012. I'd been doing it for three, four years by that point. And it was like, we understand this is important, but also people would come to me and just be like, well, all I can really afford is the iOS one, so that's all I'm going to do. I'm not going to actually build an Android app. That started to change actually in 2015. That was actually the sentiment started changing. We need both. So I would say actually it was fairly well understood. It was just trying to achieve that was tough. It was hard to find mobile developers and it was just very expensive.
Mazen Chami:
And I have a story, I'll try and keep it short, but in 2015, the company that I was working at, I was the development manager at a team of a bunch of developers. We were working on our e-commerce websites. We were an umbrella company that acquired different brands and rolled them into our e-commerce system. We call it Hydra. One of the brands that we acquired was called Fit Deck. So think a deck of cards where you kind of shuffle them and you flip the first card and it's like, okay, 15 squats, you do 15 squats, you flip the next one,
Mazen Chami:
10 pull-ups, pushups, rest, whatever it is. And he kind of goes from there. And the guy was a former Navy Seal and I remember going into a, because we would meet with every brand ambassador have you, and they would kind of come and say like, Hey, they were the marketing people of their brand and hey, this is what I want for my app. And I would take it back and we would kind of prioritize it internally as the development team and the tech department. But I remember going to a meeting with him and he was like, okay, I want it on my phone. I don't want these physical cards. It's going to help me be cheaper. It's going to help me be quicker, create more cards, more decks, and reach a bigger audience. And at that point we needed a no mobile. It was like, all right, lemme go and research it. I remember just trying to figure out how to do it, kind of like Tinder style
Mazen Chami:
Deck
Mazen Chami:
Of cards on iOS. That was my first time getting into native development. I got a prototype in iOS in about a week or two, demoed it to them and they were like, cool. And he was like, but all my friends use Androids.
Mazen Chami:
And I was like, oh boy. So we went back and we spoke internally and we're like, this is a lot. We would need a whole team dedicated two developers at least for one brand. And then that kind of showed our speed and then that kind of basically put that project to bed and the development team, technology department as a whole told him, yeah, you're going to put your brand on the back burner for now, so keep coming up with your ideas and we'll print the decks. That's that good example. If React native was maybe a year earlier,
Mazen Chami:
We could
Mazen Chami:
Have leveraged it and then show that that's a good power of it. Then
Jamon Holmgren:
I think the world was pretty primed for something like this. I
Mazen Chami:
Think that's when people wanted apps they did, but didn't know they wanted it. Right? It was one of those scenarios where I wanted, but I don't know what I can gain from it or why I need
Jamon Holmgren:
It. Yeah, it's fairly common with this sort of technology or platform where people kind of feel it out, but then once you have the, I don't know, remember how everybody would say, oh, I have the Uber four x,
Robin Heinze:
Right, Uber for dog walkers.
Jamon Holmgren:
Right, exactly. And I actually heard that in a sales call just earlier this week, an Uber for something. They kind of acknowledged how it's kind of a dated thing at this point, but it really is so key because you need to have that example of what could you do and then you apply it to other things. But there were also people who not only had some criticisms of it, but were very positive about it. It was very interesting to kind of go back through time and look at a lot of the tweets and then March comes along, everybody's like, well, we have to wait to see it. And so March comes along and they release React native iOS and that was, it was version 0.1 0.0 and it was released right at around 5:00 PM on March 26th. And we have a noting here that 0.2 0.0 and 0.3 0.0 came the next day,
Mazen Chami:
Well, not even 12:00 AM was 0.2.
Robin Heinze:
They were working overnight weekend and then 7:00 PM
Mazen Chami:
Some people, a team at Meta did not sleep those two days.
Jamon Holmgren:
Yeah, I'd love to hear the story of that. Holy cow. Maybe we could get some of them on. Yeah, that was something else. Of course, at that time I actually looked back through our Slack. I was curious to see what the reaction was. The only person in our infinite red slack. Now granted at this time it was not yet a combined company. This was still just infinite red, the old Infinite Red Todd's company, but Todd and I would talk every day. At that point, we were really good friends. We would compare notes. We were already starting to talk about merging. This was kind of part of our DM conversation and he said, react native. I'll quote him exactly. He said, react native is big deal and I
Robin Heinze:
Is Big Deal
Jamon Holmgren:
Is big deal. And I responded back and said Is a big deal or is Big deal, who cares? And he says is an important development.
Robin Heinze:
Be careful. Todd's probably going to edit this one.
Jamon Holmgren:
I know, I know. I loved it though, but I'm going to compliment Todd a lot here, so he'll be very nice to me. I think
Robin Heinze:
You had to make it a criticism sandwich, so you got to throw in a little jab at, I just thought it funny at the end and just make it a sandwich.
Mazen Chami:
That is funny though.
Jamon Holmgren:
But he said, this is a big deal. And both of us were doing native development at the time, and I was not super excited about putting JavaScript in because I had done that before with phone gap and it didn't work out very well, but that was also a web view and that was not what React Native was doing, and I didn't totally understand that Todd did, but I didn't. And he kept coming back to it. I kept looking at our conversation. He would bring it back and he would say, Hey, react native. This is looking quite interesting. This is looking very good. And of course he was starting to get inquiries about doing Android and so he was doing some Android projects and we were as well, and it was like, well, maybe we can actually use this technology. But we kind of put it on the back burner.
Jamon Holmgren:
We were talking about merger and that was kind of a big thing that we were trying to do and we had a lot of projects going on and whatnot. So we didn't actually try it. We had it on the, but it was also just iOS not going to actually help us. There's no Android. We had to still build the Android side, so what good is that? Right? But in September of 2015, which was right, it was two weeks prior to us finishing the merger. We had started running the two companies side by side. We had merged our slacks. We had started just acting like we were one company just to kind of make sure it would work and kind of come together and
Mazen Chami:
Good dating period.
Jamon Holmgren:
We call it a dating period. We totally do.
Mazen Chami:
Yeah,
Jamon Holmgren:
Absolutely. And so us owners would get together and talk about decisions we were going to be making after the merger. Merger was slated to happen October 1st, 2015, which means, by the way, this year, 2015 to 2025, infinite Red also turns 10 and two weeks prior to that, Facebook also releases React native for Android. And this really kind of solidified it in our minds. So two weeks out we need this technology. We have some projects starting soon. We had some projects that were going to be starting in two weeks after the merge or even one week after the merge I think. And so we were like, okay, we have to talk to our team. And it's so interesting looking back at these conversations in Slack. It's so cool that we have them still, but we have to talk to our team. We have to make sure they're on board.
Jamon Holmgren:
It was kind of a whirlwind, so much happening right now. We literally had to lay off our employees from the previous companies and then hire them in the new company and do onboarding and all that stuff, get the new system together. It was just so much work. And then we also decided to change technologies at the same time. And so actually a little known fact. We also switched from Ruby on Rails to Elixir at that time, apparently we couldn't get enough pain, so it was a absolute whirlwind. But React native Android looked interesting and we talked to our team and two of our top developers at that time were Steve Kellogg and Gantt Leor, who's obviously an owner at Infinite Red, but he was leading our biggest projects and we had two new projects starting. Each of them were going to be leading those projects, and it was like, Hey, we're going to go to those clients and ask 'em if they'd be interested in doing React Native because then we don't have to build it twice. And they were amenable to doing that. And so we started just right after that version zero point 11.4 was our first version of React Native. It was not long. I actually don't know the exact version when React native Android was released, but this was very shortly after. It was probably only a few versions after Android and iOS became a full public thing.
Robin Heinze:
You mentioned that you're changing technology at the same time you're merging two companies. That's a lot of training. How did that work, getting your developers up to speed with React Native while you're also learning React Native along with the whole world is learning React native, it's new. How did you get your team up to a point where they're able to build with React native for client?
Jamon Holmgren:
So that is such a blur in my mind because I think there were so many things going on. One was my team didn't just do native development. We also did web and backend and design. So we had a bunch of different things going on where Todd's team was primarily native development, native app
Mazen Chami:
Development,
Jamon Holmgren:
And his team was also much more experienced. I think I was the same age as their youngest employees.
Robin Heinze:
Really?
Jamon Holmgren:
Yeah, where I was the oldest person at my company by quite a bit. And so I had a lot more junior developers at that time. And so what we ended up doing was we zippered our teams together in that we would put an experienced infinite red person with less experienced ClearSight person, and then we'd pair them up on projects.
Robin Heinze:
So sort of a mentorship, mentor, mentee
Jamon Holmgren:
Relationship
Robin Heinze:
Times however many five. But
Jamon Holmgren:
We also still had lots of projects that were still ongoing that we had to kind of like, oh, that I had to keep my company open and bill them and then pay infinite red, the new infinite red. It was such a weird setup to try to wrap
Robin Heinze:
Up project that was mostly web projects, right?
Jamon Holmgren:
A lot of web projects, but also some native projects. So we had a little bit of time, mainly we started with those two. So we had Gant and Steve and those two started out with just working kind of side by side, figuring out how to build React native apps. And I go back and look at those discussions and it's a lot of things about do we use camel casing or do we use underscores like we do in Ruby and whatnot?
Robin Heinze:
This is the stuff that hadn't been figured out yet. It was conventions that weren't established,
Jamon Holmgren:
Not at all.
Robin Heinze:
And I talked about this in my talk. I remember this is how Ignite happened.
Jamon Holmgren:
That's right.
Robin Heinze:
They were innovating every single day just figuring stuff out and they needed to capture it.
Jamon Holmgren:
That totally directly led to Ignite, I think released in April or something like that, which of 2016. So that was a huge amount of work, and those two really pushed it forward. My job actually changed, so I was kind of like everything I was CTO and CEO and CFO and everything else that could possibly be other than Dev. But I also did dev and I went to just, I'm chief operating officer. I'm focused on running projects, I'm focused on doing sales. I'm more on the business side. And so when I look back, actually I kind of was more out of it. I would play around with React Native just out of curiosity, but I wasn't doing it as directly as Gantt and Steve and the rest of them, even Todd was doing more than I was at that time. And Todd doesn't really do much of that stuff anymore. He still codes, but it's more kind of internal projects that are more web-based stuff. And so it was really interesting to kind of look back at that now the whole world, like you said, Robin was trying to figure this out. So there were articles coming out, here's a best practice on how to do this, but it was like class components. It was also things like you didn't have auto linking. People don't even think about auto linking anymore. You just simply NPM or yarn install and then pod install or whatever.
Jamon Holmgren:
But back then you had to, I
Robin Heinze:
Remember manual
Jamon Holmgren:
Ranking run commands or
Robin Heinze:
Specifically you ran commands, and I remember you had to go into X code.
Jamon Holmgren:
Yeah, you had to edit files,
Robin Heinze:
Select things, and
Jamon Holmgren:
Yeah, that was fun. That that's fine. And of course, tooling came along eventually to link things up automatically. I think Mike Grabowski was the first person, if I remember right, to add in auto linking, but we felt every bump and bruise, we contributed a lot to the early React native. You'll see a lot of infinite red engineers in there fixing kind of very important things in React native.
Robin Heinze:
Oh yeah. I'm sure there was so much low hanging fruit back then.
Jamon Holmgren:
Huge. Yeah, so much stuff.
Mazen Chami:
I think even looking, so you were talking about class components, so that was probably pre right before Hook. So you have hooks now, you had class components and looking back at the code from early days, I don't know if there was a change in between this, but there's the whole create class object that had a return within it, which return? It's hard to explain. I think hopefully we can, we will have a blog post eventually that we'll probably include this, but I remember looking at early React native code and it was like something like React native, create Class or React, click create class. I don't remember. And that's an object. And within that object you put other objects within it. Render was one of 'em. And that's kind of to me or nowadays trippy to think of because we don't do that anymore, right? It's so different. It's so cool to see the evolution of it where now I think it's the developer experience that matters the most. Well, back then it was more of let's get this thing working the easiest way and then just kind of go that way.
Robin Heinze:
You can actually go read the archived docs from old versions and all the examples are still class components. Component, component did mount Component did update, which if you ask Gant, he said, those were the good old days.
Jamon Holmgren:
They're good old days. There were some awkward parts of it that I think kind of led to hooks. So for example, you had to do bind this,
Robin Heinze:
I remember, yeah, this dot bind in order to what do Accessibles
Jamon Holmgren:
Basically your callbacks would kind of, they'd lose their context, and so you wouldn't end up with a reference to the original object. You couldn't call methods on it and stuff. It was just a function. So you'd have to do buying this to say this method is a method on this particular instance. And it was just a little bit awkward and stuff like that. But also not just that trying to reuse compose functionality was often quite hard. Let's say for example, these days you do something like, I don't know, use Safe Area insets.
Jamon Holmgren:
I don't know for sure exactly how the internals are with that particular hook, but say that you needed something on mount and on mount, and let's say you needed something for, you needed to set some state and then do something there. All of those things you would end up with having to insert code in multiple places in your class component to do what we do now in one line. And that's really the big difference is you could just use one line and it does all of it. Does Unmount set state, all that stuff can be done in one thing. So that was kind of the benefit of hooks. However, hooks came with some indirection. Not to get too far into that, but there's definitely an evolution. And this has been an evolution right alongside React. But yeah, react Native was amazing. And then of course Expo also came out not long after too. We had Charlie Cheever on to talk about Expo and the origins of Expo not long ago. You should definitely go listen to that episode if you haven't. It's one of our favorite episodes as hosts. Charlie's amazing and his team is amazing, and he talks about how Expo was actually already underway before React Native was released, and as soon as they released it, they adopted it as,
Robin Heinze:
Oh, this is underlying, this is a perfect fit. Yeah,
Jamon Holmgren:
Exactly. Exactly. Yeah.
Robin Heinze:
So yeah, the history of Expo really is the history of React native there. Inextricably linked.
Jamon Holmgren:
Yeah. Now we don't have a lot of time left in the episode and we've barely scratched the surface here, but I do want to ask you, well, what do you think are kind of the biggest moments in the 10 years that you can think of good
Robin Heinze:
And bad? Definitely the settling on React navigation was a big
Jamon Holmgren:
Deal.
Robin Heinze:
I remember there was a lot of churn. That
Jamon Holmgren:
Was in 2017,
Robin Heinze:
How best to do navigation. I remember my first project used Rock Native Router, flux
Mazen Chami:
React,
Robin Heinze:
Native Router Flux, which was really unintuitive to use. And so yeah, standardizing on React navigation was a big deal.
Mazen Chami:
Yeah, auto linking, auto mentioned already, but that was a big deal. One just to help with upgrades, that was
Robin Heinze:
Key. Obviously Hooks, which we just talked about. I would say the Airbnb article,
Mazen Chami:
Positive and negative. Yes,
Robin Heinze:
Positive and negative. It was really kind of a turning point where you either kind of continued to be all in on reacting, you're like, or you doubled down or you exited with the Airbnb B
Jamon Holmgren:
Folks. Yeah, you were already on the fence, stopped
Robin Heinze:
Believing it. Yeah. If you were already on the fence, you kind of picked a
Jamon Holmgren:
Side. For those who don't know, the Airbnb was using React native, and then they wrote an article saying we're going away from it. And this is why. The funny thing is if you actually read the article, they say most of our engineers liked React native, and it was a bunch of other almost non-tech related reasons that they went away from it. What's funny is they also continued to use Metro and they use it to this day because Metro's,
Mazen Chami:
I think people just read the title and then they were like, oh wait, Airbnb's not using React native. It must be bad. And then that's when it all went
Robin Heinze:
Down. It was a big deal because they were huge advocates for it in the beginning. They were one of the first huge companies to really adopt it. And they were at a lot of conference talks. They released libraries. They were a big player. So them leaving was a big deal and it was kind of a moment of reckoning whether reactive would survive that. And it definitely did. And it is even stronger now, and I think people look back on that being like, oh, well they probably jumped the gun a little too soon and React native has only improved from there.
Mazen Chami:
I think one milestone, I don't know how to phrase it or it's a long period of time, but it's the eject phase. Oh yeah, ejector don't eject phase expo Eject
Robin Heinze:
Phase, yes.
Mazen Chami:
Yeah, that was always a big conversation. Yeah, so I think the whole expo eject or don't eject phase and then probably when you didn't have to think about that anymore, when Expo was like,
Robin Heinze:
Okay, hey, when Expo released their, I think it was when they released Continuous Native
Jamon Holmgren:
Where they
Jamon Holmgren:
Had asked me, so I jumped on a Zoom call with them. I don't remember exactly when, but they were like, what would prevent you from using Expo? And I kind of gave them what everybody said around it's very difficult to integrate custom native code and we needed to do that all the time and stuff like that. And they listen very well. I'm not saying that, but I'm sure they were hearing this from a lot of people, but I just remember that and they asked good questions and then, yeah, they eventually came out with continuous native generation, and I remember Keith Ek at one of our chain Reacts giving the talk, not your grandparents expo. I gave him that title actually. He was asking what I thought about it. I'm like, this is what you got to call this, but that's what it was kind of like, Hey, this is a new generation. I also think the new architecture obviously huge deal. I
Robin Heinze:
Think this year is going to be that during,
Jamon Holmgren:
Yeah, huge
Robin Heinze:
Impression point. We're going to look back and say that 2025 was the year that we went from talking about the new architecture to talking about the legacy architecture.
Jamon Holmgren:
Yeah, exactly. So I can say one thing in 10 years, and I've never done this with any tech, I have never once actually questioned if React Native should be our primary focus and only focus like it is. It's never even really occurred to me that that would not be the case because it's just been a rocket ship for us. It's been amazing. It's been an awesome ride. I mean, I thought it was great in 20, 25 years into it, but it's just gotten better and it keeps getting better and it keeps going faster and faster and we bet on the right technology, and I'm so grateful for that. It was a huge deal because it would've been really tough if React Native didn't go anywhere. That would've been a really tough transition to have to go and transition again. And I got to give a lot of credit to the community for this because the community has stepped up in so many ways with the ecosystem and helping with React native itself, and then just the ideas behind it. Of course, Facebook, Facebook's investment in this Jordan Walk for
Robin Heinze:
10 years Meta. Originally they became Meta in the middle of 10
Jamon Holmgren:
Years. Yeah, they did become meta. Yeah, I say Facebook because almost everything back then, it was
Robin Heinze:
Just Facebook. Facebook, literally Facebook, the, the social media platform was instrumental in React native becoming a thing. So we still think about Facebook even though it's meta now,
Mazen Chami:
And I think definitely the community because the limiting phase would've never happened within the community,
Jamon Holmgren:
What they now call the lean Core, but yes,
Mazen Chami:
The limiting, that's better than Lean Core. Come on.
Jamon Holmgren:
Yes. That was a big deal too. Pulling stuff out of core and putting that into separate packages like WebView, which was a huge source of tons of issues in the main repo and it was like, Nope, let's pull that out of there. Make it its own thing. Yeah. And all that. I have a question for you before we wrap up. In the 10 years between launching and now, do you know how many total versions have been released as of this recording? First number
Robin Heinze:
To including minor, including patch versions?
Mazen Chami:
Everything?
Jamon Holmgren:
Yeah.
Mazen Chami:
Okay. For some reason, the number 312 came to mind.
Jamon Holmgren:
Okay. Three
Robin Heinze:
12. What do you got, Robin? I'm going to see
Mazen Chami:
It should be like a thousand.
Robin Heinze:
I'm going to say 360 7.
Jamon Holmgren:
Okay. Both of you are way off. It's way higher.
Robin Heinze:
Way higher.
Jamon Holmgren:
Yeah. What is it?
Robin Heinze:
Orders of magnitude higher.
Jamon Holmgren:
It is 2,112 as of today. What?
Mazen Chami:
That's like an average of,
Robin Heinze:
It's not an average.
Jamon Holmgren:
That's
Robin Heinze:
Like 20 patches per minor version.
Mazen Chami:
Way more than that. 25.
Jamon Holmgren:
I mean, in 10 years you only have doing some quick math 3,650 ish days and there's been almost a release, basically a release every two out of three days.
Robin Heinze:
I amm guessing that probably also includes Alphas. I wasn't really thinking about those.
Jamon Holmgren:
Okay, you're right.
Robin Heinze:
Wait, alphas,
Jamon Holmgren:
Does this make it kind of not as impactful? Because you're right, all these nightlys are in there too.
Robin Heinze:
Yeah, I'm thinking, but the nightlys are important. I'm thinking of zero point 70, 6.1, two, three and four, and then 77 comes out.
Mazen Chami:
Nightlys are just as important, right? Because despite us not using them, I'm sure people at Meta are running tests against those Nightlys, which they are now automatically done. But still those are still important versions to keep in mind.
Jamon Holmgren:
I'm a little disappointed though. I was so impressed by this number. And now,
Robin Heinze:
Yeah, now you're like, they started doing nightly builds.
Jamon Holmgren:
Alright, so if we go look at releases and I don't know when they started using GitHub releases, but now you guys, okay, what was the numbers
Robin Heinze:
Three? I said three 12. I said 360 7.
Jamon Holmgren:
Oh my goodness. There's 3 70, 3 79.
Mazen Chami:
Whoa, Robin,
Jamon Holmgren:
Winner, winner Robin wins. That was really good. Okay. Yeah, that's actually more accurate. Alright, let's wrap it up. We've been here way too long. Sorry about that editors. Thanks everybody for jumping along with us in this time machine. It'd be really fun to hear your experiences. When did you start React Native? Tag us on Twitter at React native R dio or just, I don't know, email us, I guess. R RN Radio at Infinite Red. We'd love to hear that. That'd be a lot of fun.
Robin Heinze:
We'll see you for React Native turns 20.
Jamon Holmgren:
Yeah, that'd be a lot of fun. Alright, happy birthday. React native. We're not going to sing the song, but you've been very good to us at Infinite Red, so thank you.
Robin Heinze:
Bye everyone.
Jed Bartausky:
As always, thanks to our editor Todd Wirth, our assistant editor, Jed Bartausky, our marketing and episode release coordinator, Justin Huskey and our guest coordinator, Mazen Chami. Our producers and hosts are Jamon Holmgren, Robin Heinze and Mazen Chami. Thanks to our sponsor, Infinite Red. Check us out at infinite.red/radio. A special thanks to all of you listening today. Make sure to subscribe to React Native Radio on all the major podcasting platforms.
There’s no perfect time to get started. Whether you have a formal proposal or a few napkin sketches, we’re always happy to chat about your project at any stage of the process.
Schedule a call