Recently a group of JS developers got together and created Meteor. If you haven’t done so yet give a go and check it out. There is a wonderful video at the start that walks you through a simple high level example of the main feature set.
Really cool features :
Whether or not your a Rails, Django, Express, or a Play fan you will appreciate what Meteor brings to the table.
To me Meteor has two relevant pieces they’re trying to solve that are on the top of most developer’s lists. Honestly, they are trying to tackle many problems but to me, from a power user standpoint are:
You’ll be able to use Meteor to start, run and deploy your app just like you can with Rails, and Heroku. Once you have an app, it’s often hard to start thinking about wiring up your Rest framework for data, template endpoints, and socket communication to allow real-time data. Oh and can’t forget a reactive layout which would probably use Backbone, or Ember.
I took a gander at the bundled source and here are the NodeJS modules you’ll see:
Immediately if your a NodeJS dev you will feel at home. Connect, connect-gzip, sockjs, fibers, socket.io, http-proxy… Feels like home, no server side magic here.
I think this is an area you’ll see fleshed out more as this is the one half of a big puzzle I described earlier. There is code which syncs between a local store and your database, allowing users to see changes immediately in ‘real-time’.
The hooks which rely on MongoDB might be an issue to some. Most will prefer MySQL, Redis, or some other database. There is mention that in future versions you’ll be able to use DDP to interact with a DB of your choice. Also perhaps how deeply integrated the local db is to the backend database is another issue.
If your a serious NodeJS developer your probably already using socket.io, connect, cluster, maybe even nodemon for on the fly restarts. What you gain from using meteor is the ease of use of not having to have a cookie cutter template to handle real-time reactive clients, and hot deployment.
This project is still young but there are dedicated and highly talented developers on the team. The project has got me very excited and Is on the top of my very large watch list.
Fundamentally anytime you see these types of frameworks developers are quick to judge. Meteor’s ultimate goal is to save developers time, allowing users to focus on being a lean startup. On that front alone, this project looks to be one that will stand strong.
It gets a +1 from me, that is for sure.