Recommendations: Web Application Development

Last modified on March 10, 2012   About this page

Web Application Development

Effective Java (2nd Edition) by Joshua Bloch
Effective Java (2nd Edition)As Java evolves and there are more ways to do things, it's getting more important to learn which idioms to use to benefit from library and language features. Effective Java is a well written book that will help new programmers learn how the right way to solve problems, and provide experienced programmers with a refresher course so that they can break out of bad habits, and make use of new library and language features. Read or skim the book from start to finish to get a sense of what's there, and keep it nearby when you are coding as a reference.

Prototype and You Never Knew JavaScript Could Do This! by Christophe Porteneuve
Prototype and You Never Knew JavaScript Could Do This!This book compliments the online resources nicely, explaining not just what to do, but why, and how to do things best. This book does an excellent job of straddling the line between reference and introduction. The writing style is readable enough that you can read a few chapters just to get a sense of what to do, while at the same time, terse enough that you can find what you need quickly.

JUnit Recipes: Practical Methods for Programmer Testing by J. B. Rainsberger and Scott Stirling
JUnit Recipes: Practical Methods for Programmer TestingGet this book both as an introduction to what JUnit can do for you and also as a reference when you are looking for information on how to solve a particular testing problem. The book covers the basics of using JUnit as well as issues around database and J2EE testing. It is filled with pointers to many frameworks and resources that can simplify your testing experience. This is not just a testing cookbook. J.B. also discusses issues such as how to design for testing (and how that can improve your architecture) as well as what to do when you need to test legacy code. This is an excellent guide to the details of how to use JUnit effectively.

Related books

JSTL in Action by Shawn Bayern
JSTL in ActionThis is a good book to learn about how to use JSTL. It has an excellent reference section, and the body of the book explains how to use the JSTL tags with many good example. On the whole, a very useful, readable book. One negative: The author has a sense of humor which some might find odd, and he interjects it throughout the book; at times it's distracting. But if you can get past that, you'll find this to be a good resource.

Struts in Action: Building Web Applications with the Leading Java Framework by Ted Husted, Cedric Dumoulin, George Franciscus, David Winterfeldt and Craig R. McClanahan
Struts in Action: Building Web Applications with the Leading Java FrameworkI read this book after working on Struts applications for a few months, and it added understanding to my knowledge about Struts applications. I marked many pages that illustrated approaches that I wanted to use on my projects, either because my team had problems with that aspect of Struts, or because the approach in the book seemed better. In addition to explaining how to build Struts applications, it also provides good, practical, advice about structuring your Struts applications so that they are maintainable and understandable. I refer to this book often, and it is an excellent complement to the online documentation.

Patterns of Enterprise Application Architecture by Martin Fowler with David Rice, Matthew Foemmel, Edward Hieatt, Robert Mee and Randy Stafford
Patterns of Enterprise Application ArchitectureThis book is an excellent collection of tools to have available when designing and building enterprise or web applications. This is more of a patterns collection or pattern catalog, than a pattern language, but the author ties the patterns together in a way that makes it possible to compare and contrast the various approaches. This is also a very readable book. Get a copy, skim through it to get familiar with what is there, and keep it on your shelf for ready reference.