Could you introduce your app in a few sentences?

The name of my game is Color Match. It is an educational game which helps users to understand color combinations better in a fun way. It is for anyone who has a desire to pass time in a relaxing and fun way and also for people who use colors regularly (e.g. Designers, Students, Artists).

The game is currently on available on iOS and Android devices. It is a personal game that I created, designed and developed alone in my room in Lagos, Nigeria.

What made you decide to use/switch to React Native?

I have been learning React Native development for almost a year now and I didn’t have any personal work in production so I decided to make one after a huge argument with my little sister about the combination of colors that form “grey”.

She was taught in school that black and white combine to grey, but in my experience the right shade of primary/secondary colors (e.g purple and green) can also give grey. After she played my game and lost a few times on a grey color, she realized I was right all along.

I used React Native over other tools because of the speed of development (I made the game basics in one weekend). I also used it because I have used React in the past and it has helped me develop faster and write testable and clean code.

How did you transition to React Native?

I started the app from scratch with React Native. Before I dabbled into React Native I was working on front end web development with React. The transition was pretty easy in development but testing, building and publishing was totally different from what I was used to.

React Native and React have common libraries but mobile and web were pretty different. I didn’t expect to open Xcode and Android Studio as much as I did. I even found myself writing some XML/Java/Swift for libraries that didn’t link automatically.

Have your tried other cross platform technologies before using React Native?

No I have not.

What has your experience been working with React Native in terms of app performance, have you noticed any impacts?

React Native is very fast in performance and a lot of people have complimented the simple yet stellar UI of the game.

Sometimes though, React Native is noticeably slow on some older Android phones.

How has adopting React Native affected developer productivity?

I am very happy because I did not have to learn Java and Swift to develop a mobile application on both the App Store and Play Store. In less than a month, I went from design to published on iOS and Android.

IDE used:

Visual Studio Code (Development)

Xcode (Testing, Debugging and Building)

Android Studio (Testing, Debugging and Building)

Libraries used were:

react-native-sentry

react-navigation

redux

react-native-svg

react-native-admob

react-native-splash-screen

react-native-vector-icons

react-native-sound

react-native-push-notifications

react-native-iap

react-native-make-it-rain

What resources have you used to learn React Native? Books, tutorials, courses etc. Anything you can recommend?

I used React Native documentation and also YouTube tutorials by Academind and Traversy Media.

What are some things that you don’t like about React Native or that need to be improved?

I started creating my game with Expo and the only reason why I ejected was because of In App Purchases. Things would have been a lot easier for me if Expo supported In-App Purchases.

Anything else you would like to mention?

This was a wonderful experience and I urge developers to ty things like this once in a while to build deep knowledge about how tools like React Native work under the hood.

I live in Lagos, Nigeria and I am 19 years old, I really hope you test out my game.

You can get at me on instagram @mooredh and twitter @MOORE_DH also my email is mooredh99@gmail.com.