React Native vs Native Dev


#1

Hi again Kirupa community!

I´m back after being away for many years!

I would like to know your opinion regarding React Native vs doing a native iOS application? I enjoy using both Xcode and JavaScript but feel like everything is going to be automated and react will probably be old in a couple of years ahead.

Please share your thoughts.


#2

Everything will be outdated in a couple of years when it comes to programming - especially on mobile devices haha!

The two reasons to use React Native are:

  1. You love React/JSX, JavaScript, and Flexbox-like layout constructs and would like to stay with what you are familiar with
  2. You want to build an app with one codebase that runs cross-platform on Android, iOS, and Windows. You can re-use a bunch of code for a web-based version of your app as well.

If neither of these hold true, then you can build your iOS app natively using Objective-C or (my preference) Swift.

Great to hear from you after a long break!

Cheers,
Kirupa :slight_smile:


#3

You can’t really go wrong with native, mobile or desktop concerning performance. But it too (yes Everything) will require updates and changes as things progress endlessly.

@kirupa Depending on the project, do you feel open standards based development matches performance in most cases for most apps vs native?

What about Xamarin ? :grinning:

Concerning #2, there are other alternatives also for cross development and deployment. I think some might compile down to native or using native wrappers and such. Been a while since I have looked.

In this regard I was curious about Corona SDK as I had not looked at it in years and just found out that one of its inital founders Carlos Icaza passed away, formerly of Flash Lite, etc., at Adobe. Wow I had no idea. I remember after Jobs announcement on Flash, Carlos had some good insight about the internals and failures of Adobe and Flash. He was also a proponent for Swift down the road.

Care to share your thoughts further on this ?


#4

I really enjoy using React on the front end but Love Swift even more. I think you have more control over your apps when you’re building them natively specifically when you want to use phone hardware …etc

I have seen that web development has been made a lot easier. Look at Squarespace.com, you don’t need to know Programming to make web sites. Surly we will have the same thing happening for Web Applications and Mobile Applications as Apple and Microsoft slowly move us fully to the cloud and provide easier than ever solutions to simply create and release with ease using automation and AI.


#5

Native will always have a slight edge over web-based development when it comes to performance, but that gap is smaller than ever. The challenge is working with older devices that don’t have the faster DOM, JS perf, and other improvements. The other big one is native UI controls. You can’t get that with web apps, but things like React Native help.

Xamarin is OK only if you want to write XAML/C# and stick with their standard UI controls. If you want to use actual native UI controls that aren’t part of the standard set (which you will want to frequently do), then you will need to write some native code for those situations. If you are targeting Android, iOS, and Windows, that’s three platforms worth of UI languages you need to be familiar with. That may be a reasonable tradeoff :slight_smile: