Updating the React Native Meteor Boilerplate

A few months ago I released a boilerplate to build React Native apps with Meteor. A lot has changed on this landscape in the last 3 months and that boilerplate has fallen behind. It was extremely simple and used the best practices at the time — it was based off of how I was actually building React Native Meteor apps at that time.

We’ve now got react-native-meteor which gives us all of the same DDP capabilities (and then some) with a very Meteor like API (the goal is to follow it as closely as possible). This is now what I’m using to build apps and I was no longer recommending my boilerplate because it was no longer how I would suggest building a React Native Meteor app.

So, rather than put together a tutorial this week, I decided to take some time to think about the boilerplate and update it so it reflects the way I actually build React Native Meteor apps. Much of that structure is taken from real apps — not just demo stuff. I use that exact structure on a daily basis.

Here’s a quick video walk through

You can check out the update boilerplate here. It’s much more of a “real” app than it was before and I hope it will show you a few patterns to use.

Here are a few of the main points with this release:

  • Use react-native-meteor
  • Better starting design
  • Cross platform tabs
  • Opinionated routing
  • Opinionated file structure

It’s definitely more opinionated but, if you disagree with something I’ve done it’s easy enough to swap out. It’s always a challenge figuring out what’s opinionated enough to make it easy for people to get started but not so much so that you’re making too many choices for the end user.

Next up I plan to take the boilerplate one step further and start integrating it with Redux as that is how I’m truly building apps, though there is a bit more of a learning curve there.

Go forth and build with React Native and Meteor!

Let me know what you think and, if you’re interested in learning more about building React Native Meteor apps, sign up for my email list.