Top positive review
2 people found this helpful
Solid book for learning MonoTouch
on December 5, 2011
I have been developing with MonoTouch for about a year and have looked through a lot of material on using it to make effective apps for the iPhone. One of the issues that are now being corrected is access to good learning resources on the MonoTouch tool and how it can be used. There are a few gotcha's using MonoTouch that you find out normally through a collection of web sites, code samples and the like and it is difficult to find them in one place.
Learning MonoTouch does a good job of collecting a lot of this knowledge together. Even after a year of MonoTouch and ten years of C#, there were good things that I found in the book that made a good difference to the stability of the app.
Michael does a good job of describing how to use the tools and explain how the C# interfaces with the Cocoa libraries on iOS effectively and some of the problems you come across and how to correct them. The tip about the NSAutoReleasePool with threads was some very welcome knowledge. I also liked his writings on custom UIViews. The code samples were quite elegant, used code instead of interface builder and explained it quite well. There is a good job outlining the core classes and UITableViewController. Good examples that are well documented.
The best chapters I found were on the Graphics and Animation and MapKit. I have all the other MonoTouch books and none of them explain how Core Graphics and Core animation work as well as this book. The examples here are extensive and have allowed me to do much more a lot quicker. The MapKit examples are also of a very high quality and the map annotations and region detection examples are good
The only downsides that I can think of the book is that many of the examples are done using the Interface Builder from XCode 3. Apple has XCode 4 and some examples of Storyboards would have been helpful. The two other things I would have like to have seen was an example of in-app purchasing and push notifications. These are hardly documented anywhere and I think they would have been just as relevant as the GameKit, probably more so. These may be more advanced topics, but I think these chapters would have rounded the book out nicely.
Overall a good book, and as its name suggests it's a `Learning' book, so it meets its objectives. If you get through this book, you should be able to work out the other things you need.