node.js – ExpressJS vs MeteorJS

node.js – ExpressJS vs MeteorJS

Express = MVC Framework built in Javascript and is powered by Node.

Meteor = Full Stack that has the front-end and back-end components to build a real-time application.

To create the same implementation of Meteor using Express, you need to look at the MEAN stack, which includes MongoDB, Express, AngularJS, and Node. You can create the same thing in Meteor that you can with the MEAN stack, you are just going to be doing a lot more learning especially with AngularJS. Express and Angular are taken care of in Meteor using Meteors template system and Blaze.

I would stick with Meteor. It still has a few drawbacks, but there are workarounds. Its amazing what you can throw together in little time.

Youre comparing oranges with potatoes. Expressjs is backend and Meteor is fullstack, such a comparison is unfair at all!

Ive been working with Meteor since 0.8 and I suffered in the skin the pain of upgrading, removing old vital third party packages, etc. you get the idea. Although Meteor reached 1.0, I dont think that the mobile component is quite ready, check github issues on it.

I think Meteor is ready for building online platforms. If you find that it doesnt play well in the mobile, you can still maintain your Meteor application and create an API on top of it, you can find packages on for it (or even use iron:router). Thats what you would with Expressjs: create an API to be used by mobile devices.

About your Key Points of Meteor: Scalability – Its possible to scale Meteor although you wont a good article about it but if you take a look at Kadira, Arunoda managed to scale it. Ease of use – Its fairly easy to write a Meteor application in the beginning but in the long run youll face some problems like I faced. Development efficiency – My experience in team wasnt that positive, we had bad architectural design choices and some bugs because new developers (even experienced ones) dont get Meteor, example: Instead of using Collections allow and deny rules, they use Meteor.methods for everything which doesnt translate to security. Some even publish the entire database to the client and say: Works great on my localhost 😀

About express: I have little experience on it but the comparing it with Meteor, its not fair at all. Meteor doesnt not the same purpose as Expressjs.

A comparison with MEAN Stack would make much more sense:

node.js – ExpressJS vs MeteorJS

Express.js is quite different from Meteor.

Meteor tries to give a good framework for everyone taking a lot of decisions (hopefully good decisions) those are usually uninteresting from the application development point of view: what transport library to use, how to synchronize data, how to build a reusable API, security, CRUD operations with the database, etc.

Instead Meteor gives you a unified experience across the stack. Since it has so much power control over backend, transport, interfaces, front-end, build tool chain – it can build a lot of neat features those would be so much harder to glue together from Mongo+Express+your favorite front-end

Read Socket.ios creators blog on how hard it is to deliver good user experience in single-paged apps these days: Meteor does a lot of it +more. (except for the server-side rendering and predictions, at least right now).

Think about how many security holes you will have if you pick the abstractions too low level in hope to implement everything right.

Leave a Reply

Your email address will not be published.