ignite README

The project's README from github.com/infinitered/ignite. As one markdown file: README.md.

Ignite README Splash Image

Ignite - the battle-tested React Native boilerplate

npm version GitHub Repo stars Twitter Follow CircleCI

Proven React Native boilerplate

Developed and maintained consistently since 2016, Ignite is the oldest active and most popular third-party React Native / Expo app boilerplate.

This is the React Native starting point that the Infinite Red team uses on a day-to-day basis to build client apps. Developers who use Ignite report that it saves them two to four weeks of time on average off the beginning of their React Native project!

Intro Videos

Here are a few videos / talks that introduce Ignite and show off some of its features. Check them out!

Getting Started with Ignite
Getting Started with Ignite
Sweetening React Native Development With Ignite
Ignite talk at Chain React 2024 - Robin Heinze

Full Documentation

We've put great effort into the documentation as a team, please read through it here. If you're unsure why a certain decision was made related to this boilerplate or how to proceed with a particular feature, it's likely documented. If it still isn't clear, go through the proper help channels and we always welcome PRs to improve the docs!

Tech Stack

Nothing makes it into Ignite unless it's been proven on projects that Infinite Red works on. Ignite apps include the following rock-solid technical decisions out of the box:

Library Category Version Description
React Native Mobile Framework v0.81 The best cross-platform mobile framework
React UI Framework v19 The most popular UI framework in the world
TypeScript Language v5 Static typechecking
React Navigation Navigation v7 Performant and consistent navigation framework
Expo SDK v55 Allows (optional) Expo modules
Expo Font Custom Fonts v14 Import custom fonts
Expo Localization Internationalization v17 i18n support (including RTL!)
RN Reanimated Animations v4 Beautiful and performant animations
MMKV Persistence v3 State persistence
apisauce REST client v3 Communicate with back-end
Jest Test Runner v29 Standard test runner for JS apps
date-fns Date library v4 Excellent date library
react-native-keyboard-controller Keyboard library v1 Great keyboard manager library
react-native-edge-to-edge UI library v1 Enables edge-to-edge in Android
Reactotron RN Inspector/Debugger v5 JS debugging
Maestro Testing Framework Automate end-to-end UI testing
Hermes JS engine Fine-tuned JS engine for RN

Ignite also comes with a component library that is tuned for custom designs, theming support, testing, custom fonts, generators, and much, much more.

Quick Start

Prerequisites:

The Ignite CLI will walk you through the steps to ignite a new React Native app:

# Get walked through the prompts for the different options to start your new app
npx ignite-cli@latest new PizzaApp

# Accept all the recommended defaults and get straight to coding!
npx ignite-cli@latest new PizzaApp --yes

Once you're up and running, check out our Getting Started Guide.

If you'd like to follow a tutorial, check out this one from Robin Heinze.

Troubleshooting

The above commands may fail with various errors, depending on your operating system and dependency versions. Some troubleshooting steps to follow:

Reporting Bugs / Getting Help

If you run into problems, first search the issues and discussions in this repository. If you don't find anything, you can come talk to our friendly and active developers in the Infinite Red Community Slack (community.infinite.red).

If you still need help after reaching out to the proper channels, feel free to open a new GitHub issue via npx ignite-cli issue "Unable to Ignite new app" (as an example). This will help start writing your issue with the correct diagnostic information included.

Contributing to Ignite

Want to contribute to Ignite? Check out the contributing guide for more info on how to work with the codebase.

Need Inspiration?

If you need battle-tested solutions from Infinite Red experts on everything from Accessibility, to CI/CD configuration, head to Ignite Cookbook for code snippets from our team and the community!

No time to learn React Native? Hire Infinite Red for your next project

We get it – sometimes there just isn’t enough time on a project to learn the ins and outs of a new framework. Infinite Red’s here to help! Our experienced team of React Native engineers have worked with companies like Microsoft, GasBuddy, Zoom, and Mercari to bring some of the most complex React Native projects to life.

Whether it’s running a full project or training a team on React Native, we can help you solve your company’s toughest engineering challenges – and make it a great experience at the same time.

Ready to see how we can work together? Send us a message

Further Reading

License and Trademark Notice

This project's source code is licensed under the MIT License. The Ignite name, its logo, and any other brand assets associated with Ignite and Infinite Red are the exclusive property of Infinite Red, Inc. These marks are not covered by the MIT License provided herein and may not be used without explicit written permission from Infinite Red, Inc.

Note on Generated Code

The MIT License applies solely to the source code of the Ignite CLI and the source code of the included boilerplate project. Any source code generated by using the Ignite CLI, not including trademark assets described above, is owned entirely by the individual or entity that generated it.

However, some files may be added or installed automatically as part of the generation process (e.g. through npm packages). These files are subject to their own licenses, which may include more restrictive terms. It is your responsibility to review and comply with the licenses of any third-party dependencies included in the generated project.

ignite (infinitered/ignite)

Searching Database…

19.9K ·GitHub
这是什么?Ignite 是 Infinite Red 推出的 React Native 项目模板,内置一个命令行工具,以及用于生成组件和数据模型的生成器。该项目自 2016 年起持续开发,Infinite Red 团队也在实际客户项目中使用它。
这是我可以导入的库,还是项目生成器?它是一个命令行工具,可以为你搭建一个全新的 React Native/Expo 应用,并预先配置好一组精选的库。它不是需要加到现有代码库中的东西。
我该如何用它创建新项目?运行 Ignite 命令行工具(通常通过 npx ignite-cli),它会引导你生成一个新应用。之后请按照入门指南(Getting Started Guide)进行后续操作。
运行命令行工具之前,我需要安装哪些东西?你需要安装较新版本的 Node(该包要求 Node 20 及以上版本)。如果要在模拟器上构建和运行,还需要标准的 React Native 工具链,例如在 macOS 上构建 iOS 需要 Xcode 等。
安装过程总是顺利的吗?并不是。生成步骤可能会因操作系统和依赖版本的不同而失败,常见原因包括 Node 版本过旧、缺少 Xcode 命令行工具,或 Xcode 路径配置有误。
它生成的应用同时支持 iOS 和 Android 吗?支持。它会生成一个跨平台的 React Native/Expo 应用,同时面向 iOS 和 Android,Expo 则作为可选的 SDK 层。
开箱即用的技术栈里实际包含哪些内容?React Native、React 19、TypeScript、React Navigation 7、Expo SDK 55、Reanimated 4、用于数据持久化的 MMKV、用于 REST 请求的 apisauce、用于测试的 Jest、用于端到端测试的 Maestro,以及 Hermes JS 引擎等。
项目标签中的 'mst' 是什么意思?它指的是 MobX-State Tree,这是 Ignite 生成的应用过去常用的状态管理方式(项目标签中有列出)。
为什么不直接用 `npx react-native init` 或 Expo 的默认模板,而要用它?Ignite 集成了 Infinite Red 多年积累、经过实战检验的库选型、导航配置、主题、测试和生成器。据称,与从裸模板开始相比,它可以节省两到四周的初始项目搭建时间。
Size
60.4 MB
Stars
19.9K
Age
10y
Commits · 90 Days