TABLE OF CONTENTS

React Native Pros and Cons – 2022 Updated

reactnativepagepropicture

I see web and mobile development technologies on a crazy race to improve their performance each and every year.

Obviously, that’s great news. App development is becoming faster and easier to execute, cheaper to implement, more user-friendly with less effort, and so on. We live in great times – implementing a business idea has never been easier and technology is opening the doors of imagination wider than ever before.

For example, let’s take a look at mobile development. Everybody wants to build an app, and everybody wants to use them (according to stats, mobile apps are expected to generate over $935 billion in reveue by 2023.)

Mobile apps revenue 2015-2023

But until recently, creating an app was very time and cost-consuming. And before going to the market, budgets could evaporate and so could the entire project. To avoid that, businesses started to look for alternatives, and they found cross-platform development with React Native at the head as a great solution.

Today, you will learn about the benefits and limitations of React Native, and so you will be in a much better position to make an informed decision about adding it to your tech stack.

What is React Native?

React Native is an open-source platform created in JavaScript by Facebook. It enables you to build mobile apps for both Android and iOS operating systems. They can work on any device and still use one codebase only.

React Native is a perfect technology to save on development costs, yet still have truly native performance and user-experience flexibility.

It has a number of great advantages, many awesome “ready-to-go” templates, an army of dedicated contributors, and a crowd of fans.

Not to mention world leaders as core users:

Companies using React Native

It’s pretty much everything that technology needs to become hot and mature.

Although, like any other platform, it has its pros and cons and shouldn’t be used to execute absolutely every single project there is. We can see more and more developers and native developers choosing React Native as their core mobile development technology.

But it’s not the choice of developers only.

Thanks to many business advantages (great performance, low production and maintenance cost, and more), it’s not a surprise that many biggest players on the market are choosing React Native as well.

So what makes it so special for both businesses and developers?

Let’s dive more deeply into the advantages, and meet the pros and cons of React Native.

When to use React Native?

To keep it short, all mobile app makers that want their apps to work on all devices, and two platforms – Android and iOS, yet still keep it all in one codebase only.

Although React Native is becoming better and better in terms of performance and it seems to get closer to a truly native experience, there are still many differences that we should be aware of.

Cross-platform vs native mobile app

The most important difference between native apps and cross-platform apps is that native app is made to work on a particular operating system. That means they can use all the blessings of that system, yet it cannot work anywhere else besides.

However, React Native aims to be platform-agnostic in the future, because of re-architecting the framework.

Although cross-platform apps have been made to work everywhere, they still lack the kind of flexibility and performance on a specific operating system that native apps have.

Take an alligator and a fish. An alligator can walk and swim, but will never swim as good as a fish. On the other hand, fish cannot walk at all. So cross-platform apps are like alligators. They can swim and walk, but will never be as good at swimming, as fishes (native apps).

This is why if you are planning to build a game, or something extremely demanding design-wise, you should make a comparison of a cross-platform app and native apps more closely, to decide what should be your choice. Native apps are still unconquered if it comes to performance, yet React Native is silently getting there.

Just mind that performance differences are only visible in extreme cases, so if this is not absolutely crucial to your business, React Native may appear to be a much better idea from a business and development point of view.

Take Shopify and their decision on going full gas with React Native.

After years of native mobile development, we’ve decided to go full steam ahead building all of our new mobile apps using React Native.

Shopify

React Native in 2022

Before I go to the actual pros and cons of React Native development I would like to quickly stop and mention what really makes me so excited: with every release React Native team makes new improvements, so it becomes more and more attractive.

And 2022 is another good year for the users as it brought us React Native 0.68 with opt-in to the New React Native Architecture! 

The crucial point of the New Architecture is implementing a new rendering system – Fabric, that improves the interoperability between host platforms and React logic.

It renders the logic in C++, and the C++ core is shared among platforms, enabling React Native to render React surfaces synchronously.

Before that, the communication between the JavaScript and native thread was enabled by a bridge, which sends the data only after serializing as JSON. That effect in an asynchronous process. 

Another important change in New React Native Architecture is the new, native TurboModule System – an enhancement of Native Modules.

This feature significantly influences the start-up time of React Native app, because it allows the JavaScript code to load the modules only when they’re required.

In the previous model, all the modules were initialized at start-up, which extended the load time. 

