Why React Native might become the first multi-platform framework that actually works.
Long story short: I think Facebook has a strong motivation, resources and domain expertise to create the first mobile framework that will enable us to build apps for all platforms at once.
“Now that our app for iPhone is done, do we really need to spend the same amount of resources on Android version?” I’ve been exposed to this question many times when developing apps for our customers.
Who would be happy with porting existing functionality from web to mobile web then to responsive web then iPhone, iPad, Android, Watch, Fridge…? “Build once, deploy anywhere” has become one of the most desired paradigms in software development and many multi-platform frameworks popped-up: Appcelerator, Phonegap, Intel XDK, Xamarin, you name it…
But none of them really delivered on their promise of cheaper and faster development. Our company was assigned with three projects built with hybrid frameworks. All of them facing the dead end (not working camera, GPS, Android 2.3, storage, …) The only way to get those projects back to life was to throw away the hybrid code and start building native apps. All from scratch. Does that sound cheaper or faster to you?
Having this experience when our (potential) customers asked about saving time and money by going hybrid my advice was “Definitely not”. I was very sceptical about multi-platform development until I saw many good reviews on React Native framework introduced by Facebook. So I took some time to have a look at it and I must say I am quite impressed. I even think one day RN might become the future of mobile development and here’s why:
Motivation: Facebook’s bet on HTML5 (hybrid) apps in early 2012 was one of the biggest mistakes in the history of Facebook as Zuckerberg said. Bad results on mobile just after the IPO raised many questions about the future of the company (and whole tech industry).
Eventually Facebook dealt with the issue BUT it took almost a year for the company to get back on the track on mobile and probably helped Whatsapp grow faster which cost FB $19B a year later. Now as new devices are announced every 3 months (Apple watch, Apple TV, Microsoft Surface, Hololens, Oculus Rift, …) Facebook knows they can’t afford being such late anymore.
Any device that can capture or deliver our experience to our friends is an immediate threat for Facebook’s business. And they obviously know this (let’s take $2 billion bill for Oculus as an evidence).
Timing: Google, Apple and Microsoft finally realised that fragmentation of their platforms is not bad only for developers and budget owners but also for themselves. Windows phone failed to attract even Windows native developers to port their apps to WP. More and more Apple developers passed on Mac or iPad version of their iPhone apps. Not even talking about Google being hurt by miserable quality of apps as they were impossible to debug in such a fragmented ecosystem. It seems that all key players finally realized they need device-agnostic systems that will allow developers of successful Apple watch apps to port them on Hololens fast and cheap. They will need it not only to grow their business but to survive (right, Windows phone?)
Domain expertise: With all respect to Phonegap, Appcelerator and others enthusiasts I don’t think that they really know what developers of commercial apps actually need. It always seemed to me they were building a tool for web developers to develop mobile apps NOT a tool for businesses to build great mobile apps faster and cheaper. Unreliable access to phone’s camera makes your framework useless, dear Phonegap.
Resources: Do I really need to speak about the depth of Facebook’s pockets?
Traction: RN is the first framework in history that actually showcases apps built with RN. Facebook ads, Facebook groups, … And they look good! Not perfect but very promising.
Does this mean native code is dead? Definitely not. For most companies stunning experience on each platform will remain top priority no matter how much it costs. But based on my experience with enterprise and business apps I believe many apps for employees will be ported to React Native in the following months and years.
- List of apps built with React Native (Facebook ads for Android has really native look’n’feel): https://facebook.github.io/react-native/showcase.html
- First hand experience: https://tmail21.com/startup-stories/why-our-startup-chose-react-native-and-what-we-learned/