Chapter 1: Introduction

Introduction

There’s a lot to love about the Meteor JavaScript framework:

With nothing but JavaScript, you’re able to build real-time web applications for both desktop and mobile platforms.

Beginning developers can quickly build something impressive and useful, while advanced developers can appreciate Meteor’s flexibility.

There’s an active community that organizes meetups, publishes free training material (like this book), and offers help wherever possible.

But when I first started working with Meteor, there was a gap. Because while there was plenty of training material available, the majority of it was aimed at experienced web developers.

There was nothing written for absolute beginners.

To fill this gap, I launched meteortips.com and published a handful of tutorials that gently introduced readers to Meteor’s fundamentals concepts. People responded well, but the only way to write for beginners was to assume as little as possible, which meant I soon found myself repeating the basics over and over again.

To solve this problem, I started working on Your First Meteor Application – the book that you’re reading right at this very moment.

The plan was simple enough:

Write the book I wish had existed when I started using Meteor.

But what begun as a side-project soon ballooned into something much bigger.

After releasing the book, experienced developers praised it it, readers poured in from a number of sources, and the developers of Meteor itself even promoted it on their website:

David Turnbull’s Your First Meteor Application is another excellent place to start learning, particularly for beginning developers. It’s written in a practical, easy-to-follow conversational style, yet covers all the essential parts of getting an application off the ground.

Since then:

Tens of thousands of people have downloaded the book.

I’ve rewritten the book multiple times from scratch (most recently with the release of Meteor 1.3).

Hundreds of people have rated the book 5-stars on Amazon.com.

But the core ambition of the book has remained consistent: to show beginning web developers how to build their first web application with Meteor, making sure to cover all of the critical details beginners need to know, like:

Creating and managing Meteor projects.

Working with databases in Meteor.

Building real-time user interfaces.

Creating a user accounts system.

How to secure a Meteor application.

Whether you’re hesitant to believe the hype, or are raring to get your hands dirty, this book has you covered. We’ll cover a lot of ground over the next few hours and, no matter where you’re coming from, you’ll reach the final page assured of Meteor’s delightful nature.

Let’s begin.

Screencasts

If you prefer watching over reading, you might like to check out the video training series that I’ve put together. The series covers the same topics as the book, but many people find the screencasts even easier to follow.

To check out the video training series, visit:

meteortips.com/screencasts

The course includes:

Over 2 hours of video training material.

Detailed instruction for beginning developers.

Free updates over the coming weeks and months.

All purchases are protected by a 30-day money-back guarantee, with no questions asked. (Just send me an email if you’re not satisfied.)

Prerequisites

I’ve read many technical books over the years and have found most of them use the phrase “for beginners” a little too liberally.

Originally, I thought this was some kind of conspiracy, as if the publishers were trying to capture segments of the market that the book was never intended for, but I think the actual problem is simpler than that: everyone has a different idea of what a beginner actually is. The definition often becomes relative to the expertise of the author, so its meaning becomes muddy.

To account for this, let me start by explaining what you won’t need to make the most of the content in the coming pages:

You won’t need prior experience with Meteor. I won’t dwell any longer on what Meteor actually is – it’s a JavaScript framework for building real-time web applications – or its (relatively short) history, but I will show you how to install it, how to run applications on your local computer, and all of the other basic, practical details you’ll need to get going. You won’t need to have made a web application before. If you’re a front-end developer, or even just someone with a little bit of JavaScript knowledge but not much practical experience, that’s fine. This book is designed for you and you won’t have any trouble following along. (If you do have experience with web application development, that simply means you’ll get to the end even faster.) You won’t need to consult any other sources along the way. You’re free to read other books and tutorials if you want, but this book is designed to be all-encompassing for this stage of your development journey. You’ll learn everything you need to know at this point in time – no more, no less.

You will, however, need a little bit of background knowledge:

You’ll need a basic understanding of JavaScript. This means being familiar with concepts like variables, loops, conditionals, and functions. You don’t need to be a JavaScript ninja, but the stronger grasp you have of the fundamentals, the easier this process will be. You’ll need a basic understanding of databases. This means being familiar with concepts like tables, rows, columns, and primary keys. You don’t need to be a database whiz – your understanding of databases can be even less comprehensive than your understanding of JavaScript – but if you’ve ever used MySQL (or a similar technology), that’ll be a big help.

What You’ll Need

You don’t need much “stuff” to develop with Meteor. This might seem like a minor detail, but a common roadblock when getting started with building web applications is the need to install a bunch of software and mess around with configuration files before having the chance to actually write some code.

With Meteor, there’s only three things you’ll need:

You’ll need a major operating systems. You can use Meteor on any relatively modern version of Mac OS X, Windows, or Linux. The screenshots in this book are captured from a Mac, but the differences between using one operating system over another are ultimately slight. You’ll need a text editor. Here, there’s no precise requirements. If you want to write code in Notepad, you can. Personally though, I recommend Sublime Text 3 – a cross-platform editor with plenty of neat plugins and productivity features. You’ll need a modern web browser. This is what we’ll use to preview our Meteor application. I’d suggest using the latest version of Google Chrome since it has some useful development features, and it’s the browser that I’ll be using in all of this book’s examples.

You’ll also need Meteor itself, of course, and we’ll install that in the next chapter.

Summary

Every chapter in this book ends with a summary of what we’ve covered in that chapter. Over the last few pages, for instance, we’ve learned that:

Meteor is a wonderful framework for beginning web developers who have never built a web application before.

You won’t need much background knowledge to get started with Meteor, but the more you know about JavaScript and databases, the better.

When we start writing code, I’ll also provide links to GitHub Commits that allow you to view all of the code for the current state of the project. This makes it easy to check that you’re following along correctly.