Chapter 6. React Native
Building a successful customer-facing app means meeting customers where they are, and with a large and growing number of platforms, this is an expensive proposition. For example, the messaging company Slack has applications for Web, iOS, Android, Windows Phone, Mac, Windows, Linux, Apple Watch, and Android Watch. Other platforms include Apple’s tvOS, Samsung’s Tizen, XBox, and Samsung’s Smart TV platform. To a company facing this staggering resourcing dilemma, there are three choices: write an application for each platform, develop for just one platform, or develop one hybrid application that compiles to multiple platforms. React Native is a new entrant into the hybrid app space that is showing tremendous promise. Each approach comes with trade-offs, as discussed in this chapter.
Write an Application for Each Platform
Developing for a specific platform usually results in high-quality, performant apps that take advantage of the UI conventions/guidelines of a device. However, for most companies this is prohibitively expensive. Even for those who can afford it, duplicating development efforts across each platform causes an enormous amount of overhead. Companies frequently have multiple employees tasked with coordinating feature development across multiple teams that may have differing velocity, device capabilities, or infrastructure requirements. Additionally, each team may have slightly different ideas about how to solve the same problem, which can cause ...