The new architecture brings many advantages, like: 

  • Type Safety ensured across JavaScript and host platforms. 
  • Increased consistency, thanks to rendering implemented in C++ 
  • Better hosting platforms interoperability thanks to the new render system 
  • Improved data fetching thanks to the integration with React Suspense 
  • Even quicker start of the app thanks to TurboModules

React Native pros

The list below was created to give you the most comprehensive list of React Native pros possible and to divide them into two groups – pros from a business and a development perspective.

If you know more about React Native pros, please let me know in the comments.

Advantages of React Native from a business perspective

  • App development speed and cost – what developers love about React is that they’re able to reuse code and recycle components developed before by them and the wide React Native ecosystem. They can also share their codebase and make them work faster. What’s more, React Native developers handle app development for both platforms – iOS and Android, so you don’t have to hire two separate teams.
  • User Experience – as long as you are not using extremely complicated designs and interactions, or you are not making a heavy game, you are still able to build high-performance apps with an absolutely great user experience.
  • Faster time to market – you can arrive on the market much faster to test your MVP, get feedback and adapt changes accordingly without a need for a big investment.
  • Help on demand – React Native community is massive. Many problems that you may face during development, may already be fixed somewhere out there.
  • Maintenance cost – you only deal with one codebase.
  • React Native mobile apps are visible – it’s easy to get your apps listed in AppStore and Play Store. Not like PWA.
  • Quick and easy idea validation with MVP – MVP built with React Native lets you reach the market faster and get feedback from different users.

CASE STUDY – VEYGO

We’ve built MVP for car insurance company in 6 weeks

Learn More
veygo case study

Benefits of React Native from a development perspective

  • Easy to work with – experienced developers will definitely appreciate the development experience. Meaningful error messages, time-saving and robust tools make it a premium choice over other platforms.
  • Works everywhere – Once you learn React Native, you can build apps for iOS and Android and Windows.
  • Quick iteration cycles – which just simply adds more value.
  • Intelligent debugging tools – and error reporting mechanisms. Give it an advantage over others and allows developers to focus more on the productive part.
  • Easier to debug – uses Flipper as default.
  • Keep things minimal and worthy – it doesn’t force you to work in Xcode or Android Studio for iOS or Android apps respectively.
  • A large community of developers – who are contributing day in, day out.
  • Code reusability – developers can easily integrate 90% of the native framework and reuse the code for any platform. This feature not only saves time but also helps to cut down the cost of building two apps. Cool thing is that you can use the web app code (written in React) for a mobile app.
  • Pre-developed components – numerous open-source libraries are available to accelerate your work.
  • Live reloading feature – it helps to compile and read the file from the point where the developer made changes. Then a new file is offered to the stimulator which automatically reads the file from the beginning.
  • Compatible with third-party plugins – and does not require high memory to process. No specific web views functions are required and native modules are linked with the plugin through the framework. Smoother running and faster loading are key features for it.
  • Transform web projects into mobile applications – work done on this platform is easy to understand, and anyone can work around it although they were not previously engaged in it. It increases flexibility and web updates become consistent.
  • Smoother and faster UI – as compared to classic hybrid ones. React Native apps use native APIs to render their UI.
  • One codebase for all – a possibility of keeping just one codebase to run a project in an Android, iOS and web browser.
  • Demo mode – when using Expo, it’s possible to build a demo for a customer without actually pushing the app to the Testflight or Google Store. The only thing we need is an Expo App on a mobile device.
  • Hot reloading – allows developers to see the changes they applied in the code almost immediately, which saves a great amount of time.

React Native cons

Of course, like all technologies, there are some disadvantages of React Native:

  • Performance is still lower than native – React Native is not able to use all the blessings and potential of a specific platform. On the other hand, a native app can really maximize functionalities and deliver the ultimate user experience in the result.

    However, the re-architecture puts a lot of effort to make RN more performant, e.g. there is a new JS engine available – Hermes, and it makes apps running much faster on older Android devices.
  • Not efficient design-wise – If you consider complicated designs or advanced interactions as a crucial part of your business advantage, you should definitely go for native development.
  • Custom modules – many custom modules are already available, yet, there may be a need for some specific components that you will be forced to build from scratch yourself.
  • Updating issues – it’s hard to keep the app updated with the latest React Native version. Updating React Native versions is in most cases a complicated process.

Further readings

In this article, you had a chance to find out about the pros and cons of React Native, but if you want to know more, we recommend the following articles:

Still hesitating to choose React Native?

Article link copied

Close button

Leave a Reply