React Native Cross Platform Starter

screenshot of React Native Cross Platform Starter
react
react-native

React Native Cross Platform Starter

One codebase to build for iOS, Android, Web and Desktop with React-Native

Overview:

The React Native Cross-platform Apps starter is a production-ready starter kit that allows developers to build cross-platform apps using React Native. It provides a solid foundation and includes key features such as platform compatibility, debugging tools, design components, state management, and more. With easy installation instructions, developers can quickly get started and customize the starter kit to meet their specific app requirements.

Features:

  • Platforms: Build apps that run on iOS with React-Native, Android with React-Native, web with React-Native-Web, and desktop with Electron.
  • Development: Test app with Jest, use absolute import paths, incorporate webpack loaders for JS, TS, fonts, and files, and utilize native debuggers like Flipper, reactotron, and redux-debugger.
  • Design: Access a design system with Dark mode, use eva-icons for icons, and render semantic tags like H1, H2, H3 on the web for better SEO.
  • Libraries: Utilize Redux and Redux-Toolkit for state management with persist storage, implement i18n with i18next, and incorporate tab navigation with react-navigation.
  • Deep Linking: Set up deep linking in the app by following the React-Navigation guide to replace existing deep-linking prefixes with domain-specific ones.

Installation:

To install the React Native Cross-platform Apps starter, follow the below steps:

  1. Clone the repository: git clone git@github.com:turbothinh/react-native-cross-platform-starter.git && cd react-native-cross-platform-starter
  2. Install dependencies: yarn && yarn app:dep
  3. Run the app:
    • In terminal 1, run packager with yarn app:start.
    • In terminal 2, run yarn ios for iOS or yarn android for Android. Do not run both commands simultaneously.
  4. Run on web: Execute yarn web:dev to run the app on the web.
  5. Run on desktop: Use yarn electron to run the app on desktop.
  6. Set up your brand:
    • Change the project name: Run npx react-native-rename <your-new-project-name> inside the root folder to rename the app.
    • Replace the icon.png and logo.png inside the public/assets folder with your own assets. Then run yarn generate:icon && yarn generate:bootsplash.

Summary:

The React Native Cross-platform Apps starter provides developers with a comprehensive toolkit for building cross-platform apps using React Native. With its range of platform compatibility, development tools, design system, libraries, and deep-linking capabilities, developers can leverage the starter kit to build robust and feature-rich mobile apps. The clear installation instructions make it easy to get started and customize the starter kit for individual project requirements. Overall, the React Native Cross-platform Apps starter is a valuable resource for developers looking to streamline their cross-platform app development process.

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.

webpack
Webpack

Webpack is a popular open-source module bundler for JavaScript applications that bundles and optimizes the code and its dependencies for production-ready deployment. It can also be used to transform other types of assets such as CSS, images, and fonts.