Hi there! I'm Robin. As a web developer with over 7 years of experience, particularly in React, I built and published two mobile apps this year with zero prior app development knowledge. I thought transitioning into React Native would be easy. But I was wrong.
Challenges
- So many tools: You need so many tools and platforms for mobile app development. Xcode, Android Studio, Expo, EAS, TestFlight, App Store Connect, Google Play Console, and more.
- Performance: Mobile devices have limited resources compared to web. Optimization is therefore super important.
- Payment: Understanding RevenueCat, setting up your products, ... super confusing at first.
- Store Submissions: Preparing metadata, screenshots and assets, and the whole review process... was frustrating and time-consuming.
- Testing: You need to test on different devices!! It's better to test thoroughly than face app store rejections. Saves a lot of time.
My Key Learnings
- It can take super long for your app to be approved. Plan for it.
- Features trivial on web can be complex on mobile.
- Once you grasp the tools and processes, it's similar to web development.
- Expo has its own challenges compared to bare workflow.
- Be careful with native dependencies in Expo.
- Expo Go is only useful for basic apps. You'll need development builds very soon. And these require Development accounts.
I realized that other developers face the same issues. So I compiled all my learnings and experiences into a React Native boilerplate for web developers transitioning to mobile. It includes comprehensive documentation, video guides, payment integration, submission guides, Figma asset templates, and more.