Chapter 1, Getting Started with .NET Core, gives you a brief introduction to .NET Core while explaining the different tiers of the .NET Core infrastructure. Languages, runtimes, and extensions that can be used together with .NET Core will be discussed and analyzed.
Chapter 2, Xamarin, Mono, and .NET Standard, tries to explain the relationship between .NET Core and Xamarin. You will learn about how the Xamarin source code is executed with MonoTouch on iOS and Mono Runtime on Android.
Chapter 3, Universal Windows Platform, discusses the components that allow UWP apps to be portable within the Windows 10 ecosystem and how they are associated with .NET Core.
Chapter 4, Developing Mobile Applications with Xamarin, explains Xamarin and Xamarin.Forms development strategies, and we will create a Xamarin.Forms application that we will develop throughout the remainder of the book. We will also discuss the architectural models that might help us along the way.
Chapter 5, UI Development with Xamarin, takes a look at certain UI patterns that allow developers and UX designers to create a compromise between the user expectations and product demands in order to create a platform and product with a consistent user experience across platforms.
Chapter 6, Customizing Xamarin.Forms, goes through the steps and procedures of customizing Xamarin.Forms without compromising the performance or user experience. Some of the features that will be analyzed include effects, behaviors, extensions, and custom renderers.
Chapter 7, Azure Services for Mobile Applications, discusses the fact that there are a number of services that are offered as services (SaaS), platform (PaaS), or infrastructure (IaaS), such as Notification Hub, Cognitive Services, and Azure Functions, that can change the impressions of the users regarding your application with little or no additional development hours. This chapter will give you a quick overview of using some of these services while developing .NET Core applications.
Chapter 8, Creating a Datastore with Cosmos DB, explains that Cosmos DB offers a multi-model and multi-API paradigm that allows applications to use multiple data models while storing application data with the most suitable API for the application, such as SQL, JavaScript, Gremlin, and MongoDB. In this chapter, we will create the data store for our application and implement the data access modules.
Chapter 9, Creating Microservices Azure App Services, goes through the basics of Azure App Services, and we will create a simple data-oriented backend for our application using ASP.NET Core with authentication provided by Azure Active Directory. Additional implementation will include offline sync and push notifications.
Chapter 10, Using .NET Core for Azure Serverless, shows how to incorporate Azure Functions into our infrastructure to process data on different triggers, and integrate Azure Functions with a Logic App that will be used as a processing unit in our setup.
Chapter 11, Fluid Applications with Asynchronous Patterns, explains that when developing Xamarin applications and ASP.NET Core applications, both the task's framework and the reactive modules can help distribute the execution threads and create a smooth and uninterrupted execution flow. This chapter will go over some of the patterns associated with these modules and apply them to various sections of the application.
Chapter 12, Managing Application Data, explains that, in order to avoid data conflicts and synchronization issues, developers must be diligent regarding the procedures implemented according to the type of data at hand. This chapter will discuss the possible data synchronization and offline storage scenarios using products such as SQLite and Realm, as well as the out-of-the-box offline support provided by Azure App Services.
Chapter 13, Engaging Users with Notifications and the Graph API, briefly explains how notifications and the graph API can be used to improve user engagement by taking advantage of push notifications and the graph API. We will create a notification implementation for cross-platform applications using Azure Notification Hub. We will also create so-called activity entries for our application sessions so that we can create a timeline that is accessible on multiple platforms.
Chapter 14, Introducing Cognitive Services, adds speech recognition to our application using the speech API. Additionally, we will be creating a computer vision training set to categorize user-uploaded images. After the Xamarin tasks for Android and iOS are completed, we will be creating a simple machine learning example using the client SDK that's available for UWP.
Chapter 15, Azure DevOps and Visual Studio App Center, shows how to use Visual Studio Team Service and App Center to set up a complete automated pipeline for Xamarin applications that will connect the source repository to the final store submission.
Chapter 16, Application Telemetry with Application Insights, explains how Application Insights is a great candidate for collecting telemetry from Xamarin applications that use an Azure-hosted web service infrastructure because of its intrinsic integration with Azure modules, as well as the continuous export functionality for App Center telemetry.
Chapter 17, Automated Testing, discusses how to create unit and coded UI tests, and the architectural patterns that revolve around them. Data-driven unit tests, mocks, and Xamarin UI tests are some of the concepts that will be discussed.
Chapter 18, Deploying Azure Modules, demonstrates how to configure the ARM template for the Azure web service implementation, as well as other services (such as Cosmos DB and Notification Hub) that we used previously so that we can create deployments using the Visual Studio Team Services build and release pipeline. Introducing configuration values into the template and preparing it to create staging environments are our primary focus of this chapter.
Chapter 19, CI/CD with Azure DevOps, explains how developers can create fully automated templates for builds, testing, and deployments using the toolset provided with Visual Studio Team Services. In this chapter, we will set up the build and release pipeline for Xamarin in line with the Azure deployment pipeline.