Xamarin is the most powerful cross-platform mobile development framework. If you are interested in creating stunning user interfaces for the iOS and Android mobile platforms using the power of Xamarin and Xamarin.Forms, then this is your ticket.
This book will provide you with the knowledge and practical skills that are required to develop real-world Xamarin and Xamarin.Forms applications. You'll learn how to create native Android app that will interact with the device camera and photo gallery, and then create a native iOS sliding tiles game. Moving on, you will learn how to implement complex user interface layouts and create customisable control elements based on the platform, using XAML and C# 7 code to interact with control elements within your XAML ContentPages.
You'll be introduced to the Model-View-ViewModel (MVVM) architecture pattern, and you'll learn how to implement this within your application by creating a NavigationService class that will be used to navigate between your Views and ViewModels. You will also learn how to implement data binding to connect your XAML pages to your ViewModels.
We will then discuss how you can add location-based features by to your apps by creating a LocationService class and using the Xam.Plugin.Geolocator cross-platform library, which will be used to obtain the current device location, and you will learn how to properly perform location updates, whether the application's state is in the foreground or background, by registering the app as a background-necessary application.
We discuss more advanced topics such as how to integrate Microsoft Azure App Services and use the Twitter APIs to incorporate social networking features to obtain information about a Twitter user, as well as posting walk information to the user's Twitter feed.
Moving on, you will learn how to use third-party libraries, such as the Razor Templating Engine, which allows you to create your own HTML5 templates, within the Visual Studio for Mac environment to build a book library HTML5 solution that will use a SQLite.net library to store, update, retrieve, and delete information within a local SQLite database. You'll also implement key data binding techniques that will make your user interfaces dynamic and create personalised animations and visual effects within your user interfaces using custom renderers and the PlatformEffects API to customise and change the appearance of control elements.
At the end of this book, you'll learn how to create and run unit tests using the xUnit and UITest testing frameworks within the Visual Studio for Mac IDE. You'll learn how to write unit tests for your ViewModels that will essentially test the business logic to validate that everything is working correctly, before moving on to test the user interface portion using automated UI testing.
In this book, I have tried my best to keep the code simple and easy to understand by providing a step-by-step approach, with lots of screenshots at each step to make it easier to follow. You will soon be mastering the technology behind the Xamarin and Xamarin.Forms platforms, as well as obtaining the skills required to create your own applications for the Xamarin and Xamarin.Forms platforms.
Feel free to contact me at [email protected] with any queries, or just drop me an email to say a friendly hello.