If you’re getting started in cross-platform (particularly iOS and Android) Xamarin programming, Jonathan Peppers’ “Xamarin Cross-platform Application Development” might be the book for you.
Structure-wise, the first two chapters provide the basics of the tools and, of course, the obligatory “Hello …” sample app: In this case, “Hello Platform”.
The next 5 chapters focus largely on the development and deployment of a cross-platform “XamChat” application. There are individual chapters focusing on the iOS and Android aspects as well as a chapter on creating the cross-platform aspects.
The last few chapters cover various topics common to Xamarin/mobile development (3rd party components, binding to native libraries, GPS, Camera, Contacts and app stores).
One of the key benefits of Xamarin development is the opportunity for code-sharing between mobile apps (iOS, Android and Windows Phone). As Xamarin is primarily focused at Android and iOS, both Xamarin’s web site and this book, provide only passing mention of WP8 development. That said, many of the techniques discussed in the book on cross-platform development, would carry over to a Windows phone app.
This book has a number of strong points; It covers many of the major areas that mobile developers and Xamarin developers will run into. It covers the basics of the software needed for each platform. It covers the tools and how to use them. It discusses some of the platform-specific controls and techniques. It discusses how to use the basic facilities that most apps use (camera, GPS, etc). And it covers a lot of the details of getting your app into the iOS App Store and Google Play.
What this book won’t provide is a lot of detail about Android development and iOS development; which is to say, if you’re doing a moderately complex app, you’re bound to get into areas not covered by this book. Android and iOS are both very rich platforms and to cover either in great detail would require separate books, so it would be unreasonable to expect this book to cover both platforms in great detail. So if you’re unfamiliar with these platforms, you’ll need additional resources.
The book seems to assume the reader is going to go with the MVVM (Model-View-ViewModel) design pattern. In fact, MVVM Cross is probably the most popular development framework for Xamarin and so, this is probably not a bad assumption. But readers should be aware that other patterns can be used as well.
Xamarin provides Xamarin Studio (a cross-platform IDE for Xamarin apps) as well as Visual Studio integration. This book only looks at Xamarin Studio, so if you’re using the Visual Studio integration, some aspects of project management will be different.
Bottom line: If you’re getting started with Xamarin programming, this book is a really good introduction. It covers the basics of Xamarin and general mobile development; certainly enough to get anyone up and running and writing basic applications. This book would be of limited value to someone who’s already done some Xamarin development and it would be of limited value as a long-term reference.