user6882358
user6882358

Reputation:

When to choose other nodejs framework over Meteor?

Meteor is my first nodejs framework and I have no experience with other nodejs frameworks. Meteor is full stack and has the most stars at github if I'm not mistaken. It seems Meteor can everything that other frameworks can and much more with atmosphere and npm extensions. Why/when should I choose other frameworks? I read several sites with overview about top nodejs frameworks, but they don't answer my question.

Upvotes: 0

Views: 371

Answers (2)

DrakaSAN
DrakaSAN

Reputation: 7853

Meteor is quite versatile, but is aimed toward mobile app development first. It is all good and dandy, and you may not see any need to go outside of Meteor.

But what happen the day you have to do a real quick HTTP server?
Express will beat it because it is it's home turf.
Want to do real time?
Socket.io will wreck it.

You may Meteor will be "good enought" for thoses task, and other I couldn't think of the top of my head, but one day or another, you will either encounter a problem for which Meteor is not suited, or have a requirement forbidding Meteor.

That day, you will want to have already learned one or two other framework, just so you don't have to panic and learn another without knowing if it is a good fit, and making something half baked because you were learning on-the-fly.

TL:DR: Node.js frameworks are like a tool box, you may be fine in the foreseable future with a screwdriver, but the day you really need a hammer, you don't want to hit yourself on the fingers. Better to also know how to handle the hammer before you have to put a nail.

Erratum: Meteor use websocket internally, so the comparison to socket.io is moot, but the point is, every tool have it's use, and no matter how useful and versatile it is, you will one day need another. And that day you want to be prepared, so learning other framework is still something to do.

Upvotes: 1

Mikkel
Mikkel

Reputation: 7777

Meteor is unlike any other framework. It provides a one-stop-shop for your application development. It use javascript everywhere, it uses npm modules, has database everywhere, can use either Angular, React or Blaze for it's templating.

It saves you a bundle of time in packaging your app for use on the web, android or ios. That is worth heaps.

There are good arguments for using it here:

http://whymeteor.com/

https://wiki.dandascalescu.com/essays/why_meteor

Any other approach means integrating a collection of things that may or may not work well together. It's hard to compare the various frameworks, because you end up comparing things that are not equivalent.

The ability to quickly create and call server methods without crafting a formal rest api makes development very quick. Automatic database updates in the client make it so simple to provide a reactive real time experience for your users without the need for complex notification and update code.

Setting up Meteor and a Meteor project (eg if I share a repo with you) is so quick it's not funny. Virtually any other project means hours of installation and setup of the various components, just to try and run it, only to find there are things missing from the setup.

Have a look at the others, and come back to Meteor when you are done, and you'll see that it covers pretty much all the bases, and if you want to add more yourself you can because it's open source.

Upvotes: 0

Related Questions