share

BUSINESS

6min read

React Native vs. Native App Development—Pros and Cons for Business

React Native is a framework created by Facebook to enable a smooth and easy cross-platform mobile development. It basically means that you don’t have to create an iOS and Android app separately. All you need is one codebase to develop beautiful apps for both platforms, without compromising on the UX and UI experience.

Today, the biggest companies in the world recognize more and more React Native app development’s potential for business. What are those benefits? Are react native apps the right solution for you? Is it better than the native development? We sat down with our Head of Client Services Szymon Nieradka to answer these and more React Native related questions.

React Native for your business. Find out more

How is React Native different from the native mobile app development and why is it becoming more and more popular?

The dream of having one framework that will cover all platforms was with the industry for years. Making that dream come true, however, used to be impossible. In fact, we were struggling with doing mobile cross-platform development for many, many years.

Regarding the web development, you access most of the functions on your laptop using one application—a web browser. Nobody questions HTML’s (to be more precise HTML5, CSS and JS) dominance since it’s a certain standard.

Mobile development went in a completely different direction. Fifteen years ago no one had an idea how to build an interface in mobile apps. We all remember how Symbian looked, and the differences between iOS and Android in the beginning. Back then it was super hard to prepare one framework that somehow would be useful on all other platforms. There were of course frameworks like Xamarin, PhoneGap and bunch of others that did their best to achieve that goal—but none of them was really good.

Nowadays, a few things have changed, especially when it comes to the UI. The efficiency of devices has increased and the market fragmentation decreased—there are only two players: Android and iOS. Only four years ago we were creating a mobile banking app for the largest Polish bank for iOS, Android, WindowsPhone, Symbian/Java and Blackberry…

I believe that React Native is the very first framework that allows us to create a mobile app, which will work both on iOS and Android when we don’t have to compromise on speed, efficiency and their overall look and feel.

The React Native app’s great look and feel depends in the end on the abilities of the developers. You need the right partner to work with and that part will never change.
SzymonHead of Client Services

Is React Native better than native?

There’s no yes or no answer here.

Last month we’ve started a few new projects. Two of them involve a pure native iOS development and one of them is a React Native project. We were wondering which approach is better for all of them—native or cross-platform development. The answer is: it all depends on the project.

If the client says, that the only platform they are interested in is iOS, then it doesn’t make sense to make it in React Native. If they are expecting to utilize platform specific features (such as iOS ARKit) then React is still not the best option here.

So sure, there are cases when we don’t recommend the cross-platform development. However, the fact is, that in around 80% of real business cases React Native can increase the speed of mobile development by 30%, sometimes even 40%. These numbers come from our projects, not from thin air, which is why I’d recommend it for most cases.

I have an app to develop. Why should I do it in React Native?

It is faster (therefore cheaper), and you don’t have to compromise on application’s features. It’s also easier to maintain. Once you find a bug, you can solve it in one place for both platforms simultaneously.

React Native is widely used by big brands so you don’t have to worry about it going anywhere in the next couple of years.

Does it affect the code’s quality and the end product’s overall look?

To be honest, it’s super easy to make a really ugly and slow native app—all you have to do is work with inexperienced designers and developers. Luckily, as I mentioned before, you don’t have to compromise on UI while using React Native.

We believe that only mobile app developers with a strong native background can prepare seamless mobile experience in a React Native application. Since they have a native experience, they know what to expect from the app built in React Native.

All of our React Native developers have strong technical experience with native codes. They are former Objective-C, Swift, Kotlin and Java developers and because of that, they would never deliver something that would compromise on performance, quality etc.

The React Native app’s great look and feel depends in the end on the abilities of the developers. You need the right partner to work with and that part will never change.

Of course, there are edge-cases where React Native is not the best option. In one of the projects we were working on last year, our customer asked us for an animated background that will look like a ‘spilled gasoline on water’ and will respond to the phone’s moves. And of course, this animation should not affect battery usage. We did it in OpenGL for Embedded Systems.

What are the most popular/ best apps built in React Native?

Bloomberg, Airbnb, Gyroscope Health, Uber Eats, Instagram etc…

It is worth mentioning that not all of them are purely React Native apps. The technologies can be mixed. Sometimes you will start with React Native and then customize the app with native or the other way round.

Not all of the major apps are purely done in React Native. The technologies can be mixed.

What’s the difference between a native-built app and a React Native app when it comes to UX and UI?

The biggest difference between React Native and previously mentioned cross-platform frameworks is their approach to UI. Most of those frameworks tried to generate user interfaces by using the same techniques on both platforms. Sometimes they managed to look the same on iOS and Android but they certainly didn’t behave the same way. Whereas React Native converts then same source code into different native components on both platforms. In other words, these are native components, only rendered in a different way. After all, there’s a reason why it’s called React NATIVE.

For example, a developer is writing a React Native code that’s suppose to render a button in an app. However, on iOS it’s an iOS-native button and on Android it’s a completely different, Android-native button. In the end, the button looks, behaves and reacts the same way. The only difference is, the actions performing behind these buttons are written in a non-native language.

So you won’t have to compromise on UI in React Native and you can expect your app to perform the same way as a native app would.

Why should one consider React Native in their business?

React Native is widely used by big brands so you don’t have to worry about it going anywhere in the next couple of years. It would affect too many giant companies, plus it’s a technology that the industry is very much focused on right now.

To keep it short, you should choose React Native if you want:

  • your app to be delivered sooner than in native
  • the development team to consist of only 5 people instead of 8 or more
  • testers to spend less time on regression tests
  • the bugs to be solved quickly
