Updated May 4, 2016
Why Meteor is the Perfect Backend for React Native
Originally publish on medium.com.
There’s no such thing as a perfect technology stack. If you’re asking if X stack can handle the same traffic/load as Facebook I’ll tell you now that it won’t — nothing out of the box will. It’ll take a lot of smart people to handle those pains. But there are good combinations that allow you to be productive at the start and set yourself up for success going into the future.
And I think Meteor + React Native is one of those stacks (I’m biased). Let me explain…
Meteor is fast to get started with
curl https://install.meteor.com/ | sh
meteor create --full MyApp
cd myapp
meteor
That’s all it takes to get started with Meteor… you’ve got a working app now that’s got the recommended scaffolding in place. It’s fast to get started with. I love that.
React Native is fast to get started with
Very similar to Meteor — React Native is fast to get started with (at least on a Mac). It’s a similar installation process as above and the docs explain the process well. Beyond simple/quick tooling installation and quick new app creation, you’ll likely be able to develop your application faster. Since React Native is Javascript and uses the React architecture, if you’re already familiar with those tools you’ll be ready to develop iOS and Android apps in no time.
You share many of the same ideas between the platforms
Using React in a Meteor app is easy. React Native, as you likely know, uses React and the React paradigm. This allows us to embrace the idea of learn once, write anywhere — we use Javascript on our server and all of our clients. Yes you’ve got different platforms to support on the UI side but the way you interact with your data is extremely similar across every platform (and much of your UI code can be reused in Android and iOS).
Meteor makes realtime easy
Meteor’s pub/sub system is great and gives you real time data out of the box. I advocate using methods wherever possible on a mobile app but when the time comes to make a feature reactive, Meteor has you covered.
In React Native you write Javascript
I touched on this already but I wanted to reemphasize this. Every piece of your app is Javascript, at least a majority of the code you interact with will be. This makes makes the context switching minimal and it means that just about anyone can be a full stack developer.
With Meteor 1.3 you can start building your app in a “more professional way”
I’ve always loved the simplicity with Meteor — it allowed me to become a “real” developer in a short amount of time. But that ease of use did come at a cost once your projects started to get larger and more people worked on them. Fortunately with the release of Meteor 1.3 we can start breaking our code up more, controlling the load order, and testing our code. It’s a big step forward in the long term maintainability of Meteor while still having the benefits of getting started quickly.
Meteor 1.3 lets you move more towards the rest of the node ecosystem
Meteor 1.3 also allows us get closer with the node community by bringing npm support. No longer do we need to use wrapper packages for common npm code, we can get it straight from the source.
Built in React support on the web with Meteor
If your app also has a web side to it you can use React with Meteor. You’ll have the full advantages of a reactive web app with the same coding patterns as you do on your iOS and Android apps. This again embraces the concept of learn once, write anywhere.
Learn to Build Apps with React Native & Meteor
Due to demand I’ve put together a comprehensive course on building apps with React Native & Meteor. If this is something you want to learn I would highly suggest joining. I and the over 400 students in the course would love to have you!