Author: Fabio Claudio Ferracchiati, Emanuele Garofalo
Aimed at: mostly Silverlight programmers
Pros: Lots of code.
Cons: More like a set of examples than recipes.
Reviewed by: Harry Fairhead
Do you need a book full of WP7 code?
This is a fairly standard recipe book for Windows Phone 7 (WP7) but its recipes are fairly large scale. If you are looking for a book that shows you how to do mostly standard things, it is worth a look.
The first chapter introduces you to WP7 development using both Silverlight and XNA. It also describes how to test using a real phone after paying your $99 per year to Microsoft. If you are already programming with WP7 this is probably a chapter you can ignore, and if you are not then you probably don't need a recipe-style book just yet.
From here we move into more productive territory. Chapter 2 is about the execution model, but oddly it starts off looking at using pages in an application only to get to tombstoning - the central issue of WP7 execution - later. Then on to the user interface - animated splash screen, the ApplicationBar, themes, the keyboard, styles, Panorama and Pivot, and so on. It's not a particularly logical walkthrough the world of the WP7 UI, but the examples might be useful. Notice that there is very little here that could be considered novel or off the beaten track. It's mostly the sort of thing that you could work out how to do from first principles. However, it can be nice to discover that you were correct in your assumptions and good to see some code that actually does the job.
Chapter 4 takes us into Expression Blend territory with recipes for using skins, animation and custom controls. Chapter 5 is on gestures; Chapter 6 is on sensors; and Chapter 7 is on media. These chapters sort of fit together and show you how to do standard tasks such as getting a photo from the media library, taking a photo and using the microphone.
The next two chapters are a little more technical - using isolated storage and working with WCF. The WCF examples include a feed reader and a Google Translator. The final chapter is on testing, using MVVMLight in particular.
This is a book of code listings with not a great deal of discussion about what you are trying to do, why or how you could do it differently. The examples are straightforward and mostly serve to reassure you that you know what you are doing. There is also a lot of wasted space with very large screen dumps and tedious repetitive listings that only serve to make sure you know that there is no hidden magic going on.
You need to be a C# programmer and you need to know something about Silverlight programming to want this collection of recipes. While it does cover XNA a little, this book is also mostly about Silverlight development. It is possible that reading it through would convert you from a Silverlight programmer to a WP7 programmer, but there are easier ways of doing this.
The final verdict has to be that this is not a book for every reader but if you value lots of fairly complete examples, with some explanation thrown in, then you might get something from this book.