It’s widely accepted that native tools are needed for developers to create the best user experience. They produce faster, neater apps that look and behave the way users expect for each platform.The downside is that those tools are quite hard to learn and time-consuming to use, especially compared to tools used to build web sites. Native tools are also based on completely incompatible programming languages, meaning an app needs to be developed twice or more to run on iOS, Android and other platforms. This is an obvious cost-driver and major pain for the entire industry.

React Native is based on the company’s popular React for Web technology, which has seen increasing use in the Web world in the two years since its introduction. It allows for the mixing of logic and presentation — long considered a no-no in modern development. React is based on components — units of code that act somewhat like classes — that take in data and produce HTML based on that data. Individual components can provide certain specific functionality and be chained together for projects, encouraging reuse and simplifying the reasoning of program logic.

Facebook has open-sourced the React Native code base, it’s free and available to all, so it can be expected that both its code and its ideas to seep into other tools and development platforms.