Editor’s note: Anders Lassen is the founder and CEO of Fuse, the first native app tool suite for both designers and developers.
A Truce in the HTML vs. Native War
For many years, mobile app developers have had to make a uniquely difficult choice: Do I develop my apps using the native tools from Apple or Google, or do I build my app using some sort of cross-platform solution?
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.
In practice, this approach is riddled with performance and compatibility issues, often producing awkward user experiences, and power-consuming apps that warm your device and exhaust your battery. Whenever you get frustrated trying to use a mobile app that feels like a glorified web page, this is typically the reason.
Better, More Creative Apps
While web developers are able to make changes to code and see the results of those changes almost instantly in a web browser, native app developers must spend minutes waiting for their tools to compile, deploy and launch on a mobile device. This isn’t just a time suck; it also kills the urge to be creative and experiment with new ideas. Corners are cut and developers settle for sub-par results, simply because tweaking and polishing takes so long.
In the years to come, expect cleaner and more responsive apps.
React Native introduces a separation between the native user interface and the logic that drives it, using what is popularly called a “reactive” approach. While the user interface runs on the mobile device, the logic can run anywhere, like in the browser of developers’ computers. This means they can use the tools and workflow from web development. Make a change, see the results instantly on the device or in an emulator; make apps faster, or spend extra time trying out new ideas.
An Open, Inspirational Codebase for a New Mobile Era
Now that Facebook has open-sourced the React Native code base, it’s free and available to all, so we can expect both its code and its ideas to seep into other tools and development platforms. The same thing happened with React Native’s predecessor, React.js, a framework for building web-based user interfaces. While being a popular framework in and of itself, the ideas and concepts from React.js have also exerted a strong influence on other frameworks.
What’s all this mean for the end user? In the years to come, expect cleaner and more responsive apps, even for apps produced on a shoestring. High-quality app development will become cheaper, and app developers will become more productive and creative.
The app industry still suffers under many of the same pains we’ve had since the invention of the smartphone: double work on iOS and Android, difficult-to-use tools and slow development iterations. But now, thanks to Facebook, the path to the new era is clear: Better tools, new ideas and open source codebases.