Book Image

Mobile Development with .NET - Second Edition

By : Can Bilgin
Book Image

Mobile Development with .NET - Second Edition

By: Can Bilgin

Overview of this book

Are you a .NET developer who wishes to develop mobile solutions without delving into the complexities of a mobile development platform? If so, this book is a perfect solution to help you build professional mobile apps without leaving the .NET ecosystem. Mobile Development with .NET will show you how to design, architect, and develop robust mobile applications for multiple platforms, including iOS, Android, and UWP using Xamarin, .NET Core, and Azure. With the help of real-world scenarios, you'll explore different phases of application development using Xamarin, from environment setup, design, and architecture to publishing. Throughout the book, you'll learn how to develop mobile apps using Xamarin and .NET Standard. You'll even be able to implement a web-based backend composed of microservices with .NET Core using various Azure services including, but not limited to, Azure Active Directory, Azure Functions. As you advance, you'll create data stores using popular database technologies such as Cosmos DB and data models such as the relational model and NoSQL. By the end of this mobile application development book, you'll be able to create cross-platform mobile applications that can be deployed as cloud-based PaaS and SaaS.
Table of Contents (25 chapters)
1
Section 1: Understanding .NET
5
Section 2: Xamarin and Xamarin.Forms
9
Section 3: Azure Cloud Services
14
Section 4: Advanced Mobile Development
18
Section 5: Application Life Cycle Management

Summary

In short, mobile applications should not be designed to undertake long-running tasks on the user interaction tier, but rather use asynchronous mechanisms to execute these workflows. The UI, in this case, would just be responsible for keeping the user informed about the background execution status. While in the past, background tasks were handled through the classic .NET threading model, nowadays, the TAP model provides a rich set of functionalities, which releases developers from the burden of creating, managing, and synchronizing threads and thread pools. In this chapter, we have seen that there are various patterns that can help us create background tasks. These would then yield back to the UI thread so that the asynchronous process results can be propagated to the UI. We also discussed different strategies for synchronous mechanisms, together with Tasks, thus avoiding deadlocks and race conditions. Additionally, we looked into the native background procedures on iOS and...