Meteor + React Native. Learning from Experience.

Since this post was initially published much has changed (for the better) in the Meteor + React Native ecosystem. Though the following may still be of value, for the most up to date information please check out my Medium profile.

We've been using Meteor at Differential to build powerful web applications for a few years now (well before 1.0). For nearly a year I've been using React Native everyday and as each day passes React Native is playing a larger role in the projects we're building, across multiple teams, at Differential.

I've learned a lot over this year and a lot has changed since I originally wrote this article. I had three initial challenges if you were planning to use React Native and Meteor together. Those were:

  1. No more user accounts
  2. No out of the box reactivity
  3. Data interaction

I'm happy to say that none of these are problems any more. That's all thanks to the react-native-meteor NPM package. This package is a complete clone of the Meteor client side API which means that we have:

  1. User accounts
  2. Out of the box reactivity
  3. The normal minimongo data interaction you've come to expect from Meteor

Not only has it gotten easier to build a React Native app backed by Meteor but we've also figured out different ways of building applications.

For example, rather than using the Meteor pub/sub system we use Meteor methods to fetch our data, Redux to store our data, and generally build our apps as a React Native app first, then a Meteor app, rather than the other way around.

I'm very happy with this technology stack and have invested a lot of time into learning it, optimizing it, and teaching others about it.

If you want to stay up to date on this stack and really learn how to build apps with it sign up for my email list. I send out a new article every week. Subscribing will make sure you're staying up to date.

If you want to dip your toes into it right now, here are a few articles to get started.

  1. React Native Meteor Boilerplate
  2. Why Meteor is the Perfect Backend for React Native
  3. react-native-meteor