React Native vs Ionic 3

Hi !

For you what is the advantage and disadvantage for Ionic 3 and React Native ? And who is the best ?

Thanks :slight_smile:

Both can be used to achieve the same goal.

I can mainly explain the benefits of Ionic:
Ionic is based on Angular, which can be a advantage if you already have experience.
Ionic uses Cordova in the background which already has lots of plugins for native functionality.
Ionic you have a base that is deployed to both platforms, for React Native you only share some code if I understood it correctly.
We (this community) exist for community support for Ionic.

Who is best? Whoever solves your problem best.

3 Likes

React Native being a tech stack using native rendering will produce something more polished, but of course with less code share.

There are emerging technologies such as Microsoft ReactXP which aim to share much of UI layer between Android iOS and web - early days however so we’ll see how that works out.

Also there’s a noteable point here. Ionic have made huge strides in producing like for like UI components, but even with their best efforts they still are a small team versus a huge team producing actual native components at apple and Google where the levels of minuscule detail into every facet of the UX (animation speed, length of key press etc) are worked out and decided upon painstakingly.

I am struggling myself to justify this approach as it seems we’ll always be playing catch-up and ā€˜me too’, essentially fighting the tide. I’m still inbetween minds as being a web developer at heart this way of working is very natural for me.

Many of you have seen my work on github and hopefully many will have benefitted from my approach on various aspects (rich text editor for example) but even I am coming to the conclusion that his approach albeit right for many will never quite hit the mark for many clients.

This is my last post on this forum, if people would like to contact me they can do on GitHub judgewest2000 regarding my various projects on there or anything else and I’ll endeavour to help in any way I can. I like a challenge.

The very best to you all.

3 Likes

@Judgewest2000
Thank you for your responses and personally, many thanks for that RichTextEditor. All 1/2 hour of it!
Cheers and good luck.

1 Like

I see in Ionic the great advange of reaching more platforms, specially ā€œbrowserā€ platform. So you can build apps and serve them also as websites, not just Android, iOS or WP (not as popular, but you can build for it too). Plugins also works on web (some of them). I find it very useful. An example of app (mine): lite.appdoone.com / https://play.google.com/store/apps/details?id=com.imaat.appdoone.lite

Best of luck man! Thanks for the obvious amount of time and energy you’ve put into helping others on this forum.

1 Like

I haven’t used react, so also can only speak to Ionic. But I do use VS / Xamarin cross-platform which has what I consider a similar advantage on Ionic which is native-like performance.

I’ve also found that smart, effective coding with Ionic has a huge impact on performance. If you code well, it reacts well.

Also, one huge factor is Ionic’s mapping. Performance is not great if you’re not using GoogleMaps SDK. If you are (which I always do now) performance is great. So, use it!

For me its simple:

  • Ionic is simpler to maintain if you are developing cross platform - there is much more re-use (almost 100%, notwithstanding platform specific plugins and browser engine quirks)
  • If ultimate UX elegance is your goal, go with react. I very strongly feel this to be true. Any platform (like ionic) that basically powers itself on a headless browser engine is at the end of the day at the mercy of how the browser behaves. If you are building cross platform apps that are complicated, its a pain and requires a lot of experimentation to overcome browser specific quirks.
  • React is faster than Ionic (assuming you’ve written good code on both sides)

I went with ionic because:

  • I’m not a prolific coder
  • I’m a single person supporting 5 different ports (2 mob, 3 desktop) - there is no way I could imagine doing this in any other platform like react
  • The kind of apps I do need to look nice, be ā€˜reasonably performant’ (ionic is ā€˜reasonably performant’) but I can easily see the differences between ionic transitions/animations and native ones.

Oh, and finally, if I were a more productive coder than I am now (this is a big one - coding is not my profession so it takes me a long time to get things to work), and if I knew of React when I discovered ionic, I’d have gone with React.

1 Like

4 months of learning React Native and React…
I’m back to Ionic 3 / Angular

Here are very short summaries.

React Native

  • React Native’s learning curve was pretty short. React seems to be bit easy to understand than Angular. However, Angular has more features but with React you have to find some other plugins to do many things from a huge community. Community is huge but there were pretty useless plugins out there and spent lots of time searching for plugins or you had to build stuff yourself.
  • Sharing code is almost impossible with React Web and React Native. This means to support more platforms other than mobile such as electronJS or mobile web, you have to spend more time to build. It’s not a single code to deploy to multiple platforms concept.
  • Even looking for simple routing, it was very buggy (using React Navigation or some other routing libs from AirBnB was not ready for production use. No solutions to those bugs, issues are just opened in Github with lots of comments. That’s it.)

So, yeah 4 months of struggle, I gave up building React Native, and i am happy to be back with Ionic 3. Building is so much easier, and performance is almost Native.

10 Likes

Jonce stencil is used i guess one can use react native or any other framework along with ionic components?

Thank you all for your responses and especially for Judgewest2000 who answer all my question since two months :frowning:

1 Like

Sad day. He was a helpful chap. I tried using ReactNative, and couldn’t make any progress toward starting an app without having to downgrade npm, uninstall and reinstall multiple things, etc…, and still didn’t get an app up and running, so I’m seconding my vote for Ionic.

Wasn’t that bad for me. But they certainly have many issues. I see many apps out there with react native and seeing the issue that i had. Especially, with React Navigation double tap problem. Seems there’s no solution to this and enterprise apps are even having this problem.

Yeah. Ionic 3.

Performance is getting better and better as the devices are getting powerful. There are certainly some issues with Ionic since it uses WebView, but problems can be easily solved.

One side note. I see only AirBnB made a great app with React Native. I don’t see others.
Unfortuately, NativeScript is way behind React Native.

I’m sharing my experience using Ionic to build an internal app. Why we chose ionic over react native?

P.S. Our app is crazy fast in iOS being used by company employees globally, even in slow network areas, we are not facing any problem :slight_smile: It has charts, lists, side menu, login, push notifications…

If you just want to see the look and feel of ionic app, here’s a sample open source app - https://github.com/aggarwalankush/ionic-mosum

4 Likes

Great summary @ankushagg93 I also find Ionic useful as a framework to learn once and write anywhere.

I would add that the Ionic team has done a great job with evolving their framework since 2.0. With each update I find my Ionic apps run faster and have less platform specific quirks.

IMHO, Ionic is a great way to develop an app with several native capabilities for multiple platforms.

Ionic uses Angular which is Developed by Google.
Progressive Web Apps (PWA) are developed by Google.
Ionic supports PWA.
PWA have a great conversion rate and gaining momentum fast.
Bye Bye native apps?

Huh? I think you mixed up a few things here.

What did I get mixed up?

The only disadvantage mentioned for PWA is ā€œService workers support is not available on Apple platform, so web app will run fine on iOS and Mac but it won’t be able to tap into native capabilities.ā€

However:

PWAs are developed by web developers. It’s just another name for web apps with a specific set of features.