Recently I have been engaged in two projects created with React Native hybrid multiplatform mobile app framework. It’s not the first React Native project we have worked on at Handcrafted Mobile, but some time had passed since I have looked on RN, so I have decided to share some of my thoughts.
tl;dr: I liked it!
Surprisingly, this time it was fun to work with the React Native. Mostly — because it was fast to build ready-to-be-showcased things. The number of ready to use tools has grown significantly since I have last been checking the RN ecosystem — we had no issues with finding Firebase, vector icon support or many useful components.
But the thing that was the most important here was the speed of the development process — we were able to build a simple yet useful app for iOS and Android platforms far quicker than I have expected!
Hybrid app frameworks — a false promise?
The first thing that all hybrid, cross-platform frameworks were promising was the possibility of reducing the development time by allowing to use the same code on many platforms. The very same promise that Sun gave about Java back in the nineties — Write once, run anywhere. And yet that ended as a Write once, debug everywhere joke. Unfortunately, this joke was true for many mobile hybrid frameworks I had seen in my professional career, including Adobe AIR, PhoneGap/Cordova or Ionic. Add to that the limited number of ready to use components, lack of long-time support for libraries, harder debugging and poor performance, and you get something I that call a false promise: they all have promised that a hybrid framework will make the development process easier and faster, but it did the opposite.
Can React Native be different?
While it’s hard to predict the future, I have some thoughts for you if you are considering starting an app with React Native as your framework of choice.
First: start with the design.
You might be surprised to hear that, but the most time-consuming part of the development process of a typical mobile app is building the UI. For sure, keeping in mind the fact that React Native is your framework of choice, you don’t want to introduce additional complexity in your design.
What’s my advice? Trust the professionals. Ask your designer to check the most common UI components libraries. Ask your developers to take a look at the design that makes the UI complicated — as the people who work with the mobile apps development on a daily basis, for sure they will point out where your design can be simplified. And be flexible when they suggest any changes — be aware that the more advanced the work gets, the more new features might be needed — and not everything can be spotted immediately!
If you’re thinking about hiring an experienced mobile app development team, feel free to drop me a message — I’ll see if I can help with that.
Second: hire the right developers.
That might sound obvious, but I really do mean that. Take a look on your project. If it’s simple enough — few pages that just download data from the Internet and present it — it’s likely that anyone can build the app for you. However, if you are thinking about getting most of the mobile device — its offline capabilities, camera, sensors, fingerprint (or FaceID) authentication, or even building your own, custom UI components not available in the React Native component libraries to enrich user the experience — you’ll need the people that understand each platform. Not only one, but both iOS and Android. Each platform is different under the hood, and you will need your devs expertise to identify spots where you need to add some truly native code to your React Native app.
And be prepared that someday you might hear that React Native is no longer an option — just like at the Airbnb. But it is very likely that will also mean that you have grown big, and you need something more than an MVP — which is a good sign.
This post was written by Handcrafted Mobile team, boutique iOS / Android agency. In the past years, Handcrafted Mobile has helped to build many mobile apps, including financial, travel and social products, and now offers a quickstart to your app with a Handcrated Platform tool. If you have any questions or need help with your mobile project — reach out to us via firstname.lastname@example.org.