As startup entrepreneurs, we’re always looking for an idea that allows us to grow our business, but it’s not often that we take a moment to think about what that means, how much work that first prototype carries. And so, we face our first technological challenge: what technology should I use? native, cross-device? Choices we have many, but are those choices the right ones for the path I’m trying to forge? In this article we want to guide you so when the decision-making moment arrives, you have enough information to choose the best technology for your business.
Let’s start from the beginning, MVP refers to a Minimum Viable Product. This will serve as a direct test with future clients or investors. As it name indicates, the core of an MVP is to show the basic features your targeted audience is looking for. As this is a first try, it’s important to build it with a technology that allows iterations, and that will not empty your pockets when it’s time to go to development. With that base, we can suggest the use of hybrid technologies, like React Native, for an MVP.
So, what is React Native?
Hybrid Technology is the name given to those technologies that allow to generate applications for more than one operative system (such as Android, iOS, Windows). React Native is one of them. It is actively develop by Facebook as a way to ease the hybrid development and, at the same time, allow native development if needed.
Back to our main idea, according to that description, we can suggest hybrid technologies like React Native, for an MVP. This kind of technology would go like peas and carrots to most of the cases during this stage due to the capacity of developing for many technologies simultaneously, what saves time and money. At the same time, it allows sharing the same business logic code between all operational systems, avoiding differences in functionality among the systems.
What are the pros of using hybrid technologies?
In the development field it’s common to use libraries: blocks of code that have ready-to-use functionalities. When we use them, we implement the functionalities we need without investing a big amount of time or money while developing.
Ideally, it’s as easy as adding the library to your project, and integrate it to your actual code, but in the real world doesn’t always happens that way, and it might need an extra effort from your development team. An example of those blocks of code would be libraries such as Google maps, firebase SDK (Software Development Kit), or even Facebook SDK’s. Those libraries allow to get maps, synchronizable database, and connection to the social network with just a few lines of code, instead of writing it all from scratch.
If your app requires the use of cutting-edge technologies then you probably should choose a native technology, as the most common situation is that, at first, the technology becomes available for native technologies, and only then it becomes available for hybrid ones. But if your weapon of choice is a library, as mentioned before, then you wouldn’t have any problem due to the amount of library developers that have been in the market for a fair amount of time, have technology options, such as React Native. It’s important to mention that if your team has a sr. developer knowledgeable of React Native, they should be able to generate a library from a native version.
Process and animation performance
Mobile devices, as any computer, have a processor that can carry a certain amount of operations per second. The amount of operations define the volume of data that your device can handle. Taking into account that your device, not only has to work over your application, but also all the other apps that might be running, plus the graphic and other basic functions of the phone, the device has to distribute the work among all that data.
The amount of data is proportional to the amount of time it will take for your device to run and, as a consequence, to responde. Hybrid apps, besides running the native functionalities, run an extra code which function is to connect the hybrid with the native code. This overwork can produce delays when it time to run. React Native gets close to the speed of a native application, but as it performance depends on connecting the written code in a different language to the one written in native across a bridge, this might generate delays when it’s time to run the functions.
Scalability and new functionalities
Once the MVP is ready and the app goes to production and distribution, it’s common to find ourselves asking two questions: the first one is if the chosen technology would be able to meet the expected functionalities. And the second question is about scalability, that means if the app has the ability to grow and multiply the number of users fluently, without losing quality and, at the same time, allowing to grow on new functionalities. In this case, hybrid technologies, like React Native, are scalable and reliable for distribution to the end-consumer.
This allows to increase exponentially the number of users and add new functionalities without investing extra in developing. As a matter of fact, we can find success stories in the market such as Facebook or Instagram. It’s important to say, though, that to accomplish the expected scalability, the good practices of the development team are needed.
Now that we have mention the elementary aspects to take into account when developing your app, we can say that in a general way, most startups can start on their first projects with hybrid technology, such as React Native. This development option allows you to implement almost all functionalities of the native code and, when that’s not a choice, it allows to attach new code to your app, proving a similar performance to the native.