React Native is a perfect solution for your business.

If you’re not willing to use super platform-specific features like ARKit on iOS, then there is no better technology for you right now on the market. Maybe it’s worth to mention Flutter (Google’s framework for building native apps fast for iOS and Android)—it’s not fully developed yet, but we’re already looking into it at Polidea. We’ll have to see where Flutter goes, but right now React Native is the best option on the market.

Leave a comment below to let us know what you think about React Native development. Get in touch to talk to our experts about your next project!

share


SzymonHead of Client Services
UlaCommunication Specialist

LEARN MORE

Contact us if you have any questions regarding the article or just want to chat about technology, our services, job offers and more!

POLIDEA NEWSLETTER

Sign in and expect sharp insights, recommendations, ebooks and fascinating project stories delivered to your inbox

The controller of the personal data that you are about to provide in the above form will be Polidea sp. z o.o. with its registered office in Warsaw at ul. Przeskok 2, 00-032 Warsaw, KRS number: 0000330954, tel.: [0048795536436], email: [hello@polidea.com] (“Polidea”). We will process your personal data based on our legitimate interest and/or your consent. Providing your personal data is not obligatory, but necessary for Polidea to respond to you in relation to your question and/or request. If you gave us consent to call you on the telephone, you may revoke the consent at any time by contacting Polidea via telephone or email. You can find detailed information about the processing of your personal data in relation to the above contact form, including your rights relating to the processing, HERE.

Data controller:

The controller of your personal data is Polidea sp. z o.o. with its registered office in Warsaw at ul. Przeskok 2, 00-032 Warsaw, KRS number: 0000330954, tel.: [0048795536436], email: [hello@polidea.com] (“Polidea”)

Purpose and legal bases for processing:

 

Used abbreviations:

GDPR – Regulation (EU) 2016/679 of the European Parliament and of the Council of 27 April 2016
on the protection of natural persons with regard to the processing of personal data and on the free movement
of such data, and repealing Directive 95/46/EC (General Data Protection Regulation)

ARES – Polish Act on Rendering Electronic Services dated 18 July 2002

TL – Polish Telecommunications Law dated 16 July 2004

1)        sending to the given email address a newsletter including information on Polidea’s new projects, products, services, organised events and/or general insights from the mobile app business world |art. 6.1 a) GDPR, art. 10.2 ARES and art. 172.1 TL (upon your consent)

Personal data:name, email address

2)       statistical, analytical and reporting purposes |art. 6. 1 f) GDPR (based on legitimate interests pursued by Polidea, consisting in analysing the way our services are used and adjusting them to our clients’ needs, as well as developing new services)

Personal data:name, email address

Withdrawal of consent:

You may withdraw your consent to process your personal data at any time.

Withdrawal of the consent is possible solely in the scope of processing performed based on the consent. Polidea is authorised to process your personal data after you withdraw your consent if it has another legal basis for the processing, for the purposes covered by that legal basis.

Categories of recipients:

Your personal data may be shared with:

1)       authorised employees and/or contractors of Polidea

2)       persons or entities providing particular services to Polidea (accounting, legal, IT, marketing and advertising services) – in the scope required for those persons or entities to provide those services to Polidea

 

Retention period:

1)       For the purpose of sending newsletter to the given email address – for as long as the relevant consent is not withdrawn

2)       For statistical, analytical and reporting purposes – for as long as the relevant consent is not withdrawn

Your rights:

 

Used abbreviation:

GDPR – Regulation (EU) 2016/679 of the European Parliament and of the Council of 27 April 2016
on the protection of natural persons with regard to the processing of personal data and on the free movement
of such data, and repealing Directive 95/46/EC (General Data Protection Regulation)

According to GDPR, you have the following rights relating to the processing of your personal data, exercised by contacting Polidea via [e-mail, phone].

1)       to access to your personal data (art. 15 GDPR) by requesting sharing and/or sending a copy of all your personal data processed by Polidea

2)       to request rectification of inaccurate personal data
(art. 16 GDPR) by indicating the data requiring rectification

3)       to request erasure of your persona data (art. 17 GDPR); Polidea has the rights to refuse erasing the personal data in specific circumstances provided by law

4)       to request restriction of processing of your personal data (art. 18 GDPR) by indicating the data which should be restricted

5)       to move your personal data (art. 20 GDPR) by requesting preparation and transfer by Polidea of the personal data that you provided to Polidea to you or another controller in a structured, commonly used machine-readable format

6)       to object to processing your personal data conducted based on art. 6.1 e) or f) GDPR, on grounds relating to your particular situation (art. 21 GDPR)

7)       to lodge a complaint with a supervisory authority,
in particular in the EU member state of your habitual residence, place of work or place of the alleged infringement if you consider that the processing
of personal data relating to you infringes the GDPR
(art. 77.1 GDPR)

No obligation to provide data:

Providing your personal data is not obligatory, but necessary for Polidea to provide you the newsletter service

Refusal to provide the above data will result in inability to receive the newsletter service.

Profiling

In the process of providing the newsletter service, we make decisions in an automated way, including profiling, based on the data you provide.

 

“Profiling” means automated processing of personal data consisting of the use of your personal data to evaluate certain personal aspects relating to you, in particular to analyze or predict aspects concerning your personal preferences and interests.

 

The automated decisions are taken based on the analysis of clicked and viewed content. They affect the targeting of specific newsletter content to selected users registered to receive the newsletter service, based on the anticipated interests of the recipient.