Facebook started out on React with an eye toward making its own developers more productive, as a better alternative to client-side MVC frameworks, server-side rendering, and its own XHP technology. Engineers could move faster with it and had more fun with it, Facebook engineering manager Tom Occhino told VentureBeat in an interview today. Facebook open-sourced React in 2013, allowing developers outside the company to more efficiently build web apps.
“As an engineer, the only thing you need to concern yourself with is the native look and feel of the platform, rather than having to worry about different development environments, different programming languages, SDKs, and different sets of APIs that are exposed through those SDKs,” Occhino said.
So why would Facebook want to open-source this tool that’s helped its engineers become more productive? (Putting aside the fact that Facebook has historically done that for many of its internal tools.) Partly, the company can discover great new talent. But also, when people come aboard Facebook, they can immediately be familiar with the tools, and if they leave, they’ll still be using relevant technologies, Occhino said.
There are other tools to assist in cross-platform development. Microsoft often touts Apache Cordova, for example. But Occhino believes React Native could be more powerful.
“Cordova renders to web views — HTML, the DOM, basically — whereas we render natively, to native views — UIKit, Android views,” he said. “They look different and feel different, you manipulate them in different ways, and you have more capabilities, we think.”
A post on Facebook’s engineering blog talks about React Native for Android in more detail.