Meteor like nothing else gives everyone, not only experienced Backend Developers, the ability to instantly develop applications in an accessible and easy way.
Why you should choose Meteor.js?
- not every novice programmer wants to learn for several weeks about another programming languages before making a simple application. HTML, CSS and JavaScript are the basics that are necessary to learn to create websites, but adding another language can be considered as an unbreakable barrier;
- not every Front End Developer wants to learn additional programming languages, but each of them have to know Javascript to do their work. This is a great opportunity for rapid introduction to the world of Backend Development;
- not every Backend Developer wants to learn many new solutions in order to achieve higher responsiveness of applications. Each of the new tools require configuration and implementation, what often takes many hours to do. Meteor successfully does the trick by managing WebSockets, offering the usage of the mechanism of publication/subscription or calling to server methods caused by client-side applications.
Serving such an amount of web development problems’ solutions, Meteor still allows us to use any other framework we want, but remember, that it is not compulsory. The biggest advantage of this framework is it’s full reactivity without any additional changes made to the framework’s structure. It guarantees fulfilling all of the developers’ needs from the very beginning of using Meteor, without the need of installing 3rd-party-libraries nor wasting time on customizing configurations and settings.
Frameworks similar to Meteor are the best foundation to create demonstration and prototype versions of an web apps, thanks to which Meteor is a great tool for startup companies or hackathon attendees.
Ease of use
- low entrance level - other frameworks require understanding of additional web-dev solutions. Meteor does big part of the work for us. It provides a working connection between database and the project’s app and communicates client and server sides with each other. Despite that we don’t need to configure all of these features by ourselves;
- easy to read code - JavaScript is known to every web developer regardless their speciality. Every beginner will be pleased to hear that Meteor doesn’t add many new keywords and it doesn’t cause us any problems with its syntax;
- great number of libraries and plugins - AtmosphereJS is an online collection of ready-made solutions that are free to be added to our app. User will not experience any difficulties with installing or configuring new app’s elements - just type to the console: “meteor add name_of_the_plugin” and voila!
Meteor offers great support for creating reactive page templates:
- Tracker - it’s used to track changes occured on the server’s side and to update client-side page’s templates’ content;
- Spacebars - Meteor template language with which you’re free to use loops, objects references, conditional clauses etc.;
- Blaze - powerful library for creating live-updating user interfaces.
The speed of operation
Meteor, thanks to its reactional functionality, listens to any changes made to the application’s data, which updates the corresponding data on the server’s side. Then the server forces all of the clients to update the data. All of the changes are being made at users’ eyes without any need to update the web-browser window. That kind of reactivity is going to be a new requirement for every future web application.
Factors responsible for reactivity
- DDP (Distributed Data Protocol) - client-server protocol for querying and updating a server-side database and for synchronizing such updates among clients. It uses the publish-subscribe messaging pattern;
- Minimongo - MongoDB client-side implementation. Uses app’s data stored locally in the browser;
- Latency Compensation - the part of the app that is working on the client-side can use its locally stored data to run methods (kind of functions) that are implemented on the server-side. Thanks to that the outcome of the method is immediately visible for the client-side user without waiting for the server-side to respond. Of course, if the client-side outcome was different that the server-side’s, Meteor would fix it and re-render the views (the templates) using the correct outcome data.
Where Meteor.js is used?
- Meteor.js’ home page;
- Atmosphere - mentioned before source of plugins for Meteor - great example of how fast the Meteor-based app can work;
- Todos - it's a simple TODO list - check it out on multiple devices or browser’s windows and feel the Meteor’s reactivity.
Tutorials
- Example of simple TODO app straight from Meteor’s official page - there are also versions of the project based on angularJS i reactJS instead of Blaze;
- Discover Meteor - a book worth reading -it shows us the basics as well as some advanced features of Meteor. Available in many language versions;
- official docs.

Installation
Preparing ourselves to work with Meteor is not going to be more difficult than starting the work with any other modern web framework.
Usually all we have to do is run single command in the command line or go through the steps of Windows’ installer.
Mac OS X / Linux
curl https://install.meteor.com/ | sh
Windows
https://install.meteor.com/windows
Looking for more information? Check out Meteor's official website.
Creating an mobile version of an app using Apache Cordova
Meteor offers us a possibility to build an mobile version of our app using Apache Cordova. Check out David Turnbull’s article where he prepared a quick introduction to using Apache Cordova with Meteor.
Is Meteor the perfect choice?
Obviously, Meteor also have some disadvantages, which are:
- no native support for SQL based databases;
- no native support for NodeJS package manager - NPM (it’s going to be included in Meteor’s 1.3 version in upcoming weeks);
- Works best when you want to develop an app from a scratch, but not so much when you want to integrate with existing apps, particularly with the ones created in different environment.
Saying ‘No’ to Meteor - alternative technology stacks
Reaching Meteor’s level of reactivity and speed of working may require using a bunch of single-purpose technologies.
Backend DevelopmentFrontend DevelopmentFull Stack Development
- Ruby on Rails
- Django
- Ember
- Angular
- MEAN.io - combination of MongoDB, Express.js, Angular.s and Node.js

(source: http://joshowens.me)
Meteor.js version, at the moment of writing the article (march 2016 r.) is available in the 1.2.1 version and it’s official github repo got 32826 stars. It’s also worth mentioning, that Meteor’s web-community is very active. Atmosphere.js, which I have mentioned before, offers every library you’ll need. Moreover, 1.3 version of Meteor is going to natively support NPM.
Meteor.js creates new trends in creating web applications. There’s only one question: is its reliability and popularity going to catch up with the most popular web-dev frameworks? Soon we’ll know!
Navigate the changing IT landscape
Some highlighted content that we want to draw attention to to link to our other resources. It usually contains a link .