Why You Should Be Using Meteor

I’ve recently worked on a couple of Meteor projects and have absolutely fallen in love with the framework. So, I decided to give you a couple of reasons as to why you should also be looking at using Meteor. I will not, however, be showing you guys how to use Meteor. For that, I highly recommend taking a look at the tutorial series on their website which has everything you need to know about getting started with Meteor.

The first reason, which is also perhaps the most obvious one, is the automatic two way data binding auto update that is provided to you by Meteor without you having to write any code to set it up. Now what does this two way data binding mean? It means that any changes made by any of the clients are automatically distributed to all other clients currently looking at the same data. And this is all done without you having to write a single line of code. If you would like to see a couple of examples of these I highly recommend taking a look at Meteors sample programs. This is one of them: https://github.com/Meteor/simple-todos/tree/377a8610c2fa77056d015e6998d5eb894436c99e. As you can see in just a few minutes you can get an application with automatic updating up and running.

The second reason you should consider using Meteor is the ease of setting up authentication. All it takes are two steps:
Type this into your command line:

Meteor add accounts-ui

And then add this to your template:

{{> loginButtons}}

And that’s it your authentication is now ready to go. And if you also want to add other Oauth authentication services such as Google or Facebook’s all you have to do is add this into your command line:

Meteor add accounts-google

If you’ve read my previous post on OAuth authentication you can tell what a time consuming process it is to manually add OAuth2 authentication to your application.

The third reason to use Meteor is its very simple one step process to get your website deployed and running on their servers. All you have to do is type this on the root directory of your project in the command line:

Meteor deploy my_app_name.Meteor.com

Your website is now deployed online with the following url. www.myappname.Meteor.com

This brings us to our fourth and last reason to use Meteor, the fact that it comes pre built with Android and Iphone sdk’s that come with their own simulators. This makes it incredibly easy to turn your online applications into native apps for mobile. If you would like more information on running your application on a mobile environment here’s Meteor’s docs on the subject.

Now Meteor does have one small issue, and that issue is that its entire ecosystem is entirely dependent on MongoDB. This gives developers very little control over how their data gets stored. If you have read my previous posts on using MongoDB for storing relational data you can probably tell that I am not thrilled with this. But as I have repeatedly emphasized in several of my posts, if you are not happy with some part of an open source library, then instead of complaining make a pull request. And this is what I am doing. I am currently working on a Meteor-postgres library designed to add full support for PostgresSQL to do the Meteor library. This library will provide back end integration with PostgreSQL and a miniSQL integration on the front end with AlaSQL. So if the one thing keeping you away from Meteor was fact that it was entirely dependent on MongoDB, that problem will soon be solved and you will have the choice to use a relational database to store your data.

Paulo Diniz