April 23, 2019

Adding delightful user experiences to your React Native App

A couple of months ago I started a YouTube series named “Can it be done in React Native?”: https://www.youtube.com/user/wcandill

In each episode, we look at a user-experience from an app people know and love, like Instagram, Snapchat, and so one. We discuss what makes the example exciting to look at, how we would implement it using React Native and finally we write the actual implementation. The source code of every episode is also available on GitHub.

I hope that this resource can be useful to some of you guys!

  1. 2

    One of the best channels I think I follow for react native development.

    Thank You !!

    1. 2

      you’ve just made my day, thank you :)

  2. 2

    As a React Native developer this is such a cool idea. Thank you!

  3. 2

    I'm deep in a reactnative project right now so thank you for sharing!

  4. 2

    I watched a lot of your early content when I had a React Native project about a year ago, keep up the good work! How much time per week do you typically spend on the videos? I assume they take a fair amount of planning before you jump into an editor

    1. 1

      Thank you man! I love doing it. On average it takes 6 hours to make one video (sometimes way more, sometimes it's pretty straightforward), now the process is improving a bit.

  5. 2

    This comment was deleted a month ago.

    1. 1

      On your first question - my latest RN app is iOS only, but not because Android is hard. It's just I want to get my product right before wasting time on Android (which has less potential reward personally due to less users and me being lazy about tweaking ASO for Play store).

      There's a few hoops you jump through integrating native libraries on each platform. It takes a little bit of context switching to go from one platform to the other. On top of that there's a few quirks Android has due to different behaviour of the underlying platforms (shadows, rotations, animations etc). It just take a little bit of extra time (not a lot though)

      1. 1

        This comment was deleted a month ago.

        1. 1

          I have no expert knowledge in either native platform and neither do I have any desire to learn. Integrating native SDKs (e.g. Facebook login, etc) are well documented either on Github or their official documentation. Sometimes there's a bit of pain if you miss a step, but if you're an experienced programmer you'll know how to debug things when they go wrong, it wasn't that hard. I'd say junior engineers might struggle on their own though. Hope that answers you question.

          The only time you'll need real native programming experience is if you're building something that requires a native feature that isn't supported by an open source lib. I've been coding RN for about 2 years now and never have anything I needed to implement natively myself.

          Also bear in mind I started my RN apps from scratch. If you have an AirBnB like project where you're trying to transition from an existing native app to RN (and bridging between the two as you go) then it's a different story.

    2. 1

      It's true that there are some substantial differences between iOS and Android when using React Native. My recommendation would be to use a tool like Expo: https://expo.io. Generally speaking, in order to provide a good user experience on both iOS and Android, you need to work with a subset of the APIs provided by React Native and you need to know them quite well. When working with Android first, things are way more likely to work on iOS than the other way around. This might be because React Native was first developed for Android. I have to say that things are dramatically improving on this side.

      Thank you! I use this one: http://www.rode.com/microphones/nt-usb.

      1. 2

        This comment was deleted a month ago.

        1. 1

          I had strong frontend experience. Essentially you need modern web development skills to be comfortable with RN (Modern JS, Modern CSS with flexbox and so on).