sahat / hackathon-starter

A boilerplate for Node.js web applications
MIT License
34.8k stars 8.16k forks source link

Comparison with Meteor #196

Closed dandv closed 9 years ago

dandv commented 9 years ago

Just learned about hackathon-starter. How does it compare with Meteor?

Since Meteor is also great for rapid prototyping and hackathons, plus it offers a lot more out of the box and solves the callback hell problem of Node.js, it would be helpful to mention in the README what the best use cases for hackathon-starter are.

sathia27 commented 9 years ago

Hi @dandv

Meteor is framework of node.js. Also there are frameworks like express, geddy etc. Hackathon-starter application made with express js framework. This application is collection of all modules which you will be used frequently.

This application already built with authentication, contact form, social Integration apis. So in hackathon you just need to build your logic in top of this. This will reduce your workload in hackathon. So it is called as Hackathon-starter

It is not framework. Its is application built on expressjs. This may be changed from express js to hapi js later. http://hapijs.com/tutorials http://expressjs.com/

Hope I am right

sahat commented 9 years ago

Meteor is a framework. Hackathon Starter is a boilerplate project built with Express.

More abstractions is not always better. Instead of implementing code yourself you will be spending time reading documentation, tutorials and StackOverflow posts on how to do "X" in Meteor. That's just how it usually goes with higher abstraction layers. For example, I spent more time reading Django documentiom than writing actual code when I worked on my school project for the Web Development class.

Almost every Node.js developer is familiar with Express but the same cannot be said about Meteor. I've tried it last year, didn't like it, too much magic, too many abstractions, couldn't even get Socket.IO to work with Meteor.

Callbacks have already been solved with async.js and various promises libraries. Use it if you need to nest more than 2 or 3 callbacks depending on your preference.

Ultimately use whatever works for you. If you are more comfortable and productive with Meteor then use Meteor. I personally find Express to be the perfect layer - not too low level as vanilla Node.js but not too high level like Derby or Meteor or even Sails.js.