CultureMethods

Meteor, a full-stack JavaScript platform

By January 31, 2017 July 15th, 2019 No Comments

I first heard of Meteor over a year ago, offered up as an example of a magical JavaScript… something. But I didn’t really understand what at the time (so young, so naive). When it was time for my CI day, I figured it was time to take a closer look. Besides, it’s undeniably on-brand for us here at RocketBuild, so how could I not?

The folks over at Meteor can do a much better job of concisely explaining what it is, so I’ll let them interject here:

“Meteor is a full-stack JavaScript platform for developing modern web and mobile applications. Meteor includes a key set of technologies for building connected-client reactive applications, a build tool, and a curated set of packages from the Node.js and general JavaScript community.”

I suppose this is a good opportunity to mention that one of the themes that seems to pop every time Meteor is mentioned is the Meteor community. That there’s extensive community around it doesn’t appear to be an exaggerated claim (as, let’s face it, it sometimes is)– the GitHub and forum links everywhere in the docs invite contribution and discussion, the number of packages available to speed up your development (literally thousands), and the number of active meetups. That’s very cool to see for a framework that’s relatively young. Clearly it’s inspiring a lot of enthusiasm.

But why? Well, there’s a lot more going on there than I could thoroughly cover in a day, but here’s what made me want to learn more from my brief exposure to Meteor.

It’s fast.

This must be where the name comes into play– shooting across the sky in a blaze of glory, blink and you’ll miss it it’s so quick. I stepped through the tutorial– your classic to-do list app– to get a basic understanding of how it all worked. Had I done so at max speed, skimming the explanations, heading straight for the commands and copy-pasting code, I would’ve had a simple but fully functioning to-do app (user accounts, public and private tasks, web- and mobile-ready) finished in less than ten minutes. That’s kind of insane, right? Obviously building out something that isn’t a simple guided app would take a bit longer than that, but with a little practice, it surely wouldn’t take much longer to get the base of something more complicated in place, even without using the scaffolding Meteor offers as an option. It’s clear that a lot of thought was put into making it as easy as possible to get a project going and get it going fast. I approve. (Who wouldn’t?)

It’s magic.

For real. That might make some suspicious (this is easy… tooooo easy…..), but there’s nothing fishy going on here. It comes with the npm we all know and love bundled, and there are tons of Meteor-specific packages available through Atmosphere. It plays nice with MongoDB (thanks, Minimongo). Its front end rendering system, Blaze, is easy to get a handle on, unless you’d rather use React or Angular… because with Meteor you can. One of the things that impressed me most was how simple it was to make mobile happen. With one or two commands my to-do list was running in an iOS simulator and it didn’t look like a total mess. As I said… magic.

It’s a whole lotta JavaScript.

If for some reason you were compelled to ask anyone on the RocketBuild dev team how I feel about JavaScript, they’d tell you they’re well aware it’s not my favorite. I’d optimistically say I’m still learning to love it. So my curiosity about Meteor was coupled with some apprehension because yes, it is very JavaScripty indeed. But that is definitely a good thing. JavaScript keeps getting better (and more organized/standardized) and you can’t get by as a developer without JavaScripting anyway, which means any developer can dig into this framework without having to go too far out of their comfort zone.

So maybe the name ‘Meteor’ isn’t completely fitting for this framework anymore; meteors burn away as they travel through the atmosphere, but Meteor seems destined to stay in developers’ orbits for a long time to come.

Leave a Reply