This review was originally printed in the June 2010 edition of the UKUUG newsletter, which is now defunct.
Title: Developing Large Web Applications
Authors: Kyle Loudon
This book claims to be ‘the book for you’ if ‘you’re ready to build a finely crafted large site’. As someone who runs a business-critical site which has to stay up and is getting increasing complex in terms of functionality, this sounds like the book for me.
The first chapter is rather brief and runs through the tenets of large web applications, although with no mention of what the authors consider ‘large’ to mean. The second chapter is entitled ‘Object Orientation’, which seems rather odd as I would expect most programmers to be using object orientation, and thus not need a basic introduction to the difference between private, public and protected. Programmers not using an object orientated language don’t have access to this functionality, so this chapter is wasted on them. The dreaded UML class diagram also rears its head, together with a page of skeleton PHP classes which don’t seem to serve any particular purpose.
Moving on to chapter 6 we get an introduction to “data managers” and how to abstract an SQL data source, which seems to be a reimplementation of the existing frameworks which already perform this function. Chapter 7 is about “large scale PHP” and is padded out with plenty of code, which breaks the basic rule of separating business logic from HTML by embedding markup into the PHP functions. Chapter 8 gives a similar treatment to AJAX.
It’s not until chapter 9 that we finally get to the topic of performance, something which really matters when you are building or maintaining large web applications. This chapter is actually useful and relevant, but you would do better by plumping for ‘High Performance Web Sites’ (O’Reilly) which covers these topics in much greater detail. The final chapter discusses the architecture of a project, which seems to boil down to which directories you store your files in.
All in all, I found this book to be a disappointing read. There are too many code samples, many of which are trivial and do not provide a good illustration of the concepts under discussion. Most of the chapters seem to be aimed at complete beginners, who are unlikely to end up developing a large scale system until they have obtained some experience working on smaller projects. If you have never built a large web application before, are starting from scratch and plan to use PHP exclusively, then there may be some useful information in this book, otherwise there is little to recommend it.