React Native Universal Monorepo

screenshot of React Native Universal Monorepo
react
react-native

React Native boilerplate supporting multiple platforms: Android, iOS, macOS, Windows, web, browser extensions, Electron.

Overview:

The React Native Universal Monorepo is an opinionated approach to supporting multiple platforms with React Native using a Yarn Workspaces monorepo. It utilizes Yarn Workspaces and TypeScript to create a modular React Native project, isolating the JavaScript app code from the platform configurations. This allows for the support of various platforms such as Android, iOS, Windows, macOS, Android TV, tvOS, Web, Web Browser Extensions, Electron, and Next.js. The approach promotes gradual React Native updates and allows for different versions of React Native to be used on each platform.

Features:

  • Yarn Workspaces monorepo setup
  • Support for Android (React Native 0.65)
  • Support for iOS (React Native 0.65)
  • Support for Windows (React Native 0.65)
  • Support for macOS (React Native 0.63)
  • Support for Android TV (React Native 0.65)
  • Support for tvOS (React Native 0.65)
  • Support for Web (React Native 0.65)
  • Support for Web Browser Extension (React Native 0.65)
  • Support for Web Electron (React Native 0.65)
  • Support for Web Next.js (React Native 0.65)

Summary:

The React Native Universal Monorepo is an approach that utilizes Yarn Workspaces and TypeScript to support multiple platforms with React Native. It provides a modular project structure that isolates the JavaScript app code from the platform configurations, allowing for easy support of various platforms. The approach promotes gradual React Native updates and supports different versions of React Native on each platform. Users can either use the provided repository as a boilerplate or follow the step-by-step tutorial to create the setup from scratch.

react
React

React is a widely used JavaScript library for building user interfaces and single-page applications. It follows a component-based architecture and uses a virtual DOM to efficiently update and render UI components

react-native
React Native

React Native is a framework for building mobile applications using React and JavaScript. It enables developers to write once and deploy to multiple platforms, including iOS, Android, and the web, while providing a native app-like experience to users.

eslint
Eslint

ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.

typescript
Typescript

TypeScript is a superset of JavaScript, providing optional static typing, classes, interfaces, and other features that help developers write more maintainable and scalable code. TypeScript's static typing system can catch errors at compile-time, making it easier to build and maintain large applications.