• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Meteor In Action: What is Meteor?

 
Ranch Hand
Posts: 572
2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,
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".
If somebody already uses the other frameworks why would they use Meteor?
Thanks,
Paul

 
Sheriff
Posts: 67746
173
Mac Mac OS X IntelliJ IDE jQuery TypeScript Java iOS
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Nutshell: bi-directional communication

I'll leave it to the author to expound further.
 
author
Posts: 18
7
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

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 relate
  • QA 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.
     
    reply
      Bookmark Topic Watch Topic
    • New Topic