Sunday

React Native 101: Development Projects Where You Shouldn’t Be Using React Native



Did you know that Airbnb dropped React Native? The news shocked the whole mobile app development world as a big name decided to set the sun on React Native in their projects. But why did this happen? Is React Native not the right tool for mobile app development anymore? In this blog we

will find out the scenarios and types of development projects where React

Native might not be the best choice for development.


React Native has

been making waves in the in the mobile app development industry and many

companies have started to adopt React Native because of its various advantages

over other hybrid app development tools like Ionic, Cordova or PhoneGap.  But can React Native be used for building all

kinds of apps?



What is React Native?


React Native is an open-source framework available to developers for the development of native mobile apps by using JavaScript. The key here is “Native”, before React Native was open sourced by Facebook there were different hybrid app development frameworks available but most of these frameworks allowed for hybrid development, not native development.


React Native uses native UI elements while hybrid apps use Web view. Web view means converting a mobile website into a mobile app that is not native.


So, here are some examples when it is not suitable for Android and iOS app development companies to work with React Native.


Resource Intensive Apps


While JavaScript

allows us to build smooth and fast apps with React Native but the framework is

still in its infancy stage when it comes to complex and feature heavy projects.

Apps like mobile games or navigation apps will need sophisticated visuals,

massive amount of user interactions and certainly require a high level of

customization.


Not only this,

resource intensive apps might require huge amounts of calculations and

processes running in the background too. In addition, React Native in the near

future might catch up with its native counterparts one day but right now it

still lack the ability to handle projects which have a very complex nature.


Platform Specific Apps


While I wouldn’t

say React Native is not suitable entirely for platform specific apps. If the

app is designed only for one single platform then there isn’t a strong enough

reason one should go with React Native, unless there are plans to include

support for other platforms in the near future of course.


The reason for

this is that the tools is built with cross-platform development capability in

mind, so if you are planning to support only one platform then it is a better

choice to go with a native development framework.


Utility or Media Player Apps


There are a lot

of apps out there like battery monitors, anti-virus software and media players

which are much easier to build using native languages because these types of

apps will almost always require native features and APIs provided by the

platform.



Writing native wrappers for APIs and components that belong to these kinds of apps might take a longer time than using native components.


So if you are

building an app that is similar to any of the above mentioned examples, one

might not want to consider using React Native for now. Now that we have gone through

some examples it is time to look at some aspects where React Native is not

doing so well when compared to its native counterparts.


Performance


When I say

performance, I am not at all saying React Native will always perform poorly, I

am referring to here is the slight difference in performance when compared with

native applications using native languages. Still, react native is better than

any other hybrid tools out there.


However, the

reduction in performance isn’t noticeable enough to have a huge impact on your

app.  The users might not even realize it

if you are using React Native to build the apps other than the examples shared

above.


Dependency on Third-Party Modules


This might be an issue that you might want to consider if you don’t have a team of developers maintaining the project. Third Party Modules are often used in React Native to speed up the development process as these packages have already created the bridge to certain native features that one will need to utilize.


Sometimes,

certain libraries are not well-maintained because these libraries are usually

open sourced by the volunteers of the community. There are also cases where

many open issues of these libraries are not resolved and hence one has to

maintain a copy of these libraries which might not be the best idea.


React Native is Still a Young

Framework


Not that its bad

to be a young framework, but the main issue with this is that React Native is

an open source software so it relies a lot on the community and Facebook to

actively tweak and improve the framework according to the user feedback.


So, whenever

Apple or Google releases a new update to their platforms or even introduce a

new feature it usually takes time for the same feature to land in one of the

updates in React Native.


Conclusion


It doesn’t matter if you’re running a typical digital marketing blog or running an e-commerce store, React Native is a great tool to build mobile apps that rely on the speed of delivery and a beautiful interface.


One can achieve

a lot with React Native alone, however, the tool still lacks utility when it

comes to apps that require heavy resources and needs direct access to the

native features.




::-
Previous Post
Next Post