React Native Do with Firebase Integration
Since its release, the React Native Do starter kit has gained substantial traction and it was time to provide new updates to the kit. We are happy to provide a new integration with Firebase.
There has never been a better time to build an App
After building my first app, it quickly became clear that React Native is completely changing the economics of building an app. First off, required set of skills has changed from platform specific technologies (iOS & Android) to web technologies. If you know how to build a layout using flexbox, you know how to build a layout in RN. If you know how to build to modern JavaScript application, you know how to build a RN app. Secondly, you can test, publish, and update your app in a manner that is identical to the way we do it for the web. These agile deployment models can have a substantial impact on your development cycles. Finally, you can do code sharing between a React Native app and a progressive web app, allowing you to easily offer different distribution models to your users: web app, native app, and so on.
The React Native Do starter kit contains what we believe to be all the current best development practices in React Native development. The visual design can easily be customized and all aspects of the app are implemented: from navigation to state management. Statically typed, based on the latest React Native components, and with no native dependencies, this is the highest quality codebase you can get.
Why Firebase?
Firebase provides all the nuts and bolts required for a mobile app. In the case of the athleticflow app we use Firebase for:
- Email and Facebook authentication.
- Realtime database
- Storage
- Push notifications
- Cloud functions
- Hosting
Montly production cost: 0 USD.
It was a no brainer for us to use Firebase since it handled and documented every single use cases we had for the project. Cherry on top of the cake: the Firebase Bolt Security and Modeling language.
Single Source of Truth
In React Native Do, we use Firebase Bolt to design the data model of the app. From there, we generate the database validation and security rules and the flow types used within the React Native project. This prevents the backend and the client from evolving separately: Firebase cannot have a type definition that is different from the client and vice versa.
Happy Hacking
We hope that you will use React Native in your next project project. If you have always wanted to build a cool product in the mobile space, now is the perfect time to get to work. Have fun with it!