Over the last few months I’ve been busily writing away on my first book - Xamarin In Action for Manning publications. Manning are a pretty serious publisher, they count Jon Skeet amongst their authors so it was quite an honor to be asked to write for them.
The first 3 chapters are now available to buy under the Manning early access program - under this program you buy the book and get the first 3 chapters now, with more chapters as they are written. You also get to engage with me and give feedback on the book to help make it better for everyone.
Xamarin In Action tries to be different to other book - it’s focused on answering the question of how to build a cross-platform Xamarin mobile app. Unlike other books that just focus on reference material for how to use the various iOS and Android UI widgets and services in C#, this book instead focuses on the main upside of Xamarin - the ability to write cross-platform apps. Unlike just writing for iOS and Android, to make a successful Xamarin app you need to be able to share a large amount of code, but still build your apps in a way that looks and feels like the platform you are targeting. You need to think all the time about what code can be cross-platform, and what code needs to be platform specific.
The best design pattern for doing this is MVVM - you write your models and view models in cross-platform code, then write your views using platform specific iOS or Android code. You can also use cross-platform plugins from your cross-platform code to access device specific features thanks to the such awesome NuGet tricks as bait-and-switch. This book focuses on using MVVM, and specifically MvvmCross, showing you how to build your apps to maximize code re-use and testability.
After showing you how to best build your apps, the book then looks at how to turn them into production quality apps - after an app is only an app once it is on the store. It looks at testing, releasing and monitoring your app once it is released, to allow you to catch bugs early.
You can buy this book from here: Xamarin In Action