An iOS Developer’s take on React Native
updated 5 months ago; latest suggestion 5 months ago
The promise of writing code for iOS and having it “just work” out of the box on Android is a tempting one. That along with hot reloading code and the ability to push over the air updates to published apps make React Native a tempting proposition.
This talk will be from the perspective of an experienced iOS developer who has been working with React Native for the last 6 months and has shipped several cross platform apps with it.
I will talk about:
- The pro's and cons of developing with React Native.
- An overview of how React Native works and why its different from Cordova or other hybrid app approaches.
- The design and code structure of a medium complexity React Native app (sample code on github).
- Things an iOS developer should learn when getting started with React Native.
- Performance issues I encountered with React Native along with examples showing how to profile and solve these issues.
I will also provide an example github repo with some sample code to illustrate some of the points about performance I am talking about.
I've also worked with some hybrid apps in the past, React Native is very different from any of those (cordova etc) as its not actually based on webviews.
Based on my background, it might be better for me to change my talk to be an iOS Developer’s take on React Native. I could give an overview of the pro's/con's of react native and the pain points I encountered while developing/shipping several apps.
I've built hybrid iOS apps. They were huge disappointments to us the developers and our customers. Hybrid iOS/macOS apps I use are a huge disappointment too.
So, with all that out of the way…
I've got two specific issues:
Using a real world example is always fraught with peril. Especially a real world example that's not necessarily something everyone is likely to agree with. Marijuana is entirely legal here, but not everywhere. I'd encourage you to come up with a simple example just for the talk. It will make it easier to distribute sample code should you chose to.
The challenge you'll have with the laundry list of when to bounce to native code is keeping the attention of folks who aren't using React and aren't familiar with it. What will they take away from your talk? Is there some way to structure your talk so even they take something away from it?
I'm sure you will do a good presentation on React Native and how bits of the app will need to be in native code to take advantage of sophisticated parts of the platform, or get good performance, or make sense, or whatever. :) Of course, it's not necessary for every talk to appeal to every audience member. But it's not a bad goal to want to appeal to as broad a segment of the audience as you can.
Once they're hooked on the Evil Cookies™, you'll have them in your clutches and at a later date you can suggest they trade you the rest of their soul in exchange for React Native.