At its F8 developer conference in San Francisco today, Facebook announced that it is open-sourcing its React native framework for building native apps. React Native is Facebook’s version of its React JavaScript framework for building native mobile applications.
Today’s announcement doesn’t come as a huge surprise to anybody who has followed along with the development of React. Facebook has publicly talked about this project before. Given the company’s history of moving from its rather ill-fated HTML5 app to native, it’s also no surprise that the company is not all that interested in writing any more frameworks for non-native applications.
The F8 day 2 keynote also saw Facebook show off new artificial intelligence systems for identifying the meaning of videos and text, and unveil a new Internet-delivering solar-powered drone called Aquila.
React, of course, is Facebook’s extremely popular framework for writing web apps. As the company notes today, writing native apps is still very hard, and basic things like debugging are simply harder than building web apps (you have to recompile the native app regularly, after all). With React Native, the framework uses JavaScript to call native APIs, so developers can make use of their existing JavaScript infrastructure and still get the benefits of this language.
“The only difference in the mobile environment is that instead of running React in the browser and rendering to divs and spans, we run it as an embedded instance of JavaScriptCore inside our apps and render to higher-level platform-specific components,” Facebook writes today.
In addition, developers can mix in React Native with their existing hybrid apps.
Facebook itself has written Facebook Groups for iOS as a hybrid app that uses React Native and webviews, while the Facebook Ads Manager for iOS is now completely written in React Native.
The source code for React Native is now available on GitHub.