This book is an introduction to the world of modern frontend web development tools and approaches. It covers the process of building a simple webapp from start to finish.
Please Note: This book is no longer maintained. It references legacy versions of software that are rapidly becoming outdated and non-functional. Feel free to use it as a reference, but do not expect the examples or instructions to be updated after June 2017.
This book is for beginners. It tries to approach the process of building webapps with a focus on project and technical production skills.
Advanced developers, and others involved in the web industry, may find that much is missing here. We do not discuss usability, how one comes up with a winning app concept, the criteria that go into play when choosing which technology to build on, or myriad other factors that somebody building a webapp would likely agonize over.
This book takes up the philosophy that underneath it all these tools and frameworks have a lot in common. Learning to use any one set of tools will make it easier to learn new tools in the future. Likewise, understanding how to put the pieces together is likely to cause new developers to become curious about how those pieces got there.
This is the goal of a project-based approach: Readers should be able to reap immediate rewards from the instructions contained here, but they will also be led to deeper topics they can explore at length in the future.
Throughout the series of projects in this book, we will build a webapp using modern frontend development tools. We will use the Yeoman workflow to provide our project bootstrapping, package management, build and deployment capabilities. This involves working with Grunt and Bower, and of course all of it runs on Node.js. These are solid tools used by many developers.
Once we are up and running, we will walk through a buildout of a simple application using AngularJS and a third party data API that can provide us useful information to share with our users.
This book is not a documentation of the ONE TRUE WAY of web development. It is a model for ONE WAY THAT WORKS. There are many OTHER WAYS THAT WORK, and those can also be very effective.
This book is not even, necessarily, trying to make the case that this is absolutely the best way to learn how to build webapps. That is another area without any dominant contender.
This book is not the last book you will ever need to read about making webapps, or web development in general.
Sincerest apologies if any of the above disappoints.