Tip Calculator
This app has been developed using Expo and ReactNative
Lessons Learned
Expo cloud editor
Expo makes developing, building and deploying React Native Apps easy.
Expo also has this online editor using which I was able to learn the basics without having to setup the local environment.
Expo build system
Expo has build pipeline service that can be used to build Android and IOS builds.
Version update for Expo in Github Actions pipeline
Once I started using Github Actions with Expo build pipelines, updating versions quickly became a problem. I would often forget to update the version number for either Android or IOS and after waiting for builds to be ready and deploying them to respective app stores, I would find that the version is same as the one that I deployed last time. Standard Version solves this issue
- run: npm install
- run: ./node_modules/.bin/standard-version --release-as minor
- run: expo build:android --no-wait
- run: expo build:ios --no-wait
Deploy to Android and IOS App Store
TODO
VSCode Remote Deploy
TODO
Native Base
Dark Mode compatibility
Limitations of Expo
- Bundle size is large compared to the same app created with Flutter.
- Dependency on Expo.dev CI to build simulator and app store builds, Wait time can be painful during CI, I wish I could just use Github Actions to build the bundles.
- Unable to use fastlane to generate screenshots.