DEV Community

loading...

Everybody wants React Native. Should I still learn native iOS?

Evan Deaubl
A 20-year software generalist who has worked on everything from mobile apps to webapps to backend to embedded.
Originally published at appsdissected.com ・3 min read

The market for mobile developers is larger than ever. There’s a good chance that the reason you started learning iOS development in the first place was to get a full-time job building apps.

If that is your motivation, you may have looked at job boards and already had feelings of regret about your decision when you see a major requirement many companies ask for:

React Native.

Even if you really like native iOS development, you wonder whether you would be more marketable as a candidate by learning React Native instead. “I mean, after all, React Native is still mobile development, and I can claim both iOS and Android development, plus knowledge of JavaScript. That’s good, right?”

”I can give up the platform I love for the platform that gets me paid, right?” [cue tiny piece of soul dying inside]

I’m here to say, you shouldn’t need to. There is more than enough interest in native iOS development that — even if you don’t learn React Native at all — you will have no problem finding a job.


There are many iOS development shops who are much more interested in preserving the “native feel” of iOS and Android in their apps. Plus, there are high-profile apps, such as AirBnB, that once used React Native, and then decided that native apps were a better choice.

Long story short: there are still a number of reasons to choose native over React Native. As long as those reasons still exist — and I don’t see many of them going away — there will be demand for native iOS developers.

One big reason I’ve seen repeat itself is this: cross-platform frameworks come and go. I was head of development for a company where we initially built our mobile apps using a similar cross-platform framework called Titanium. We eventually moved to native apps for both platforms because we wanted to add many features that were very difficult for Titanium to support. Eventually, the interest in Titanium from the industry at large went the same way.

React Native has built up quite a following, but there is never a guarantee that a third-party dependency will stay up to date with the underlying platform, or stay suitable for your requirements. That is a very compelling reason for a company to stick with native development.

But maybe you don’t think JavaScript is that bad, and decide to pick up React Native anyway. Knowing native iOS development will still make you more valuable than the average React Native developer:

  • Many React Native apps are hybrid: either an iOS core with some screens in React Native, or a React Native core with native iOS code extensions. Knowing iOS makes you much more capable of bridging the gap between the two platforms.
  • If things in React Native don’t work quite as expected, you can fall back to your iOS knowledge to help you understand what may be going wrong and how to debug it.
  • If you have knowledge of iOS already, learning React Native will be easier, because you will already be familiar with the concepts at the native level.

iOS development will be around as long as iOS is around, and iOS doesn’t appear to be going anywhere anytime soon. If you love native iOS development, it’s still a great time to pursue it as a career.


Did you like this tip? The next tip on porting your Objective-C code to Swift more incrementally using extensions is already waiting for you. Or sign up to get every tip straight to your inbox.

This post originally published at Apps Dissected.

Discussion (4)

Collapse
sumanthyedoti profile image
Sumanth Yedoti • Edited

I completely agree with you. Can you please share native side knowledge required for RN?

sumanthyedoti profile image
Sumanth Yedoti • Edited

Thanks a lot. I am also facing the same things. To be a pro RN developer you need to be familiar with Native side at basic level, at least.