I have recently finished reading WPF 4 Unleashed by Adam Nathan, published by Sams; it is unquestionably one of the best books on WPF available to developers today, both new and old alike. I read the original WPF Unleashed when it was first published a couple of years ago and I was as massively impressed then as I am now; both because Adam tells the WPF story so well, and with the second edition. The book was the first to be published using colour—and it used colour in a big way—which was very important when showing off a new, massively visual, UI technology such as WPF.
However, as the years passed and my WPF experience and knowledge had grown, I’ve found myself picking up the original book less and less, which I guess is not that surprising. Unfortunately though, whenever I did have a need to pick the book up, to look for some specific piece of information that I knew was in their somewhere, I usually had to put the book back down again with a feeling of extreme frustration. In short, for me at least, the original book was brilliantly presented, technically excellent, but has turned out to be a terrible reference book[*], as I simply could never find what I was looking for amidst the story being told.
So given the quality of the first edition and all the new features that have been poured into WPF since the last book was published, I really looked forward to reading the second edition. Again, I’ve been blown away with his excellent style and presentation of technical information. So good in fact, I found myself re-reading bits I read from the first edition with great enthusiasm and gusto, relishing being reminded about features, facts and gotchas that I’d forgotten since the first time around. On that note, I think that this book greatly rewards those who read it more than once. Read it once—from cover-to-cover—when you’re starting out, but before your first real project, and then again some time/months later, after you complete your first couple of projects—again, ensure you read it cover-to-cover.
In conclusion, due to Adams story telling style I still think that this new edition will still make a poor reference book, not the type of book that you’ll dip in and out of to quickly find that fiddly bit of XAML syntax, sitting just outside of your grasp. However, as a means for learning WPF from scratch, or to simply deepen your WPF knowledge, this book is definitely for you and I could not recommend it more highly. It just shouldn’t be the only book on WPF that you own, you’ll probably also want a reference type book too.
Just one question remains, should you buy the second edition if you already own the first edition? The answer to that question is simply: Yes. There is enough new and updated material, presented in the best possible way, to make it well worth it.
If this review has helped you, if you have a different opinion or if you have a recommendation on a WPF book I would love to hear from you.
Think deeply and code well. [pj_]
[*] A book that works as both an excellent aid for the new or old WPF developer, as well as an excellent reference book, is Programming WPF by Chris Sells and Ian Griffiths.