InfoWorld Editor at Large Paul Krill recently sat down with Facebook engineers Olivia Bishop, Tom Occhino, and Adam Wolff to talk about React technologies.
Facebook: The first thing that React brings is components as the fundamental building blocks for our applications. When you break your application down into components, it’s a lot easier for more people to iterate on your app because they can focus on one piece at a time, and that isolation lets us reuse those components in lots of different places.
The second thing is the way that you build those components using declarative code. Declarative code means you’re basically describing, for a declarative user interface, what your application looks like at any point in time. You don’t think about how to make the gray button blue or how to go from this size to that size or this text to that text. You just describe what your view looks like at any point in time and React takes care of making the changes to those views for you.
Angular is a framework, Meteor is a framework, whereas React is more of a library. It’s only concerned with how you build your user interface. If you build your user interface using React, though, it really influences the structure of the rest of your application.
InfoWorld: And what does React Native do?
Instead of rendering to something that the Web browser can interpret, it builds these DOM nodes and this text and these buttons and things, so now you’re rendering to actual native views. On iOS this would be UIKit views, and on Android it would be Views. There’s no browser involved, there’s no Web view involved.
React Native is really easy to integrate it with an existing native application. That’s important because we know that a lot of people already have an application that they’re not interested in rewriting, but they can still experiment with this technology and incorporate it. In that way it is like a library.
InfoWorld: How have you used React and React Native at Facebook?
Facebook: We’ve built a couple of stand-alone projects, and we’re building views inside of our main Facebook app. [Our Ads Manager app] is the first stand-alone application built using React Native for both iOS and Android. The same team built it for both platforms.
InfoWorld: Will React Native be brought to Windows 10?
Facebook: Facebook’s not actively working on this, but the really nice thing about us open-sourcing this is that there is some interest from the community. So a lot of people have started talking about it and [may take] this on. We’d love to see it. We’d love to see the community drive this one.
There’s also some talk [that] somebody already started playing with porting React Native to the new tvOS to build Apple TV apps using React Native. That’s not being driven by Facebook, but because we’ve open-sourced everything that we have thus far, the community can run with it, which is great.
InfoWorld: Where do React and React Native fit with the Internet of things?
InfoWorld: What is next for React and React Native?
Facebook: We’re making developer tooling better. There are some more Android modules coming -- more ways that you can make an app feel good on Android.
InfoWorld: Are any Instagram engineers still involved with React?
Facebook: Instagram.com, their website, is built completely with React. [But] they’re not using React Native yet at Instagram.