BOOK AND SOFTWARE REVIEWS


Loudon, Kyle. Developing large Web applications. Sebastopol, CA: O'Reilly, 2010. xvii, 279, [6] p. ISBN 978-0-596-80302-5. $34.99 £26.99


Information Research is not a large Website, in fact the whole of InformationR.net can probably fit comfortably on to a single DVD, so I do not have any need, myself, for the kind of information contained in this book. However, many people and organizations are in the business of developing very large Websites and, as anyone who has ever used, for example, a shopping site, they sometimes leave a great deal to be desired in terms of architecture and usability.

Kyle Loudon leads a development group at Yahoo, which is a very large Website, so I think we can presume that he knows what he is talking about. His aim in this book (which, he argues, will be as useful for small sites as it is intended to be for large) is to ensure that a variety of technologies are put to work together effectively.

The work begins with an explanation of basic tenets of large-scale Web development. They are sensible and straightforward: the whole business is about managing complexity and the tool to achieve this is modular development. Of course, these are now standard practices in programming. Large libraries of modules exist for many different programming and script languages, so that the developer can call up units of program, modify them where necessary and rapidly develop a system. The consequence of these two basic ideas are ten tenets for development, which lay down the rationale for the use of html, CSS, JavaScript and other tools.

Chapter 2 sets out the basics of Object Orientation, which, as the author points out, has been used in programming for many years, but which Web developers have been slow to adopt. This Chapter provides the basic ideas for using object orientation in page design and in the use of the various tools.

These introductory sections are followed by chapters on applying the ideas in specific languages: HTML is dealt with in Chapter 3 (along with XHTML), CSS in Chapter 4, JavaScript in Chapter 5 and PHP in Chapter 7. Chapter 6 deals with data management, since this becomes important when building pages that need to interact, through PHP, with back-end systems. Hence its location between languages concerned with static page development and PHP and Ajax which deal with dynamic pages involving such systems. Ajax itself is the subject of Chapter 8, and the final two chapters deal, respectively, with improving the performance of large sites (partly by following the tenets set out in the book) and with the architecture or structure of sites.

With under 300 pages, this is a small book for a big subject and, curiously, there is no bibliography or reading list to guide the reader to more information. Throughout the book, the author occasionally mentions sources, but these are not collected either at the end of chapters or in a bibliography. Even more unusual, there is no list of links at the book's Website in O'Reilly's digital library—this is something of a drawback for anyone wishing to follow up to more detailed information. With this caveat, Web developers will find the book extremely useful in developing their skills or in moving into large-scale Web development

Professor Tom Wilson
Editor-in-Chief
August, 2010