Logo Awesome React

Awesome React

From React web to native mobile: mapping out the unknown unknowns

Engineers with experience using React for web coming who dive into mobile will feel at home quickly because the basic React API doesn't change. But building for mobile introduces a different way of thinking about the software that you create and React Native empowers you to embrace this rather than attempt to hide it from you: your primary mode of interaction is touch, animations are more common and are expected to be smooth and dynamically track your gestures, you actually have to think about how your app will handle offline / poor connectivity, what happens when the user backgrounds it and comes back, how to send push/local notifications and respond to them, how to stay at 60fps performance on a much less capable device with more demanding users, responding to the keyboard appearing and hiding - specifying different keyboard types, autocorrect/autocomplete, dealing with device orientation changes and status bar changes, app store deployment delays and more. I won't go into great detail about each of these points but will rather help you to build a mental map of the space and touch on solutions that React Native provides to handle these mobile-specific problems, in order for unknown unknowns can become known unknowns. So this talk is kind of to React Native what a maphack is to Starcraft, but totally not lame like that.

Brent Vatne lives in Vancouver and work primarily with Exponent and Iodine on React Native projects. With the rest of my time, I am a core contributor to React Native itself, I send out the React Native Newsletter each week and I try to go for long runs whenever I can.