Is Ignite a React Native starter kit for beginners or for experts?

Jamon Holmgren
Red Shift
Published in
5 min readMay 13, 2021

--

A question we get in the Infinite Red Slack Community fairly often is:

Hi, I’m new to React Native. Is Ignite for beginners or experts?

I’m going to answer this question once and for all.

Ignite’s Purpose

In order to know who Ignite is for, you first have to understand why it exists at all. Let’s take a look at Ignite’s four main purposes for being.

Infinite Red Starter Kit

With over 12k stars on Github, Ignite is the most popular React Native app boilerplate for both Expo and bare React Native. It’s also first and foremost a tool for Infinite Red. After all, if we won’t use it, why would anyone else?

React Native vanilla apps are unopinionated and come with just one file — App.js — and no real folder structure. This is generally a good thing, as it allows teams to set things up the way they want to. However, we’ve learned a thing or two over the six years since we started using React Native, and we want those opinions to make it into every app we build.

Infinite Red’s React Native developers use Ignite for almost every greenfield (aka “from scratch”) React Native project we get. The idea is that it handles most of the common setup steps we often have to do to get started — spinning up a new React Native app, adding Reactotron, implementing our stack, and setting up our folder structure.

Best Practices

It also serves as a “living repository” of our current best practices. Instead of having a document somewhere saying that our current favorite state management tool is MobX-State-Tree, it lives in Ignite’s boilerplate itself. As we iterate on our stack, the best tools get integrated back into the boilerplate.

Community

Fun fact: Infinite Red’s owners (Todd Werth, Gant Laborde, and me) met via open source! We then met in person for the first time at a tech conference where we were all speaking.

Ignite is a natural continuation of that spirit. We love giving back. So we share Ignite with the world to give back and also gain helpful contributions.

Marketing

Uh-oh, that dirty word! But yes, Ignite has been a great source of new leads for Infinite Red over the years. People get to know about Infinite Red through our open source and, when they need extra help on a React Native project, they get in touch with us. It aligns our incentives with theirs, which is always a great way to sustain investment in an open source project. Ignite is over four years old already and we’re still investing a lot of time and resources into it.

Is Ignite for Beginners?

Beginners is a bit of a loaded term (as is “experts”, for that matter). We aren’t talking about complete beginners — if you landed on this page searching for “onion soup recipe” and don’t know what JavaScript is, for example, that’s a little too beginner.

But there are a lot of developers who are new to React Native. They might come from different stacks — front-end web, PHP, Rails, Node, and the like — or they might come fresh from a bootcamp.

When a developer comes from a different stack but is new to React Native, they will be interested in learning what the best practices are for building a React Native app. They may not have a lot of time or confidence to go down a rabbit trail that leads them into a corner. They may also (correctly) know that they lack the experience to know what works well as the project grows.

Ignite was originally written for these types of beginners, precisely because we were them! We had a lot of experience writing web and native mobile apps, but none at all doing React Native. Most boilerplates at the time were theoretical, not driven from experience, and so we used Ignite as a jumping off point and continued to evolve it.

So, you’d think Ignite is for beginners, right? However, it’s not necessarily a good choice for brand-new beginners. For example, we’re not using the easiest state management system, but rather have made a choice with MobX-State-Tree that is a great balance between ease of use and power.

So…is Ignite for React Native Experts, then?

Today, we’re much more experienced and can spin up React Native apps and incorporate our stack and opinions without much difficulty. I’d say it’s safe to say that Infinite Red React Native developers are some of the most experienced in the world, given that we have been continuously delivering RN apps since it was released in 2015.

So, why are we still using Ignite on every greenfield app we build?

Ignite has evolved with us. Over time, the integrations have become more sophisticated and powerful. We’ve built it for us — expert React Native developers — and conforming to the “Infinite Red way”.

Ignite comes with tools like command line generators for components/models/screens/navigators, MobX-State-Tree models, full internationalization support, theming, Reactotron and Flipper support, TypeScript integration, and much more. These are all things that let an expert developer hit the ground running — like we do every time we spin up a new project. We generally save about 2–4 weeks off the front end of a project by using Ignite.

If an expert developer likes the IR Way, they’ll appreciate how much Ignite speeds up the development process. Additionally, these choices are battle-tested — we never put something in Ignite we haven’t done in a real project (or five).

After reading this, you’d think that Ignite is a no-brainer for React Native experts! However, experts may hold their own opinions already — to the degree that they find themselves somewhat frustrated with Ignite doing things the “IR Way”. We know our way works, but there are plenty of other approaches to building React Native apps.

So who is Ignite for, then?

The correct but unsatisfying answer is … it depends, for all the reasons listed above — developers coming from other technical backgrounds into React Native as well as experts who want to use the Infinite Red stack. But don’t let that stop you! Ignite is packed with all kinds of value and even if you don’t fit neatly into our target audience, you’ll definitely learn something from the way that Ignite works.

Want to get started? Check out our Quick Start here!

If you need help, come on by the Infinite Red Community Slack.

Just know that if you ask the question, “Is Ignite for beginners or experts?” — you may just get a link right back to this article. 😂

--

--

Co-founder & CTO @infinite_red. Lutheran, husband, dad to 4, React Native Radio podcast host, Twitch streamer, hockey goalie. Talking shop!