React Native for iOS developer: my journey and impressions

My journey from a complete beginner to production-ready apps

Anton Kuznetsov
Jun 5, 2018 · 5 min read
“A brown mug next to a MacBook with lines of code on its screen” by Artem Sapegin on Unsplash

Hi everyone!

So I've been busy with some React Native stuff lately and in this article I'll describe my journey from a complete beginner to a point where I feel ready to fight real world challenges and build real production-ready apps with this awesome tool. Please note that this is not a quick start guide for iOS developers, but a list of resources I used to learn React Native with my thoughts on them.


Let me introduce my self first: My name is Anton and I've been developing iOS apps at Crystalnix for over 4 years now. During that period I've faced a lot of different challenges, digging deep into Objective-C, Swift, iOS hacking, private APIs and even some cross-platform development with Xamarin and Unity. But I was a complete beginner in that JavaScript ocean. Well, I had some basic JS skills, could do some CSS and HTML, but nothing more than that.

Nice interactive demonstration of how interface layout works in React Native at artsy.github.io

The first thing I did is type 'react native for iOS developer' in Google and find this nice article . Authors provide a really good explanation to what is going on under the hood, compare it to what iOS developers are used to use. There are also really nice interactive examples.

However, the article is so big, I think anyone who can make it to the end in a single run should be granted a medal. 20 minutes in I was overwhelmed with all this new information and was not even in the middle of it. So I gave up on this article for now and started looking for some faster way to get started.

An app from react native tutorial at raywenderlich.com

And there was my saviour, raywenderlich.com (as always) and this great article "React Native Tutorial: Building iOS Apps with JavaScript". Just basics. No fancy state management, redux, IDE configuration and all that. And most importantly — you are actually doing something and not just digging your self deep in theory. 30 minutes in and you'll have a fully functional app and basic understanding of how to set up your project. Just what I wanted!

Where to go from here? I was feeling like I needed a course or a book which I could follow and build a real app that would do something useful.

So I found this book at packtpub.com called "Mastering React Native". Well, actually it was in one of the packs at hublebundle.com which included something like 15 books for $15. Not a bad deal, I though.

The description was good, it promised me that I will build a great app for both iOS and Android. BUT one thing that I didn't notice is that the book was almost a year old.

OMG, never read a book on React Native that is older than a month. Or even better — never read a book on React Native at all! Literally, RN is not even 1.0 at the moment and it is changing so fast that even a month-old advice may not work in the most recent update. Better find fresh courses and articles on the internet.

There is one thing I really enjoyed in this book, though — a brilliant explanation of Flux architecture. This book teaches you how to implement your own Flux from scratch and then gives you an introduction to redux, providing you with a great understanding of how things work under the hood.

I was so impressed I was literally running around in the office the next day and telling everyone that we have to use this approach in our next project. I know that this is not something new, but I just never had a chance or interest to have a look at it before.

A speech at Facebook about Flux architecture

But apart from introduction to Flux the book was useless. The code was barely working, I had to google and fix everything more and more as I progress through it and somewhere in the middle I was stuck completely. I needed another option.

A Currency Converter app from Handlebar Labs React Native course

Every course I found was either paid or outdated, except this one:

"React Native Basics: Build a Currency Converter" by Handlebar Labs

The course is basically perfect for a beginner and it's free! It's more targeted to web developers, though, but that's ok at this point.

The author gives a few awesome tips on how to configure the IDE (Visual Studio Code), points out a few awesome extensions to make life a lot easier. Course is well structured and split into small pieces, 5–10 minutes each. You will learn everything you need to be up and running:

  • creating custom components
  • using redux for state management
  • using navigation
  • performing network requests
  • adjusting the app to work perfectly on both iOS and Android

It's being continuously updated and if something is not working as described in the video, you will surely find the answer on github.

Pay attention that this course assumes that you will use Expo to build and distribute your app. But ejecting the project form Expo should be fairly easy with a few small tweaks here and there. You may check out my repo on github for this app where I did not use Expo.

After completing this course you should be prepared to start working on your own project. There is still a lot to learn, though:

I've designed a small app that would generate a daily report describing what I've done during the day at work based on my activity from time tracker.

A small tool that I'm currently working on to gain some experience in React Native before starting a bigger project

Would you like to read an article describing the process of developing this app with React Native? Let me know in the comments :)

Summary

Here I would like to give a few recommendations to anyone who comes from the world of iOS development, as my self, willing to learn some React Native:

Anton Kuznetsov

Written by

iOS developer & UI designer at Termius

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade