React Native or Ionic?

Asked

Viewed 10,445 times

26

I need to create an App and would like to know which of your technologies is the most suitable for mobile development today.

  • What is the main difference between Reactnative and Ionic?
  • Which of the technologies is the most performative?
  • Where the learning curve is lower?
  • 1

    It is worth remembering that we also have in this "fight" Nativescript, which has a proposal similar to Reactnative and can also be used in conjunction with Angular environment. Between Ionic and NS, NS is already taking the lead. Now between NS and RN, I believe it is more a matter of preference.

  • I didn’t know it until then, but I’ll take a look. But these days I read an article that seems to be very promising and that might diminish a little this world of native Apps, so in the future it may be that neither React Native nor Ionic nor Nativescript but PWA. https://medium.com/@marcosflorencio/Progressive-web-apps-futuro-b1ea15277aeb

  • PWA is a concept and can already be used. But still this one it will have some limitations, since it is nothing more than a Website rendered differently. But to access some native mobile functions, you still need an app. At least so far. The question is, how much time and money spent on app creation will be more advantageous to you? If it’s just to say you have an app, it’s worth rethinking the project. But nice article!

  • @celsomtrindade, Is React Native only an intermediate language (in the JS case), which is converted into the platform language and then compiled? Or is javascript running even over a js VM (like V8 or browser headless) that has a wrapper for native UI code?

  • @Juniorc-Sharp-Asp.Net take a look at the response of the bigown, she answers that you question

  • @celsomtrindade, is not exactly what I asked, but searching better, I found what you wanted to know, is in: https://www.quora.com/What-are-the-key-difference-between-ReactNative-and-NativeScript/answer/Valentin-Stoychev

  • @Juniorc-Sharp-Asp.Net we can say RN is 99% native and that 1% is in VM ;)

  • That article (click) is quite illuminating!

Show 3 more comments

3 answers

28


You should know that they both try to solve the same problem of facilitating development cross-Platform using web technologies.

React Native tends to be faster because it uses the native components always. But it has a longer learning curve because it runs away from what people are used to (uses JSX). Of course it depends on what you are used to. If you know Angularjs, it already makes it easier. The fact is that there is no glaring difference to one side or the other.

Ionic is a hybrid and non-native technology. It tries to reproduce the behavior of each platform and may or may not turn to the native components, even if you use something native, it will be indirectly, so not only will the performance be lower, but it doesn’t always look like you’re using something done for that operating system. If you start using plugins to improve the experience, begins to complicate the development.

React Native is very native, still using web technologies, and produces a better user experience.

Being native helps in performance and UX.

You tend to develop a little faster with Ionic, made the application, works even so on "all" platforms. It takes a little more effort with React Native.

Perhaps the main difference is that Ionic is "write Once, deploy Everywhere and React Native is "Learn Once, write Everywhere", at least that’s what they say.

Be sure to consider other possibilities that might be better than these for your case. It’s that usual thing, there is no clear winner. You have to take both, experiment until you find the right one for each project.

The decision is whether it will cost cheaper, in theory, or whether it will offer a better product, in theory.

  • 1

    Now it’s clear! As for the performance I think it’s indisputable that React Native is the winner, with Ionic still running on top of a Webview.

  • I have already developed commercial applications with Cordova (which is where Ionic runs) and it was painful. It’s very quick to create the app, but as we add features, more plugins need to be added, and the Ordova plugins are very fragile, there is always a problem of version or platform conflict. Anyway, I don’t recommend Ionic/phonegap/Ordova for medium or large applications, not so much because of the performance, but because the plugins are a disgraceful headache.

  • Excellent to see this point of view. I’ve been working with Ionic for a few months now, and decided to search for React Native. Ionic is actually too agile to leverage app development, especially if the developer is "fluent" in Javascript/Typescript. However, it is also a fact that several complications appear with the time and size of the app, so in these more elaborate cases, it might be worth investing in learning React.

11

Ionic is a JS framework for making hybrid applications using HTML, CSS, and JS. You need to use tailored plugins and Apis to use the device’s native functions.

React Native is a tool (Toolbox) that uses the native components of the device and connects to each other to set up a native application. For example, you don’t need to use CSS to style the UI components, as you will use the platform’s native components.

For example: Ionic = generic lego blocks (that cheaper brand) you build a castle that looks like lego, has the same features, but does not have the same performance as a native castle.

React Native = Original Lego blocks that you just need to learn to connect to each other using a special glue (React Native) to build a NATIVE castle.

In my view Ionic is still ahead by existing longer, has a larger community and a larger amount of examples and tutorials out there, by using the Angular Voce has a greater scalability when it comes to large projects.

React Native is still a baby compared to other frameworks, with a relatively smaller but equally active community. Perfect for smaller/personal projects.

My opinion: Create 2 identical projects on both platforms, test their functionality and performance. See which one suits you best, at the end of the day it all comes down to which language you identify most.

  • I took your advice, but despite getting more at ease with angular I decided to use React Native. Even being a younger technology I see no problem to risk building my App with React Native.

  • Ai sim @Lukssys Then tell us how your app looks, if you have a problem with React, just contact us. I advise you to join the community React Native Developers on Facebook.... a galera la ajuda muito! Ahh if you want to vote my answer as certain hehe =D

-3

For those who want to know better how React works underneath, this is an excellent article https://medium.com/nutripad/react-native-webview-ou-realmente-nativo-4e30a37ae020:

React Native is JS running on a VM and controlling the native UI

It is important to note that your application starts in the native environment, and the native then makes calls across the bridge and starts your JS app.

Other interesting links are:

http://www.reactnative.com/under-the-hood-of-react-native/

https://www.quora.com/What-are-the-key-difference-between-ReactNative-and-NativeScript/answer/Valentin-Stoychev

Browser other questions tagged

You are not signed in. Login or sign up in order to post.