Review of WPF Unleashed

I recently bought and read “Windows Presentation Foundation Unleashed”, by Adam Nathan and Daniel Lehenbauer.  It is by far the best book about WPF I’ve read.  I highly recommend it to anyone who is serious about developing in WPF.

The book has so many great aspects, that it’s hard to pick a starting point for singing it praise.  The entire book is printed in full color, which a subject matter like WPF absolutely demands.  The code snippets have Visual Studio 2005 colorization, which makes reading the code very natural and seamless.  Since all of the images in the book are in color, it’s truly a pleasure to peruse the screenshots.  After reading that book, I just can’t go back to reading black-and-white books about WPF.

It is by far the most practical book about WPF I’ve read yet.  The author explains complicated features of the framework in “everyday terms” and then mentions how they can be used in realistic ways.  Considering the deluge of “pipe-dreamery” I’ve seen about WPF so far, a pragmatic perspective was much appreciated.

Since Adam Nathan and Daniel Lehenbauer both work on WPF at Microsoft, and the book was reviewed by many other members of the WPF group at Microsoft, this book has the lowdown on everything.  It presents many interesting tidbits in callouts, such as FAQs, Tips, Warnings, etc.  Not only is that information very helpful, but it makes the reading experience more enjoyable.

The chapter on 3D programming is outstanding.  Daniel Lehenbauer, the lead developer on WPF’s 3D APIs, wrote the chapter and did a marvelous job.  It is the first explanation of 3D programming in WPF that actually made sense to me.  He didn’t dive right into the mind-numbing (and stomach-turning) details of texture coordinates, normals, etc. like the SDK docs.  Instead he gave a very understandable and interesting overview of 3D programming in general, but explained it in the context of WPF.  Truly fantastic!

Of course, every rose has its thorns.  One (very minor) aspect of the book which I found to be distasteful is the abundance of exclamation marks (!).   The author must have drunk a lot of coffee while writing the book.  I assume that he included all of those exclamation marks to convey his enthusiasm for WPF, so it’s not all that bad. 🙂

One other thing which bothered me was that the author referred to the first version of WPF as “WPF v3.0”.  What is up with that?!  I’m not sure if that is what he, the author, decided to call it or if that is the “official” Microsoft name for the first version of WPF.  Either way, that is the craziest thing I’ve ever heard.  So here’s the official logic regarding The .NET Naming Catastrophe of 2006: ‘The first version of WPF is called “WPF v3.0” because it’s part of .NET 3.0, which is really just .NET 2.0 with additional libraries.’

They must use really strong drugs out there in Redmond.

Anyways, if you have not already done so, just buy and read the book.  You won’t regret it.  Trust me.

14 Responses to Review of WPF Unleashed

  1. Nish says:

    Hey Josh,

    Have the code snippets been updated for the final release? Or is the book’s content slightly outdated (more based on one of the final betas)?

  2. Josh Smith says:

    Nish,

    The code snippets are all based on the final release bits of WPF. The days of WPF books with obsolete code snippets are over (hallelujah!).

    Josh

  3. Nish says:

    Thanks for the info. Looks like I am gonna have to buy that book now 🙂

    Also, what do you think of Applications = Code + Markup? If I buy Nathan’s book, will buying Petzold’s be a waste of money in your opinion?

  4. Josh Smith says:

    Nish,

    I don’t think that Petzold’s book is a waste of money, but if I had to choose only one or the other, I’d go with WPF Unleashed.

    IMO, WPF Unleashed is better for people who already have some WPF experience. I feel that it is not written with beginners in mind. I know that you already have some WPF experience, so Unleashed might be your better option.

    Petzold’s book is better for the WPF newbie. It has his typical warm, smooth radiance; like eating chicken soup by the fireplace on a cold winter day.

    Of course, these opinions are just opinions. Don’t let me dissuade you from buying either book. Read them both! 🙂

    Josh

  5. Nish says:

    Thanks again Josh. I think I’ll buy Nathan’s book first. I don’t normally buy or read a lot of books, so this is something new I am trying 🙂

  6. JCardinal says:

    Hi Josh, I’ve been reading your wpf stuff since yesterday when I finally had time to sit down and find out what it’s all about.

    I’m very interested in wpf and xbap primarily because I’m getting the impression that the .net business apps I write which almost always require a web and windows interface might work well in that environment and save me having to completely rewrite the UI layer for web and windows as I do now.

    Does a book like this one contain any info on xbap or is that a whole other area with other books that would cover it?

  7. Josh Smith says:

    JCardinal,

    The book’s seventh chapter discusses the different types of WPF apps (windows app, navigation app, XBAP, etc.) In WPF, the deployment mode does not really affect the way you design the application…too much. Naturally there are still things to keep in mind when developing for a Web browser deployed app, as opposed to a desktop app (namely, coding within the Internet Security-level restrictions).

    Here are some other links that you might find relevant to your concerns:
    VS Template: Flexible Application (Karen Corby)
    http://scorbs.com/2006/06/04/vs-template-flexible-application/

    Converting EXE Projects to XBAPs (Charles Petzold)
    http://www.charlespetzold.com/blog/2006/11/120718.html

    Josh

  8. JCardinal says:

    Thank’s Josh, your stuff is great, are you going to copy over any of your old blogs at your prior site or will they stay up for a while?

  9. Sai says:

    Josh,

    Thanks for your review and for your great blog. You have become to WPF what DVD Jon is to DRM 🙂

    I do have a question for you. What tools do you use for wpf dev? Do you switch between Blend, VS.Net or do you just use VS.Net and hand-write all your XAML? The latter approach is what I’m doing but it really is not very productive. Good for learning. I was curious what your approach was.

  10. Josh Smith says:

    JCardinal,

    I intend on migrating my previous blog to the new one. It will be a lot of work, so I keep procrastinating…

    Josh

  11. Josh Smith says:

    Sai,

    Thanks for the positive feedback. Since I had never heard of DVD Jon, I feel like a very small fish now! 🙂

    I do almost all of my development in VS.NET, with hand-written XAML. I’m just not satisfied with the WPF dev tools enough yet to really invest a lot of time in them. Plus, writing the XAML by hand is a wonderful learning tool, as you mentioned.

    Josh

  12. […] my review of “Windows Presentation Foundation Unleashed” I stated that “I just can’t go back to reading black-and-white books about WPF.”  I guess I […]

  13. ovispermary hypsilophodontidae foreguess falconelle untouchedness homesickness asaphic pimplous
    The Experiential Basis of Theism
    http://searchsap.techtarget.com/

  14. John "Z-Bo" Zabroski says:

    I was not a huge fan of all the callouts. I felt like they were stuck in there awkwardly, and often made the book more verbose.

    Nathan had a bit of hubris explaining the architecture of WPF, considering he was one of the architects. Ultimately, Matthew MacDonald did a better job criticizing the shortcomings of WPF, particularly the navigation system.