Ever written server apps in PHP? If so, you're in for a treat. JavaScript web applications are a million times easier to deploy thanks to Platform-as-a-Service (PaaS) web hosting providers, and you can manage an entire fleet of servers using a few simple tools. Instead of fighting with a huge monolithic Apache or Nginx configuration, you can deploy a new instance for every app you create, which sandboxes them and allows for much more compact infrastructure. We'll discuss how to deploy to Heroku later in the chapter; for now, we will just test everything locally.
Note
What is Heroku, and do you have to use it? Heroku is a way of deploying applications that use 12-factor app principles (for the specifics, visit http://12factor.net). Without going too deep into the 12-factor app philosophy, the idea is that you try to create stateless applications that use web services in the place of a large, monolithic piece of server infrastructure (for instance, a Linux-based virtual...