Getting started with Meteor.js

Below is a guest post from Ben Strahan, a meteor.js club member. He put together a great post and I really wanted to share it with the whole Meteor.js Club!

How do I become a web app developer - Meteor style

What does an aspiring web developer need to know to develop a Meteor app? Below is a list of languages, frameworks, libraries, packages & more ;) .

The lists that follow are purposely ordered, unless noted. This article does not explain why you need to learn each item (that is up to you to figure out). Instead this article's purpose is to provide a quick roadmap or "thousand mile" view of the technologies a Meteor Dev works with daily.

When you are in the weeds of learning new things it feels good knowing you have a map to reference and measure your progress against.

nemo's escape

Languages, Libraries & Frameworks, oh my!

Ultimately you need to be able to understand Meteor's API. Getting a grasp of the technologies listed below will give you what you need. There is no need to become an expert yet but you need to understand the structure and terminology of each.

Don't know what an API is? Check out this dude's video

Required

  1. Javascript - JS first?! Yes soldier, don't question me again or I will karate chop you!
  2. Shell (Terminal)
  3. HTML & CSS
  4. JSON
  5. MongoDB
  6. Handlebars
  7. Git & GitHub
  8. jQuery
  9. LESS, SASS, and/or Stylus
  10. Underscore and/or Lo-Dash
  11. Bootstrap

Optional (learn when needed)

  1. NodeJS
  2. Cordova
  3. ElasticSearch
  4. Ionic - Meteor Package Meteoric

MeteorJS

Now that you know the above you are deemed worthy to tap into the power and awesomeness of Meteor!

meteor powered lawnmower

Why did you need to learn ALL that stuff above before touching Meteor? Because Meteor is considered a Full-Stack platform. Through Meteor you manage the front-end, back-end and all the other ends.

...Okay no more question, lets learn MORE!

Time to become a Meteor nerd, review the docs.

If the sub-projects look intimidating don't worry. At a minimum below are the key packages in the sub-projects you need to know.

  1. Blaze
  2. Spacebars
  3. Tracker
  4. Utilities

Good Meteor Tutorials & Courses

Ordered by difficulty & depth. These tutorials, courses, books & videos will walk you through various Meteor projects. Everything you learned above will culminate.

  1. Meteor's official tutorial (FREE)
  2. Your First Meteor Application by David Turnbull (FREE)
  3. Meteor Walkthrough Videos by George McKnight (FREE)
  4. Meteor Cookbook by Abigail Watson
  5. Discover Meteor by Sacha Greif & Tom Coleman ($ to $$)
  6. Meteor in Action by Manuel Schoebel & Stephan Hochhaus ($)
  7. 8 Days of Meteor by Josh Owens ($)
  8. Meteor Testing by Sam Hatoum ($)
  9. Meteor Club Master Bootcamp by Josh Owens ($$$)
  10. Meteor Club Testing Bootcamp by Josh Owens & Sam Hatoum ($$$)
  11. Bulletproof Meteor by Arunoda Susiripala (FREE to $$)
  12. Advance courses at Evented Mind by Chris Mather ($$)

Meteor Packages (no order)

Yes there is even more to learn. Meteor has a package manager called Atmosphere which allows the community to build packages that deeply integrate into the Meteor platform and expands the APIs available to you, the developer. Below is a list of the standard packages you will find in almost every serious Meteor app so you should get to know them.

Package Name GitHub Atmosphere Website
accounts-password github atmosphere website
useraccounts:core github atmosphere website
reactive-var atmosphere website
reactive-dict atmosphere
iron:router github atmosphere guide website
zimme:iron-router-active github atmosphere
zimme:iron-router-auth github atmosphere
manuelschoebel:ms-seo github atmosphere article
dburles:collection-helpers github atmosphere
matb33:collection-hooks github atmosphere
reywood:publish-composite github atmosphere website
ongoworks:security github atmosphere
alanning:roles github atmosphere website
aldeed:autoform github atmosphere
aldeed:collection2 github atmosphere
aldeed:simple-schema github atmosphere
momentjs:moment github atmosphere website
matteodem:easy-search github atmosphere website
matteodem:server-session github atmosphere
meteorhacks:kadira github atmosphere website
meteorhacks:aggregate github atmosphere
meteorhacks:fast-render github atmosphere website
meteorhacks:subs-manager github atmosphere
meteorhacks:unblock github atmosphere
raix:handlebar-helpers github atmosphere
yogiben:helpers github atmosphere
zimme:collection-softremovable github atmosphere
zimme:collection-timestampable github atmosphere
u2622:persistent-session github atmosphere
tmeasday:publish-counts github atmosphere
percolatestudio:synced-cron github atmosphere
dburles:factory github atmosphere
anti:fake github atmosphere

The rabbit hole goes deeper...

Wow, you must really be committed if you got this far. Ok, so you want my super secret lists?

Service Providers

When you go to deploy your app online there are a huge amount of service providers available to a developer. Below are a few that specifically serve the Meteor community (and do a great job) so I decided to give them a shout.

  • Kadira - Performance Tracking
  • Modulus - Hosting (Use code 'Metpodcast' to get a $25 credit)
  • Compose - Mongo Database Hosting with Oplog

Blogs, Vlogs, News & more (no order)

Come drink the Meteor cool-aid with me... look we won't be alone.

If I forgot someone let me (@_benstr) or @joshowens know

Other articles like this one

Join the Meteor Club

and get my best tips and tricks right in your inbox!

Are you an advanced Meteor.js developer?

Josh Owens

It all started with an Atari 800XL, but now Josh is a ruby and javascript developer with 10 years of professional experience. His current love is Meteor.js, which he works with daily.
Cincinnati, Ohio