It's no groundbreaking news that mobile applications are growing in popularity. Mobile app development saw a great increase in interest, partly due to the Covid-19 pandemic. According to App Annie’s annual ‘State of Mobile’ industry report, mobile app downloads grew by 7% year-over-year to 218 billion in 2020.
In that year alone, smartphone users in the United States spent approximately 4 hours on mobile apps. This is more time than the average American spends watching TV. This trend is not unique to the US but can be noticed in countries with developing mobile markets like Brazil, India and even Germany or the UK. It is also not related to any specific age group.
Having this in mind, many businesses decide to develop their own mobile application as a response to the market demand. Some of them decide to build mobile apps using React Native a common choice for native app development, but when researching the topic, you can also come across a solution named Flutter. In this post, we will compare the two with their pros and cons to help you find the best framework for your needs.
Table of Contents
What is React Native?
For more detailed information about React Native, go to the post Why Choose React Native For Your Mobile Tech Stack?
Pros and cons of using React Native
Using React Native for native mobile development has many benefits, but also can bring some drawbacks. Before choosing which platform to go for, consider the lists below.
Pros of React Native
- stability as it simplifies the process of data binding in the existing code
- modularity, which allows program function to be separated into interchangeable modules
- native look and feel of your apps
- one team for multiple platforms
- easier to install than Flutter
- bigger community and support than Flutter
Cons of React Native
- weaker performance than native solutions
- supports only basic components out-of-the-box
- applications are bigger than their native counterparts
Companies using React Native
Wondering which popular apps have React Native code? Keep reading.
Instagram integrated React Native into the existing native platform. Because of this change, 85% to 99% of the code is shared between the iOS and Android apps, so the delivery of new features is much faster.
This digital communication tool is using React Native for both their iOS and Android apps, sharing close to 98% of the code. This makes voice, text and video communication over the internet reliable and pleasant.
Pinterest decided to go with React Native as they wanted to reuse code between platforms. Because of this feature, React Native was an obvious choice, which allows the company to better invest in developer productivity.
What is Flutter?
Flutter is an open-source user interface (UI) software development kit (SDK) introduced by Google in 2018. It enables not only to develop native mobile apps for iOS and Android but also software for computer operating systems like Windows, Linux, macOS and Fuschia - a new OS in development from Google.
Pros and cons of using Flutter
Although Flutter's popularity increases due to its usage of the same UI and business logic on all platforms, the interface has its own issues.
Pros of Flutter
- single codebase that covers both mobile platforms
- comes with a set of customizable widgets
- the same application view, even on older devices
- rich documentation
Cons of Flutter
- large file sizes
- lack of password manager support
- limited set of tools and 3rd party libraries in comparison to React Native
- weak iOS features support
- lack of support for Continuous Integration
Companies using Flutter
Check out the most popular companies that use Flutter.
The New York Times puzzles are super popular across millions of players but developing new games and maintaining them was a huge challenge because of the complexity of the web, mobile and desktop platforms. This is why NYT decided to make use of Flutter and, with a single codebase, create high performing apps for all platforms.
Flutter helps to power a growing number of Google Assistant apps. It is powering Google’s smart display platform including the Google Home Hub, taking the first steps toward supporting desktop-class apps with Chrome OS.
Realtor’s app was originally built with Objective C and Java but as it became hard to scale, the developers formed a new cross-platform development team and switched to Flutter and noticed a great productivity boost.
React Native vs Flutter - Which is better for me?
Generally speaking, when trying to answer such a question there is one key thing to keep in mind - your personal requirements. For some, one framework will simply be better aligned than another and that's fine. That being said, let me just briefly compare the two to give you a better understanding and hopefully bring you closer to a decision.
Both solutions include hot reload, which is awesome. It accelerates the development process by allowing developers to add new code directly into a running app. What is more, all changes can be seen instantly.
Ease of use
React Native is surrounded by an active and large community with plenty of tutorials, manuals and libraries that help to learn this framework.
Flutter is still relatively new and therefore has a significantly smaller developer community around it, however, it now has more stars on Github.
How to hire mobile developers?
If you want to develop an RN app for your business, you will most likely need mobile developers. Generally, like with every development, you can either hire a single developer to build an in-house team, augment your existing one or outsource the development altogether.
Choosing to outsource your project to a dedicated team of React Native developers gives you additional advantages over the usual ones, like cost savings or faster time to market, including a designer or QA engineer. The first one gives your software a custom design, while the second ensures the highest quality and amazing customer experience.
There are quite a few things to consider when looking for a suitable team: portfolio and testimonial reviews, cultural fit or well-developed communication skills. To ensure you found the right one, ask them the right questions. More on that topic you can find in 10 Questions You Should Ask A Software Outsourcing Company.
Having an experienced development team that can take your idea and turn it into a powerful working solution is crucial for the success of your project. Selleo software engineers are able to take care of your product from start to finish, no matter the tech stack or industry. If you want to find out more, feel free to contact us to discuss how we can help you.