John Pearson






Lab Website

Google Scholar




Learning Web App Development by Semmy Purewal; O'Reilly Media

27 March 2014

Disclaimer: I received a free review copy of this work through the O’Reilly Blogger Review Program.

You’ve got to hand it to anyone these days willing to say, “Yes, I’ll teach you web app development. I’ll do it from ground zero and in under 300 pages.” Not only because modern web development offers so many toolchains to choose from, but because many of the standards involved were designed at different times, weren’t designed to play nicely with others, still have to accommodate legacy cruft (i.e., IE), or are just plain confusing. It’s a recipe for frustration.

Enter Semmy Purewal, whose Learning Web App Development is, in all, a respectable shot at getting you up to speed with at least one version of a modern development stack. Up front, it’s necessary to mention that Purewal’s audience is students. He’s taught some version of this class to college kids with very little background, as a means of preparing them to move on to more sophisticated frameworks like Ruby on Rails. That’s interesting in itself for those in a position to teach similar material, or to recommend a book to a novice (spoiler: I would). But it’s also important because Purewal’s goal isn’t to show you how a professional would go about building a web app, it’s to give you a sense of what that professional’s tools are doing for him under the hood.

Personally, I’m just off center of the target audience for this book. I have never done web development. My HTML is painfully basic. My JavaScript is pretty weak. I am unlikely to spend a year getting really good at Rails, but I’m a scientist who might want to throw something together for a small, data-driven project.

For which this book is just about right. Through chapters on HTML, CSS, Javascript, JSON, MongoDB, and Node.js, it builds up a single web app, a process that roughly approximates the history of web technology. The approach is example-based and pedagogical, and all the code is available on GitHub for download. By the time I was finished, I was far from an expert, but I knew enough to organize the pieces of a basic app in my mind and know where to go searching for more focused help.

All in all, I’d call that a success.