About this Course

For JavaScript developers who want to learn React Native. Learn how to build not just an app, but a Product.

About this course#

The newline Guide to React-Native for JavaScript Developers is designed for developers who have been working with JavaScript for a long time, and want to understand how it serves as an excellent platform to build apps using React Native. The course will start by covering fundamentals like navigation, setting up screens, styles, and UI elements, before moving on to more advanced topics such as state management, crash and error monitoring, setting up analytics and middlewares, debugging, and performance optimizations.

Like any open source framework/platform there is a wide range of tools and libraries available to users of React Native. We will cover these topics using a set of time-tested, industry standard tools and libraries. Although developers are free to substitute any of these tools with their own choices, I've used these libraries on multiple apps in production and highly recommend them.

With React Native, the most important thing is to understand how these pieces come together to create an app. During the course, we're going to build an app using an open source boilerplate code.

However, this course is not just designed for those looking to jump into building apps using React Native. Unlike "jumpstart" courses that throw everything at you like a cookbook, we will take a step-by-step approach, teaching the different elements and how they come together, always keeping an eye on best practices and performance. We will be taking a product development approach to building apps; thinking about those things we need to take care of to achieve native levels of performance on both Android and iOS platforms.

The course does not expect you to have any prior experience in developing native apps. I only started building native apps a couple of years ago. It is not required for building React Native apps. The boilerplate code takes care of the base setup and everything needed to build your app. As you go through the course, you will realize there is no code written on the native side.

Who is this course for?#

This course is aimed at those JavaScript developers who work on JavaScript frameworks but do not know React Native, and want to learn how to build not just an app but a product.

To get the most out of this course, you ought to have a good amount of experience in JavaScript (the clue's in the name!), as well as knowledge of React. We'll be using TypeScript as well, so if you have understanding of that, it will be a plus.

What we're NOT going to do#

We're not going to be covering submitting your apps to the platforms' stores, and will also not be going into animations. This is a complete topic in itself. We will however discuss Lottie - by Airbnb, which is a great, unbelievably simple framework for micro-animations, as bonus content.

We will be building an ecommerce app over the journey of this course. Though I highly recommend that students build the apps they always wanted to build, along with the modules of the course, either by using the boilerplate template provided, or a setup of their own choice. This way, they can see their progress and make their own modifications.

Alternately, they can also choose to build the ecommerce app from a learning perspective.

React Native - an overview#

React Native is a platform for developing apps that can be deployed to mulitple platforms, including Android and iOS, providing a native experience. In other words, write once, deploy multiple times. This tenet holds true across most aspects of an app's development, including for example, usability testing, where the business logic that teams would have had to test separately on both platforms in native development only needs to be done once when using React Native. The code we write using React Native is good to go on both platforms and, in most cases, tends to cover more than 95% of the entire code base.

With this course, our aim is to help students learn React Native with best practices from a product perspective, enabling you to build and launch your own apps, realizing your own ideas. It is for developers and entrepreneurs who want to learn the how-tos of writing a scalable and performant app using React Native.

React Native as a platform offers a plethora of options, however knowing which to use, and when, comes from an understanding of how those pieces fit together; for example, do you even need a database or is AsyncStorage sufficient for your use case?

The aim of this course is not to advocate using React Native for all apps, rather the goal is to build students' confidence with planning for and using React Native in the best way to meet their requirements, helping them unlock its full potential.

In short, the course will help you:#

  • Jump straight into React Native using a boilerplate code well tested in production, keeping the focus on building the app from a product perspective

  • Build a strong foundation in the React Native ecosystem, with a good understanding of best practice

  • Build your app using React Native

  • Create a resilient architecture that separates design and development

  • Troubleshoot issues and performance bottlenecks

Start a new discussion. All notification go to the author.