Wednesday, June 29, 2016

React trumps Swift for startups

In an early stage startup it is very important to be able to move very swiftly and decisively, often under a highly constrained budget. In that context React wins hands down. What is wrong with Swift:
Consider a typical startup that produces an iPhone app first - it generates some buzz but it doesn’t go viral - the reaction is muted - because more than 50% of people who hear about it have an Android phone. The mathematics of viral infections applies - if the probability of transmission falls below a certain threshold the disease doesn’t become epidemic. Fail 1. Several months later an Android version has been produced. Windows phone and the rarer species are not even on the roadmap. However the initial wave of journalistic attention has passed, so virality is improved but now there is no wave to kick start it. Fail 2. The pain doesn’t stop there. A startup often has to make a sequence of small changes of plan - swiftly - yet now there are two apps to maintain and trying pivot both in rapid sync is extremely hard. Pain 3. Finally the death knell: The iPhone programmer isn’t seeing success and is being wooed by other companies, so leaves his or her share options behind and moves on to the next startup. The first startup is now in serious trouble. It didn’t win fast, so now it’s dead in the water.
React gets every one of the above points right. The codebase for iPhone, Android and Windows is largely identical, so when you go live you can push on all platforms simultaneously. You get a stronger viral effect, you keep all your apps in sync and you can make changes faster.
Secondly, it’s the economics. One React programmer is cheaper than an iPhone programmer + an Android programmer. The React programmer can probably also maintain your website with much the same codebase. So in the specific context of startups, React or a similar cross platform stack such as Meteor is almost always a slam dunk winner.