I read a lot of programming books. For some reason I like to pick up books on topics that may never benefit me; sometimes itâ€™s neat to get outside my comfort zone. Iâ€™ll use this page to detail the books Iâ€™ve read and include short reviews. Note this page is living and as of October 28, 2010 not even 10% complete. This version is just here to get the ball rolling.
I started learning WPF in 2008. Itâ€™s radically different than Windows Forms if you want to use it effectively. Thereâ€™s likely enough content online to become dangerous today, but books bring a lot of value to the table by organizing the content and removing distractions. Most of the books are quite old and thus missing information about crucial application architecture topics like MVVM; this is a shame because one of WPFâ€™s primary advantages is it supports separation of UI and logic better than WinForms did. Luckily, thereâ€™s no shortage of information about this topic on the internet.
Hereâ€™s the list of books Iâ€™ve read for WPF. with a 5-star rating system to indicate how strongly I recommend them. 5 stars is â€œmust-haveâ€, 3 stars is â€œworth the money but of questionable useâ€, and 1 star is â€œavoidâ€.
- Silverlight 4 in Action (*****) â€“ Donâ€™t be fooled by the 1st edition of SiA; it was written for Silverlight 2 and is woefully out of date. This rewrite by Pete Brown is the book I wish I had in 2008. I feel like it does the best job of explaining WPF from a viewpoint that doesnâ€™t assume you know too much about WinForms programming. Silverlightâ€™s â€œlackâ€ of some of WPFâ€™s advanced features serves only to give this book an excuse to avoid topics that clutter other books. I am also very happy that Brown spends time discussing application architecture and includes a chapter about MVVM.
- Pro WPF (****) â€“ Very dated at this point; it looks like APress has put out newer versions of this targeted at specific languages that Iâ€™d recommend instead. If you cannot read C# because of a curse placed upon you by a wandering mystic you probably want the VB .NET 2010 flavor of this book. This is an in-depth reference and the author doesnâ€™t make much of an effort to entertain. I like to read Programming WPF more than this book, but I have to admit that this book hands-down has the most information of any other WPF book. It covers data binding with databases in its oldest incarnation, and the new books cover MEF, something not mentioned in other books. Itâ€™s got information thatâ€™s relevant for both app developers and developers of custom controls; Iâ€™d be risking my integrity by ignoring that this (â€œthisâ€ being â€œthe newer versionsâ€) is probably one of the best choices you can make for a reference book. If only it had included chapters on MVVM!
- Programming WPF (****) â€“ I like this book the best out of the original 4 books I read on WPF. Sells and Griffiths write in a tone that, while technical, isnâ€™t usually dry enough to induce drowsiness. The book covers a broad list of WPF topics. Itâ€™s slightly out of date; the last publish date was 2007 and that would be against WPF 3.5; the new WPF 4.0 pulls in some new features that are very much worth a look. It also lacks chapters on application architecture and the only reference to working with databases is a kind of â€œYeah, you can do thatâ€ discussion in one paragraph. I like it a lot but it doesnâ€™t cover as much ground as Pro WPF.
- WPF Unleashed (****) â€“ If you do better with shorter explanations backed by code examples, this might be a superior choice to PWPF. This book is notable for being the only one Iâ€™ve read printed in full color, which makes a big difference in the chapters that discuss WPFâ€™s advanced graphics capabilities. Itâ€™s also nice to have syntax highlighted source code on the pages. This book is short compared to the others Iâ€™ve read. It doesnâ€™t tend to go into excruciating detail about any particular topic. This could make it frustrating as a learning tool but makes it invaluable as a desktop reference; itâ€™s the first I reach for when I need to look up something quickly. I have the same old gripes for this book: thereâ€™s no discussion of ADO .NET interoperating with WPF and no discussion of application architecture. A new edition was released in June 2010; Iâ€™d recommend buying that instead of the older one. The ToC doesnâ€™t make it apparent that any architecture or data access topics were added; I feel like thatâ€™s a glaring omission.
- Applications = Code + Markup (***) â€“ Charles Petzold is a legend in Windows development. He literally wrote the book for development against the Windows API in C. However, this entry really disappoints. His writing style has always been very technical, but he usually makes up for that with interesting diagrams and examples. Sadly, in this book about a brand-new graphical programming framework there are fewer diagrams than in single chapters of his original book. His approach is something I agree with: the first half of the book is concerned almost entirely with WPF from code. Petzold did this for WinForms, and I really appreciate how he teaches the framework like a good math teacher: first you learn the theory and ugly guts, then you learn the shortcut. (Why I like this is a topic for a blog post.) Read this book and youâ€™ll learn tons of interesting stuff about the guts of features most people donâ€™t discuss. Unfortunately, the book is very dated and no new edition is available or in the works. (Petzold has stated he has no interest in writing new programming books, Iâ€™ll try to dig up his post about it later for a source.) I recommend this book if youâ€™re a Petzold fan and curious about how WPF works when youâ€™re not using XAML. Experience is teaching me this is even less important than it was in WinForms.