Why We Chose to Ride a Meteor

For developers, startups and small shops placing value on the philosophies behind “Minimum Viable Product” and iterative prototyping, Meteor is worth consideration. Serious consideration.

Before writing any code for our new project, we looked at a lot of frameworks (runner up was Laravel). In the end, we believe that the direction Meteor is headed is the future of web based application development and Meteor swept us off our feet from the first sandbox “aha” moment – the hot update. Save a CSS or other change and it will appear in your browser, no refresh necessary (cue: light bulbs).

After you dive into your new application, even seasoned JS developers will need to learn some new tricks, but the framework is really well thought out and you’ll notice the priority given to security. Give it a week and it will probably pay you back tenfold.

MongoDB is the only supported database at this time, but if you’re familiar with JSON you’ll probably like the NoSQL method for writing your inserts. Maybe you’ll want to move to a different database in the future, but for us, the speed in building our prototype was an overriding factor compared to where the data would be stored. We’re only a few weeks into our project and we’re weeks ahead of where we expected to be. If our product is successful, design, data and code can be revisited holistically in a later phase if needed.

Meteor is young (Version 1) and has familiar issues like abandoned packages, but it’s easy to imagine how this could be the start of something big for us little guys.

Simply put, Meteor is everything I’ve always wanted front end development to be.

Pros

  • Rapid prototype
  • Real time
  • Javascript everywhere
  • Potential to move the prototype all the way to production
  • Local dev setup only takes minutes
  • Database updates via JS / JSON formatting

Cons

  • Only works with MongoDB
  • Publishing & Subscribing data handling is confusing, at first
  • Standard jQuery front end developers will need to learn some new methods to make things work the Meteor way
  • Handlebars / Spacebars logic is a great templating feature, but the conditional logic is somewhat awkward (e.g. send/return to/from JS for front end tweaks)

Principles of Meteor

From Meteor.com

  • Data on the Wire. Meteor doesn’t send HTML over the network. The server sends data and lets the client render it.
  • One Language. Meteor lets you write both the client and the server parts of your application in JavaScript.
  • Database Everywhere. You can use the same methods to access your database from the client or the server.
  • Latency Compensation. On the client, Meteor prefetches data and simulates models to make it look like server method calls return instantly.
  • Full Stack Reactivity. In Meteor, realtime is the default. All layers, from database to template, update themselves automatically when necessary.
  • Embrace the Ecosystem. Meteor is open source and integrates with existing open source tools and frameworks.
  • Simplicity Equals Productivity. The best way to make something seem simple is to have it actually be simple. Meteor’s main functionality has clean, classically beautiful APIs.

Check out the Meteor tutorial for more.

/ / / /