Facebook today announced the release of React Native for Android, a new open-source software project intended to speed up the process of making sophisticated native apps for Android using JavaScript. The release of the framework comes six months after Facebook open-sourced React Native for iOS, which has been widely tested out.
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.
Facebook has since focused more and more of its attention on mobile, reflecting the consumer shift from desktop to mobile — hence the rise of React Native. The iOS version enables people who know JavaScript, but not Apple programming languages like Objective-C and Swift, to build iOS apps. And those who are familiar with those tools can use React Native to build apps that work on Android. Now Facebook is going in the opposite direction — those developers who know Java and the Android stack can more rapidly build apps for iOS, thanks to React Native for Android being built on JavaScript. Effectively they can reuse far more code than before.
“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.
AI Weekly
The must-read newsletter for AI and Big Data industry written by Khari Johnson, Kyle Wiggers, and Seth Colaner.
Included with VentureBeat Insider and VentureBeat VIP memberships.
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.
VentureBeat's mission is to be a digital town square for technical decision-makers to gain knowledge about transformative enterprise technology and transact. Learn More