Meteor.js is an open-source platform built on node.js for building web apps quite rapidly. It is designed to allow programmers to create applications in a modern fashion, using up-to-date paradigms. Thanks to their $11 million dollar budget the time until it will hit v1.0 should not be too long. If you’re interested to know what features will be available when, have a look at the Meteor Roadmap.
In the meantime, if you want to learn more about developing applications using JavaScript and Meteor, here’s a short compilations of things I found helpful to jumpstart.
JavaScript
First, you need to know JavaScript, obviously. But not any frontend library like jQuery or MooTools, but the actual language (plus it doesn’t hurt to know a bit or two about libraries, esp. jQuery).
- Work your way through the interactive tutorials at Codecademy.com.
- Use a good beginners book like Eloquent JavaScript by Marijn Haverbeke. The online version is not only free but has some great interactive code examples.
- Alternatively you can try the course over at JavaScript.is.
- If you’re advanced, you should read up on JavaScript design patterns.
- Then should you really wish to push the boundaries, it is time for some Badass JavaScript.
- The Mozilla Developer Network has a plethora of awesome resources on JavaScript that serve as a nice reference.
- Using Chrome you can make your life easier by reading up on tools for Debugging JavaScript.
- And before you head over to Meteor make sure you have seen at least some of the material Douglas Crockford put together. The videos are also very valuable if you’re starting out or want to improve your skills.
General Meteor Resources
Once you know JavaScript basics you can dive into Meteor. Since the aim of Meteor.js is to radically simplify app development, you will very quickly be able to see good results.
- First you head over to the Meteor website, check out the examples and most importantly the official Meteor documentation.
- The next best thing to do is head over to the Meteor-YouTube channel.
- The unofficial Meteor FAQ covers a lot of topics you will want to know.
- If you haven’t already, you will want to use Meteorite instead of plain vanilla Meteor.
- You can find over 200 packages for Meteorite on Atmosphere.
- Should you get stuck with a specific problem, there’s always StackOverflow.
- If you like to hang around in chat rooms, you can also join the IRC channel for Meteor on freenode.
- Should you decide you can wait a wee bit longer, the Meteor Google Talk group might be best for you.
- Meet the Meteorites in your local Meteor users group. Find a listing of where to meet on Trello.
Code Tutorials
- Learn Meteor Fundamentals and Best Practices by Andrew Scala.
- Andrew Munsell gives you an Introduction to Realtime Web with Meteor and Node.js.
- Confessions of a Meteor Newb is also a good read.
- EventedMind shows you how to create a multi-page app using mini-pages (plus the transcript is on Github).
- Tutsplus has a video tutorial on Single Page Web Apps with Meteor.
- Building a customized accounts UI for Meteor.
- Turn a Meteor.js app into an Android Phonegap app.
- Ken created ChoosePix with Meteor and shares his findings.
- Stephen Walther’s An Introduction to Meteor includes some good information on form validation.
- At some point you may wish to know more about MongoDB and how to structure the database properly. There are some major philosophical differences if you are used to SQL-thinking.
- Optimizing your frontend for speed does not only apply to Meteor, so be sure to check our David Walsh’s 9 Ways to Optimize Your Front End Performance.
Code examples
You may wish to study some projects that were developed using Meteor.js. Those can typically be found on Github as well.
- See apps Made with Meteor.
- Telesc.pe is a hacker-news clone built entirely on Meteor.
- Doc-share is a document sharing site.
- Subtitles allows you to easily create subtitles (SRT files) in your web browser. Using Meteor, of course.
Testing
- Unit Testing with Meteor and End-to-End Testing for Web Apps with Meteor / Selenium / WebDriverJS by Sam Hatoum.
- Sam also created Real Time Development with Meteor.
- Sam also wrote about Testing form submissions in Meteor.
- Although not Meteor specific, JavaScript unit testing on steroids shows you how to use grunt.
Ready for Production
Once the coding is done and your app is tested, you want to go live. For that the following may be interesting:
- Things are running slow? Think about Improving the Performance of your Meteor JS projects by Stephen Pope.
- If you plan on hosting Meteor yourself, you’re best off to know a bit or two about running a node.js server in a production environment.
- Putting nginx in front of your Meteor/Node server is also a good idea.
- How to deploy Meteor on Amazon EC2 by Julien Chaumond.
Books
The internet is great for up-to-date information, but sometimes a book (on paper or electronic) provides better structure and didactic concept, so that you may wish to use one in the beginning to make the most of your learning experience.
- Getting Started with Meteor.js JavaScript Framework is pretty much an extended tutorial by Isaac Strack.
- Getting started with Meteor.js by Jacob Clark is unfortunately not available anymore (and was never finished).
- Instant Meteor JavaScript Framework Starter by Gabriel Manricks.
- Discover Meteor is an excellent book written by Sacha and Tom, who really know what they’re doing.
- If you dread JavaScript perhaps using CoffeeScript makes your life easier. Check out The Little Book on CoffeeScript.
Related Frameworks
- Should you need to include Angular.js, you’ll find a good overview of learning resources at whydoifollow.com.
- Learn Backbone.js Completely on JavaScript.is.
Packages I use
So I can find them again (and have a link to their documentation), here is a short list of some packages I like to use relatively often. (This list will grow!)
- mini-pages for routing.
Know more?
Do you know any other resources that you find useful in getting productive with the Meteor framework? Let me know via Twitter or Email and I will add them here.




