Mobile Developer - React-native or other? what learn

Hi, i want to know it’s React-native good or maybe it’s better learn other things to programming Mobile App?

1 Like

From what I’ve read, you can’t go wrong with React-Native. Since it’s popular, many resources are available for beginners.

Then again, what’s “good” or “better” for you depends on what you want. If you want to write once and publish everywhere, React-Native or Flutter is good enough.

But if you’re interested developing iOS or Android only, learn the respective language for the platform, like Swift or Java.

And if you want a job as a mobile app developer, maybe you can search the internet for job posts in your region and read their job requirements.

Hi, aside from what @wanzulfikri has already said, I’ve read that a native approach (so Java/Kotlin for Android and Swift/Objective-C for iOS) is best for application that are either kept open for a big amount of time or that need a particular usage of the device feature.
React Native, from what I read, produces something that is in-between a native and an hybrid app.
You have the pro of writing the code once (in JavaScript or JSX that gets than translated into the native language of various platforms) with a better performance compared to normal hybrid apps but you also have the con that probably not all the native features are supported.
Also, if I remember correctly, part of the codebase can still be extended with native code in Java/Kotlin/Swift/Object-C.

It’s cross-platform and cross platform toolkits are almost universally a pain in the ass, but it works well. It’s still pre-1.0 and it does have pain points (and it’s quite brittle)

There are alternatives, but afaics RN seems a very solid choice: it produces native code, JS/React knowledge is directly transferrable, and a vast cache of React (web) knowledge available online is directly applicable to RN.

The recommend platform for development, Expo is excellent when it works, and it does work very well for simple apps. It’s a phenomenal development environment tbh. Expo doesn’t need Android Studio/XCode available as long as you don’t need to access system APIs that aren’t included with it (Bluetooth being an obvious one that’s missing, but that’s generally not an issue), so is great as you avoid a lot of build issues & you can develop on any system you want (doesn’t have to be Mac).

However you often tend to hit a point where you need native code, or you need to do something Expo can’t do, and

a. at that point you kinda need a Mac because you need the ability to compile and run iOS apps, and
b. you need a computer with a load of storage (I’m on the basic 128gb MacBook Pro at my work and I need to be vigilant about cleaning it every few days else I run out of memory and the whole operating system starts to malfunction). And ideally lots of RAM and CPU cores, and
c. you now start to need to understand what the tooling for Android and iOS is doing to be able to debug the build issues you’ll inevitably get.

Tl/dr It’s good, it works pretty well despite some annoyances, I’d much rather be using it than developing two separate apps using two separate languages and toolchains. If you only want to develop for a single platform and you don’t care about developing in JS probably can stick with Kotlin/Swift (and the SwiftUI stuff looks slick as hell, so if it’s just for Mac/iPhone that would be a good choice), but otherwise RN is cool

Edit: just to add, Microsoft seem to be betting heavily on React Native (for Office, for example), so that possibly indicates it is going to have some serious longevity

2 Likes

I have used Android Studio for android apps. You have the option to use Java or Kotlin.