Choosing the right technology for your startup is a daunting task.
The decision is even harder if you’re thinking of developing a mobile application – not only do you have to pick a suitable tech stack for your business logic, but you also need to consider platforms for your target group (Android or iOS). Luckily, React Native is here – it’s a cross-platform framework that can help you kill two birds with one stone.
So, is React Native a good choice for startups? Read on to learn more about the framework and companies that successfully build their products with it.
Things to consider when choosing a mobile development framework
Before we move on, let’s take a look at a few factors that you should keep in mind when picking a mobile framework. Pay attention to them – your choice can pay off down the line (if it’s the right choice), but it could also come back to bite you. These are the 4 things we consider the most important:
- Potential cost. Money is obviously an important factor you need to consider when starting your mobile project. If you’re looking to make an app for both platforms – iOS and Android – a cross-platform framework might be a good choice. It’s much cheaper to develop a single app for two platforms than to build two separate ones.
- Availability of developer talent. Good developers are in high demand. This is why it’s best to choose a popular technology – it will be easier to find employees or contractors for the job.
- Time to market. Building an MVP and validating your idea can determine the success of your business. If you want to enter the market quickly, React Native is a good choice.
- Post-launch maintenance and development. If you have some extensive post-launch plans, consider native development. It is just because you need to prepare for more frequent updates than in native technologies. However, if your app is up to date with the framework and third-party packages, you won’t have that problem.
- What is React Native?
To put it even more simply, React Native is a cross-platform development framework that lets you write code once and deploy it to both Android and iOS.
Successful startups which use React Native
Great technology is only one aspect of great business. Let’s take a look at companies (startups, to be more specific) which have both while using React Native to build their apps.
- Discord is a cross-platform app for text, video, and voice communication with over 250 million users worldwide. Although it was designed specifically for gamers, many millennials use Discord as a social media platform.
- Uber Eats is a food delivery app from Uber, which seamlessly connects restaurants, drivers, and customers. Uber’s devs met the challenge of translating the existing restaurant dashboard from web to mobile (iOS and Android) using React Native.
- Delivery.com empowers the neighborhood economy by enabling customers to order goods online from local businesses. Every day, more than one million delivery.com customers take advantage of the company’s RN-based apps.
- Gyroscope is an app that helps its users achieve life goals, such as losing weight, being more productive, and improving their overall wellbeing. It can track a user’s physical activities and offer recommendations to improve their lifestyle. All of this has been implemented in React Native.
- Townske enables you to find the best local cafes, restaurants, and places in almost any major cities around the world through stunning photography. Townske’s mobile application owes its great looks and ease of use to React Native.
The benefits of using React Native
As you can see, many companies have succeeded thanks to using React Native for cross-platform development. But what specifically makes this framework a winning choice? Take a look at the characteristics we consider the strongest points of RN:
- Development cost. Because you can write code that runs on both platforms, the development cost is lower than in the case of native solutions. Even a single React Native developer can create an app for both platforms.
- Time to market. With React Native, you can develop apps faster than using the native approach. One example is the case of whym, where we managed to build an entirely new RN-based app in just 3 months.
- Coverage of both major mobile OSs. RN allows you to release your iOS and Android apps simultaneously. Even if you start with one platform, it will be relatively easy to launch it on the other platform later on.
- Reusable UI components. When building a React Native app, you should start from defining components that appear in many places within the app. These components are like reusable blocks, so written once, they can be used in many places without spending more time on them, thus saving your money.
- Reusable native components. You can also easily extend your React Native app with native components (although familiarity with native development is required) to take advantage of native features like the camera or GPS. Written once, they can be used in many React Native apps.
- Stability. React Native is relatively new, but it’s very stable thanks to Facebook’s support – they use it both within FB and at Instagram. The technology is constantly being improved both by its corporate backers and the large community.
The risks of using React Native
No technology is without its downsides. Although we believe that the positives outweigh the negatives in many use cases of React Native, it’s definitely worth considering the following potential weaknesses of RN:
- Higher risk of making a mistake that will affect the app’s performance. React Native can be as good as native apps with regards to performance. However, in RN, it is easier to make mistakes that will negatively impact the performance. Still, if your RN developers are experienced, the app will offer native-like performance.
- Android may require more work than iOS. Android can be tricky and sometimes, more time is needed to make Android UI components look and work exactly the same like on iOS.
- Scalability. Sometimes, the scalability of React Native apps is enough to use it in big applications with many users (like Facebook or Instagram), but sometimes it turns out that it’s too low. One example is Airbnb, which adopted RN in its very early stages and ended up switching to native development because the codebase became unmaintainable. However, modern RN and a good architecture make such issues preventable.
Alternatives to React Native
React Native is not the only cross-platform framework on the market – the competition includes Flutter, Xamarin, Ionic, Nativescript, and Phonegap. RN is by far the most popular – it has a strong community, many third-party solutions, and was tested in large-scale deployments by giants like Facebook. In addition, unlike Ionic, NativeScript, and Phonegap, it doesn’t work through a WebView, which means that RN apps are more performant and look more like native ones. You can read a more thorough comparison of cross-platform solutions here.
Another alternative to RN is choosing native development. When is it the better option? If your answer to most of the questions below is yes, then you should seriously consider going native.
- Are you going to use platform-specific features, such as Apple’s FaceID?
- Will your app integrate with the phone’s hardware, such as the camera or GPS?
- Does the UI have to be pixel-perfect?
- Do you want to implement complicated animations or fancy transitions?
- Does the app have very complex business logic?
- Is the highest possible performance crucial?
- Should the app work offline?
- Is easy post-release maintenance crucial?
- Is the security essential aspect of an application?
Our experience with React Native
Shine is a self-care app with motivational texts, articles, and audio tracks created by experts to help users deal with the stresses of everyday life. Every time you open the app, you see a chat with Shine Texts. These are short, bite-sized, research-backed pieces of advice that'll help you show up to your day. You can favorite the ones that hit home and that way build your own self-care toolkit. In addition, the app offers ‘check-ins’ (a way to write down how you feel and what makes you feel good), 7-day challenges, and affirmations and meditations.
Hive is a New York-based challenger in the market of collaboration platforms, taking on incumbents such as Asana and Trello. Hive is a project management tool fuelled by machine learning and tons of integrations, combining a team chat with a task overview. Netguru’s part of the project was to craft a slick design and develop it in React Native for iOS and Android.
In a nutshell
We hope this article gave you a solid overview of what React Native is, its upsides and downsides, the alternatives available on the market, as well as some examples of companies that successfully used it for their products. In short: RN is a great choice if you’re building a cross-platform app and really care about the cost and speed of development. If you need high performance, hardware integration, and a very complex logic, consider going native. Whatever your needs – or if you still have trouble deciding – we’re here to help you make the right choice.