In this course, you will learn to build scalable and performant apps with React Native, from a Product perspective.
With React Native, the most important thing is to understand the ecosystem and how it comes together to create an app. By understanding the overall architecture, we will be able to take the full of advantage the platform.
The course will start by covering the fundamentals like setting up the navigation, setting up the screens, styles, and the UI elements, before moving on to more advanced topics such as state management, crash/error reporting, setting up analytics and middlewares, debugging, and performance optimizations. We will also learn how to avoid/fix frame drops – possibly the most watched parameter of any UI application.
We will also build a Design System and will follow the Atomic Design Pattern of building layouts. A Design System primarily consists of three parts:
- UI Inventory and Patterns
- Spacing and Styles
We will cover these in detail through the modules of the course. We will also learn about the React Native best practices, how to avoid rabbit holes, and focus on building a performant app.
This is an opinionated way of building apps with React Native. The fundamentals discussed in the course, like Atomic Design Pattern and Design System, can be applied to building any UI application, not just ones using React Native.
One Complete App
The course comes with one complete eCommerce sample app that is discussed through the modules of the course.
The course builds on an open-source boilerplate template and is kept up to date with React, React Native and dependent library versions. It is also updated with the latest APIs and libraries that are introduced, like Hooks, hermes, flipper etc.
Why this course
We will take a Product based development approach to building apps. React Native abstracts out a lot of platform specific nuances, so wouldn’t focusing on building the app as an experience make the most sense. The design pattern will help us exactly with that, and we will put together a structure that is both scalable and extensible. This architecture also helps keep the design separate from the development.
At the end of this course, you will not only be able to build real-world apps with React Native, but also have the fundamentals of building any enterprise UI application.