5 Reasons to try Meteor


meteorjs logo

Something new is coming to the JavaScript web development world. The problem is something new is always coming and it’s all too easy to miss the jewels in the sky from the barren chunks of rock and ice. I think Meteor could well be one of the jewels and here is 5 reasons why.


Save time and keep your code DRY (don’t repeat yourself) because Meteor uses one language, JavaScript, for both frontend and backend code. This greatly simplifies development by eliminating the context shifting between languages and you can also share structures between the server and client. No more building up a ‘dto’ on the server only to recreate something similar in your front end view code.


If you’ve ever messed around setting up your database instead of concentrating on your application you will appreciate how meteor automatically hooks up and starts a mongo database for you. Just start coding against it, and you’re done. Meteor also comes with the clever little addition of mini mongo which means your client has local access to its data which is automatically sync’ed with the server.


Talking of data, when working with Meteor it almost comes alive. Changes on the client are not only sent up to the server but those changes are also propagated to all the connected clients. The spacebars templating system which looks very similar to handlbars (by design I think) makes it easy to bind that reactive data to the UI.


While this area hasn’t been fully bottomed out yet, it is essentially based on Nodejs which is successfully powering many high traffic sites today. However, Meteor brings with it some neat tricks including something called ‘Latency compensation’. Essentially this is a clever trick that makes good use of the local database (mini-mongo) to reflect an update to the client immediately, and in the background send off the update to the server. This makes for a great user experience.


It’s not uncommon to need to take a site down to do a deployment, however, Meteor has focussed very heavily on enabling hot code pushes. It works by injecting new code into the client, rather like the data reactivity, but with the UI. With smart use of the Session object the user can just carry on using the system without necessarily being aware of the update. This also makes for a great developer experience. You can see your code changes take place before your eyes as you make them.


Hang on, isn’t this 6 good things? Well, yes, once I got writing I could stop without at least mentioning how thoughtfully the environment is setup up. When you begin building something in Meteor, it starts in an ‘insecure’ mode. This is makes it much easier to build out your first version. Once you have a good starting point you just remove the ‘insecure’ packages and you have a secure system to work with. Did I mention deployment? Just a command line away and your live to the word! It’s almost too simple

Meteor is currently at version 0.8 and as far as I am aware is hurtling towards it’s 1.0 release later this year. If you are about to start a new project or are looking for a powerful way to build out a SPA application then I would recommend taking a close look at Meteor. It also has a very active community who are building out many useful packages and you can just plug into your app.


javascript, Meteor, spa

You may also like

CQRS + Event Sourcing – Step by Step

CQRS + Event Sourcing – Step by Step

Are You Making These 10 DDD Mistakes?

Are You Making These 10 DDD Mistakes?
  • {"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}