15Dec2014

Meteor framework: a revolutionary Web Application Development

In 2014 was released first officially stable version 1.0 of the Meteor [http://www.meteor.com] most cool web application framework nowadays. Software developer have been using a lot of web application development frameworks and libraries in development and production for 10+ years. Why Meteor is so excited? It’s not one more platform in a row or new pure marketing buzzword. It’s rather a new approach to the construction of the project. This technology provides to Iflexion a new quality of Web Application Development process.

The same JavaScript for client and server

Despite the novelty, there is no new programming language. Meteor is based on already known node.js platform and JavaScript programming language. If you prefer CoffeeScript or TypeScript, that’s ok. Anyway, it’s JavaScript as a result. JavaScript is used both on the front-end and on the server side. And even more, the same JavaScript code may be used on server and client. It’s called Isomorphic APIs. In almost all cases, the Model part of web MVC project have to be duplicated on both sides, at least partially. Such approach allows to avoid code duplication and speed up development and applying changes.

MongoDB collections are shared with client

MongoDB is used as back-end. Generally, in terms of Meteor, the model is a set of MongoDB collections accessed on the server and published for the client side. Client has its own local database. Server’s collections mirrored at the client completely or partially. Transferring data from server to client and vice versa is not coded anymore, but configured in the most of cases. Meteor provides the shortest way for data to go from persistent database storage to user’s screen, accomplishing in 10 lines what would otherwise take 1000.

Reactivity out of the box

Ok, it’s cool to code less. But it’s only part of the story. The most amazing feature of Meteor is reactivity. Almost realtime changes made on the one end are transparently transferred and applied everywhere with no additional effort in implementation. Changes in the database on the server appear on all clients connected immediately. Meteor uses Distributed Data Protocol based on WebSockets to communicate between the client and the server. Similar to AJAX technology, a user don’t need to refresh the whole page to get or send some data. And even more fun, it doesn’t need to refresh a browser in case of new version deployment. It looks like Meteor lives up to its name.

Platform and community

Meteor has its own package manager called meteorite, and atmosphere [http://atmospherejs.com] repository with 3K+ packages to solve standard problems like authentications, integration social networks, i18n, etc. It’s possible to use pure node.js packages, as well. There are already about dozen companies making business on providing services at line of Meteor platform, like hosting, training and development. A lot of documentation and tutorials are available.

The Meteor framework provides us the most right answer on the technical part of the question ’What is Web 2.0?’. When you will have a new Web Application Development project should be done from scratch, give meteor a chance to make an impression on you, your boss and the users. To succeed with Meteor, avoid fighting against the framework. Instead try to understand its new amazing philosophy.

Read also

Comments are closed.