But how do you get started building a single page application? It’s different from desktop programming and there’s a lot to consider during planning and execution.
If you’re looking for a solid intro to single page webapp development this book will inspire and guide you every step of the way.
In 275 pages you get two unique sections: “The Basics” and “Core Concepts”. Each section contains a handful of chapters with nine in total.
Here’s a breakdown of the chapter titles:
The first chapter introduces you to SPA as a development technique. You learn about single page application requirements and architectures including MV* frameworks.
Eventually in chapters 3-4 you learn about routing and page views. Navigation works a bit different on an SPA so you’ll want to learn the best practices for custom routing.
In the later chapters you get into advanced development with modularization of code and custom unit testing. The very last chapter gets into automation with Gulp.js which is actually my preferred task runner.
I really like the diagrams used throughout the book to explain MV* architecture. This is crucial for developers who have never needed to learn this stuff before. Most .NET developers know it like the back of their hand but PHP developers might not.
The primary libraries include Backbone, Knockout, and Angular, all three very different options. I personally do not like Backbone and pretty much avoid it at all costs. On the other hand Angular is fantastic and well worth learning if you need a frontend framework.
However keep in mind that this book was written on Angular 1. The newer Angular 2 has updated syntax and new concepts that you’ll need to learn to get it working properly.
I’ve never used Knockout.js before so I can’t really comment on it’s value in the current market. But I was excited to try it out and it was really fun seeing how all these frameworks can be used for creating single page webapps.
This book offers a tremendous introduction to SPAs that are completely platform agnostic. You’ll learn three different frameworks and you’re given the option to choose whatever works best for you.
Right from the start this book sets you up for success. You learn how to properly organize projects and how to architect new projects from the ground-up.
The author covers a variety of tools to choose from and you learn vital post-production skills like unit testing, task automation & deployment.
I was a little disappointed that the author chose Backbone over React. There’s nothing inherently wrong with backbone’s code, but it is older and certainly not the quickest tool in the toolbox.
Some people may not like the frequent switching between Angular, Backbone, and Knockout. The author really tries to diversify to give you a chance to work with all of these frameworks. The goal here is to learn single page app development, not to master one specific framework.
Modularization is huge and it’s a big part of this book. You learn how to organize your code properly with a modular style to find and edit whatever feature you want without hassle.
The writing is excellent and I genuinely feel this is the best introduction to creating SPAs the right way.
Also it’s worth noting that when you buy a copy you also get a free eBook copy too. This comes in PDF, Kindle, and ePub formats which are delivered through Manning Publishing.
But thankfully the author covers a lot of these topics in great detail. Newbies to the frontend framework space will get their pick of three quality options with live code samples for each one.
You’ll learn how to build SPAs the right way with proper code organization and unit testing. Gulp automation is also covered, so if you have knowledge there it’s more of a bonus than a prerequisite.
Once you’re past the beginner’s phase of JS development you can hop right into SPA Design and Architecture without trouble. In fact, if you’re excited to build single page applications I think you’ll find this book invigorating and even quite fun!
SPAs are becoming more popular but they’re also still very confusing. You can find lots of tutorials online but these won’t teach you how to architect, organize, and test your SPAs.
SPA Design and Architecture will teach you all of this and a whole lot more. My biggest gripe is with the inclusion of Backbone and the lack of detail in some areas.
This is definitely a high-quality intro guide. But with all this info packed into 275 pages I kind of wish the author pushed it to 375 pages with even more examples. If the book was longer and Backbone was replaced with React this book would’ve easily hit a perfect score.
But aside from these minor complaints this is still the best book for introducing the proper development workflow and debugging techniques for custom single page web applications.