paul nisset wrote:I read the Wikipedia entry on it but it doesn't really explain what does other than the frameworks it depends on and it is "a complete framework".
Even though some folks regard Meteor as a framework, its creators see it more of a platform (
like JBoss) than a framework (like Spring). As such Meteor is designed to play well with other frameworks. Similar to the Docker motto Meteor comes with "batteries included but removable".
So what is the difference? Bootstrapping! Proven components! Ease of use!
Bootstrapping
Meteor bundles a lot of the components you need for web development. From a development stack with Node.js and MongoDB that runs when you type
meteor run into a Terminal window to automatic minification, standardized message anatomy over WebSockets (the infamous DDP which allows bi-directional communication) to small details such as Underscore.js as part of the tool arsenal.
Meteor is somewhat opinionated, for example with load order and naming conventions. On the other hands it gives you a lot of freedom to use different batteries for parts. The main advantage is that you do not have to come up with an entire tool chain for your development. I have been in projects where a dedicated sprint of 4 weeks and 8 developers was dedicated to getting the environment and tools for actually writing code set up. With Meteor these efforts are minimized. Of course this comes at the price of not being 100% able to pick your weapons.
Proven components
When you start assembling your (development) stack you may pick any combination of backend and front end libraries, ORM and some build tools, usually more than a dozen parts that make up the whole. Chances are that only a handful of other projects on this planet use the exact same combination of tools. Meteor unifies this landscape in that it includes the essentials already. This gives you advantages:
Others have the same stack and may answer question much better because they can relateQA for the set of components is done by a lot of people, including official support, so issues are discovered much quicker
Ease of use
Since all components are tested to work well with each other you rarely run into issues where libraries interfere with each other or are incompatible. Even better, most of the functionality is baked into the platform so that it happens automatically and without you having to do anything. Like minification or transpilation from CoffeeScript to plain JavaScript. Or even building applications using Cordova for Android and iOS as well as for the web.
If you already use a subset of the libraries that Meteor uses and you feel comfortable with it, there is little reason to switch over. But if you do not have a well-aligned build-flow and components having a look at Meteor is the simplest way to get started and achieve impressive results in the Node.js universe. I'd say Meteor is a gateway drug, but only few people find it necessary to move on to plain Node since the platform interoperates with npm modules quite nicely and there is no hard lock-in into the technology.