Trying to launch an app — React Native

Tim Claes
2 min readFeb 22, 2024

--

This is part 3 already in my Trying to launch an app series, and if you’re interested in the previous articles you can read the introduction here. Today I’ll focus on the mobile part of the Rouleur app.

Development speed

Rouleur is merely a side project next to my main profession, so speed is crucial. I need to be able to make a lot of progress in a minimal amount of time, so thinking things through first is important.

To Expo or not to Expo

Coming from a native (iOS) background, I’ve always preferred the RN CLI over Expo. I did work on a greenfield Expo project recently, and I was pleasantly surprised about the progress Expo made over the past years. No more eject and a ton of really useful libraries, even for bare RN projects. But for now I’m sticking with bare RN, since ideally I’d like to add some native functionality later on (widgets for example).

User interface

Unless for navigation and really complex stuff, I don’t like to use UI libraries for RN projects.

That sounds like it’s more work, but once you’re familiar with creating a custom UI library it gets really easy and fast (and fun!). Even more important, it allows me to reuse a lot of stuff I’ve created in the past.

Core dependencies

For non UI stuff some dependencies will be needed, but I’m sticking to well-known and battletested libraries. The total amount of dependencies needs to be limited, since I want to be able to upgrade them frequently to keep the app up-to-date with upcoming React Native versions. So maintenance needs to be minimal.

  • React Navigation (navigation, obviously)
  • Reanimated (Animations)
  • React Native Skia (SVG’s, gradients, image filters and other fun 2D stuff)
  • MMKV (persisted data)
  • Axios (networking)
  • Firebase (Firestore, authentication, push notifications)
  • Shopify Flashlist (performant lists)
  • Codepush (for crucial bugfixes that can’t wait on Apple / Google approval)

Next time…

In the next episode I’ll explain the game mechanics and other features used to differentiate Rouleur from existing cycling managers available (Sporza Wielermanager, Scorito Spring Classics and others). The first race of the Classics season starts in just a couple of days, if you’re into cycling go can already download the app and create your team!

--

--

Tim Claes
Tim Claes

Written by Tim Claes

Creating mobile applications

No responses yet