Leland Richardson: React Native is still rough around the edges

What’s lacking in React Native and standing in the way for wider adoption? We ask one of our pros

We’re bringing you an interview with Leland Richardson, a Software Engineer at Airbnb. He's an active Open Source contributor to Enzyme and multiple other projects from Airbnb, and he'll speak at this year's React Amsterdam about cross-language React.

How do you usualy introduce yourself?

I’m a software engineer who enjoys diving into deep technical projects that challenge the status quo. I try to always be learning new things, and am just a general nerd interested in Math, Physics, Art, and most things Tech related.

How did you end up being a developer?

I studied physics and math in college, and always thought I was going to end up going into academia studying physics. I did a lot of programming as a hobby and kind of ended up in a couple of jobs doing software development as a way to pay for school and make money. Over time I realized that I actually really enjoyed it, more so than I did even physics or math, and decided to go down that path instead.

What’s your personal experience with React Native so far?

I think that React Native is an extremely valuable technology that leverages React’s design/paradigm to get closer to true cross-platform UI development than I think we’ve ever gotten. It has a good balance of tradeoffs for developer experience and potential for high UI quality. Overall, I think the platform still lacks some maturity when compared to the native UI toolkits on iOS and Android, but it is definitely improving.

Any tips on how to bring forward React Native adoption at other companies, and how to convince business and tech teams?

I think the biggest thing I would recommend is to just be very clear about why it is React Native is being considered, what value it brings, and make sure that everyone is on board with that goal as a “true north”. If people can get on board with the true north, make sure they have a proper support system if React or React Native is not a technology that they are familiar with.

What’s lacking in React Native and standing in the way for wider adoption?

For apps that are fully react native, slow initialization times are a pretty big issue. I think there are a couple of other problems that are more on the fundamental side like solid Gesture support and view recycling. The reality though, in my mind, is that these aren’t the main issues “standing in the way” of wider adoption. I think that those issues are more around the maturity of the platform, and some issues around socialization.

React Native is still “rough around the edges” so to speak, and there’s still a lot of things that aren’t to the level of maturity of the platforms they are competing with, so as a result they cause some frustration for people using them that moved from those platforms. Those are all surmountable issues though. The other thing is socialization, which I think is the biggest issue facing React Native. I think in a lot of peoples’ heads it has been cast as this “web engineers vs native engineers” kind of thing, and a lot of people may look at React Native as a threatening technology, instead of just another technology which they could learn. Some of this is unavoidable, but I believe as a community there is a lot more that could be done to attenuate these kinds of feelings.

Teasing your talk a bit, what other programming languages you’d consider to take over React?

I think the ideas of React are useful far beyond just JavaScript, and it is surprising to me that we haven’t actually seen more movement in other ecosystems going in this direction (though we have seen some for sure).

As React pertains to UI, the big languages to consider are the ones that can target the most popular platforms that need UI (iOS, Android, macOS, linux, and Windows). Interestingly, we’ve seen two new languages pop up recently for the iOS and Android platforms: Swift and Kotlin. I think both are languages that could have a compelling react-like library.

Do you see JavaScript communities moving to other languages anytime soon, and rapidly switching to TypeScript, ReasonML etc?

I think some compile-to-js language that is typed will probably become more mainstream, but I certainly don’t see JavaScript going away any time soon. As the community has shifted to (I would guess) have build-time tooling like babel, the community is more amenable to additional build-time tooling that may even have entirely different source languages. I think there’s a lot more that is left to be done here, and the thing that finally causes a dramatic shift very likely doesn’t even exist yet.

Are you excited about speaking at React Amsterdam? What’s your experience with speaking so far?

Yes! I feel like I missed out by not going to React Amsterdam last year, and I am also really excited about the topic I’m speaking about this year. My experience with speaking is basically an even mixture of being excited, terrified, and stressed all at the same time! Speaking is mostly great because of the people you meet, but every talk always ends up being a LOT more work than I ever think it is going to be whenever I agree to speak somewhere.

See Leland's talk at React Amsterdam

About GitNation

GitNation is a foundation contributing to the development of the technological landscape by organizing events which focus on the open source software. We organize meaningful and entertaining JavaScript conferences and meetups, connecting talented engineers, researchers, and core teams of important libraries and technologies.

Besides offering single conference tickets, the organization also sells a GitNation Multipass providing discounted access to multiple remote JavaScript conferences and workshops.

#ReactJS / #ReactNative community behind #ReactSummit Conference and #ReactAmsterdam Meetups. Gathering 20K React fans online, 1.5K at in-person events.