You want to develop a mobile application in 2020. You are not an expert, but you want to make the right choice… this article is for you!
Why be vigilant?
Unless you want to redevelop the same application every year or have unlimited funding, it is important to choose the right technology for your application development up front. Obsolete technology will give you satisfaction at the time but you risk being limited if you want to make changes to your application. A technology that is too recent and used by a community of developers that is too small represents a risk in terms of maintenance and could force you into a forced marriage with your service provider.
So opt for a widely used framework with a growing user community.
Native vs hybrid framework
First of all, a few definitions.
Native development is specific development for each mobile OS (iOS, android, Windows, etc.). Developing natively is like developing a specific application because the frameworks are not the same and require different skills. There will be little possible mutualization between these different frameworks. If you want to be able to develop an app available on iOS and Android, it will cost you roughly the price of two apps.
Hybrid development allows single development to serve different OS. Before 2015, this type of mobile development was quite deceptive from a performance point of view and the design leeway allowed. Since 2015, new frameworks have allowed impressive results, largely meeting the expectations of even the most demanding. Even if only one code is developed, it uses the native functions of the devices, which gives a user experience very close to that obtained with native development… but with a much more attractive economic model.
Here is schematically what can guide your choice between native development and hybrid development:
- You have a lot of time and a lot of money -> Native
- You only want to develop an application for iOS or for Android -> Native
- The application is very complex -> Native
- You want an application available for iOS and Android -> Hybrid
- You want rapid and economical development -> Hybrid
If your choice turns to hybrid development, you will then have to choose between different frameworks.
The best hybrid frameworks The 4 main hybrid (or cross-platform) frameworks are:
Created by Facebook in 2015, it is also used by Tesla, Walmart, Skype and Airbnb
Very popular, its version 4 is currently available in beta. It brings together a growing community of developers.
The latest entrant, launched in 2018 by Google, means there is a large developer community behind it. It serves Google Pixel smartphones particularly well. Maybe a bet for the future even if at the end of 2017 the Pixel only represented 3% of smartphone sales in the US.
Property of Microsoft, Xamarin is one of the most prominent hybrid frameworks… but it is not Open Source unlike the 3 others mentioned above.
Topic 2020, React vs Flutter
With the launch of its Flutter framework in 2018, Google is providing an interesting new alternative for the development of “hybrid” mobile applications.
You will find many articles that make more or less complete and objective comparisons between Flutter and React, here is a small selection:
- React-Native vs Flutter (Feb 2019)
- Flutter, Google’s UI framework, would it be better than Facebook’s React Native (August 2019)
- Flutter vs React Native: What to choose in 2020? (Dec 2019)
- React Native vs Flutter (Jul 2019)
- Flutter vs Native vs React Native for Mobile Development: What to Choose? (Oct 2019)
To summarize the “pros & cons”, in a popularized way for non-developers, here is a summary:
Speed of development: One point for React!
Performance: It leans a bit towards Flutter but….
Apps developed with Flutter seem to be slightly smoother than those developed with React. This can be noticed for users with smartphones with little power. However, the benchmarks are not unanimous.
Conversely, applications developed with Flutter tend to require a little more storage space on smartphones.
Community support: A good point for React… even if…
To date, the community using React is larger than the community using Flutter. So this suggests that you (or your development team) will be able to more easily find support to resolve your issues if you are using React. That said, with the Flutter user community on the rise, you won’t be left behind using Flutter.
The real question to ask yourself: What are your needs?
React and Flutter are both very good development frameworks. The question is not therefore to know, in absolute terms, what is the best Framework but above all to define the one that best suits the typology of your project and the skills of your teams.
- 100% mobile project -> Flutter
- Web / mobile project (mobile app with Web Back office or API to third-party services) -> React
Why choose React Native?
React Native is the most widely used Open Source framework today and has the strongest developer community. As shown by the infographic, produced from the results of the end of 2019, more than 546,000 “commits” on GitHub (the preferred collaborative platform for developers) have been made.
React Native is in 2020 the framework on which we note the most activity from the developer community.
Without being definitive and settling a debate as to the best framework to choose for mobile application development in 2020, React Native remains for us the best option, which will ensure you a high-performance application that will last over time.
We are experts in the React Native mobile application development. You have a project? Let’s talk about it !