Developing Large Web Applications |
Author: Kyle Loudon Publisher: Yahoo Press, 2010 Pages: 304 ISBN: 978-0596803025 Aimed at: PHP/Javascript web developers Rating: 3 Pros: Good coverage of fairly standard ideas Cons: Not really about the issues of "big" web apps Reviewed by: Ian Elliot What do you think a large web application is? The picture of the dog on the front cover of this book seems to say it all. They are huge, fuzzy and lumbering - and you are going to need help looking after them. This particular book attempts to provide you with some help but it is probably going to send you off in the wrong direction. It covers the sorts of basic design ideas that you need when tackling any project - big or not, web or not. It tells you that you need to be modular and preferably object-oriented. To do this author Kyle Loudon, manager of a UI development group at Yahoo, explains the sort of thing you will have encountered before if you have read any book on web development. He explains about using HTML for semantic markup and CSS for layout. He explains PHP and Javascript object- oriented programming all the while emphasising the advantages of the usual object-oriented ideas - encapsulation, low coupling, modularity etc. All this is fine but it's not really specific to large web applications. When we do look at the practical details then we are introduced to language facilities that any reasonably experienced programmer should know about. After brief tutorials on PHP and Javascript we are thrown into Java and SQL. The book ignores ASP .NET and alternative approaches - this is a LAMP-oriented discussion. Later we get some fairly long example PHP code to generate pages and to demonstrate how the ideas work but... if you really are going to create a large application you probably wouldn't start from scratch. There are frameworks that you can adopt which provide the structure that a large web application needs. There probably is a book yet to be written on building large web applications but it wouldn't start from a consideration of the lowest-level technologies. Instead it would focus on the overall architectures needed to deliver scalability and manageability. It would need to discuss hosting options such as web farms and cloud implementations. It would need to discuss the relationships between different server components - the web server, the database server, the authentication server and so on. None of these topics are discussed in any detail and, although the last chapter is on performance, there is no real discussion of scalability. Returning to the cover illustration you could say that while the book gives you lots of good advice and examples of looking after dogs it doesn't really tell you how to cope with something that big. More seriously it seems to advocate the "start from scratch" philosophy rather than reuse and this probably isn't a good idea. Buy the book and read it for its discussion of basic web development using HTML, CSS and Javascript - but not because it has insights into big web applications.
|
|||
Last Updated ( Thursday, 03 June 2010 ) |