0%

A mobile applications development masterclass for .NET and C# developers

Key Features

  • Uncover the new features and capabilities of the .NET 5 framework in this updated and improved second edition
  • Optimize the time required to develop highly performant cross-platform applications
  • Understand the architectural patterns and best practices for mobile application development

Book Description

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.

What you will learn

  • Discover the latest features of .NET 5 that can be used in mobile application development
  • Explore Xamarin.Forms Shell for building cross-platform mobile UIs
  • Understand the technical design requirements of a consumer mobile app
  • Get to grips with advanced mobile development concepts such as app data management, push notifications, and graph APIs
  • Manage app data with Entity Framework Core
  • Use Microsoft's Project Rome for creating cross-device experiences with Xamarin
  • Become well-versed with implementing machine learning in your mobile apps

Who this book is for

This book is for ASP.NET Core developers who want to get started with mobile development using Xamarin and other Microsoft technologies. Working knowledge of C# programming is necessary to get started.

Table of Contents

  1. Mobile Development with .NET
  2. Second Edition
  3. Contributors
  4. About the author
  5. About the reviewer
  6. Preface
    1. Who this book is for
    2. What this book covers
    3. To get the most out of this book
    4. Download the example code files
    5. Conventions used
    6. Get in touch
    7. Reviews
  7. Section 1: Understanding .NET
  8. Chapter 1: Getting Started with .NET 5.0
    1. Technical Requirements
    2. Exploring cross-platform development
    3. Developing fully native applications
    4. Hybrid applications
    5. Native cross-platform frameworks
    6. Understanding .NET Core
    7. Developing with .NET 5.0
    8. Creating a runtime-agnostic application
    9. Defining a runtime and self-contained deployment
    10. Defining a framework
    11. Summary
  9. Chapter 2: Defining Xamarin, Mono, and .NET Standard
    1. Understanding Xamarin
    2. Setting up Your Development Environment
    3. Creating your First Xamarin Application
    4. Xamarin on Android – Mono Droid
    5. Xamarin on iOS – Mono Touch
    6. Using .NET with Xamarin
    7. Xamarin.Forms
    8. Extending the reach
    9. Summary
  10. Chapter 3: Developing with Universal Windows Platform
    1. Introducing Universal Windows Platform
    2. Creating UWP applications
    3. Understanding XAML Differences
    4. Using .NET Standard and .NET Native with UWP
    5. Working with Platform extensions
    6. Summary
  11. Section 2: Xamarin and Xamarin.Forms
  12. Chapter 4: Developing Mobile Applications with Xamarin
    1. Technical Requirements
    2. Choosing between Xamarin and Xamarin.Forms
    3. Organizing Xamarin.Forms application projects
    4. Selecting the presentation architecture
    5. Model-View-Controller (MVC) implementation
    6. Model-View-ViewModel (MVVM) implementation
    7. Architectural Patterns for Unidirectional Data Flow
    8. Useful architectural patterns
    9. Inversion of Control
    10. Event aggregator
    11. Decorator
    12. Summary
  13. Chapter 5: UI Development with Xamarin
    1. Technical Requirements
    2. Application layout
    3. Consumer expectations
    4. Platform imperatives
    5. Development cost
    6. Implementing navigation structure
    7. Single-page view
    8. Simple navigation
    9. Multi-page views
    10. Master/detail view
    11. Implementing Shell Navigation
    12. Using Xamarin.Forms and native controls
    13. Layouts
    14. Xamarin.Forms view elements
    15. Native components
    16. Creating data-driven views
    17. Data binding essentials
    18. Value converters
    19. Triggers
    20. Visual states
    21. Collection Views
    22. Summary
  14. Chapter 6: Customizing Xamarin.Forms
    1. Technical Requirements
    2. Xamarin.Forms development domains
    3. Xamarin.Forms shared domains
    4. Using styles
    5. Creating behaviors
    6. Attached properties
    7. XAML markup extensions
    8. Customizing native domains
    9. Platform specifics
    10. Xamarin.Forms effects
    11. Composite customizations
    12. Creating Custom Controls
    13. Creating a Xamarin.Forms control
    14. Creating a custom renderer
    15. Creating a custom Xamarin.Forms control
    16. Summary
  15. Section 3: Azure Cloud Services
  16. Chapter 7: Azure Services for Mobile Applications
    1. An overview of Azure services
    2. An introduction to distributed systems
    3. Cloud architecture
    4. Azure service providers and resource types
    5. Data stores
    6. Relational database resources
    7. Azure storage
    8. Cosmos DB
    9. Azure Cache for Redis
    10. Azure Serverless
    11. Azure functions
    12. Azure Logic apps
    13. Azure Event Grid
    14. Development services
    15. Azure DevOps
    16. Visual Studio App Center
    17. Summary
  17. Chapter 8: Creating a Datastore with Cosmos DB
    1. Technical Requirements
    2. The basics of Cosmos DB
    3. Global distribution
    4. Consistency spectrum
    5. Pricing
    6. Data access models
    7. The SQL API
    8. The MongoDB API
    9. Others
    10. Modeling data
    11. Creating and accessing documents
    12. Denormalized data
    13. Referenced data
    14. Cosmos DB in depth
    15. Partitioning
    16. Indexing
    17. Programmability
    18. The change feed
    19. Summary
  18. Chapter 9: Creating Microservices Azure App Services
    1. Technical requirements
    2. Choosing the right app model
    3. Azure virtual machines
    4. Containers in Azure
    5. Microservices with Azure Service Fabric
    6. Azure App Service
    7. Creating our first microservice
    8. Initial setup
    9. Implementing retrieval actions
    10. Implementing update methods
    11. Implementing a soft delete
    12. Integrating with Redis cache
    13. Hosting the services
    14. Azure Web App for App Service
    15. Containerizing services
    16. Securing the application
    17. ASP.NET Core Identity
    18. Azure AD
    19. Azure AD B2C
    20. Summary
  19. Chapter 10: Using .NET Core for Azure Serverless
    1. Understanding Azure Serverless
    2. Developing Azure Functions
    3. Using Azure Function Runtimes
    4. Function triggers and bindings
    5. Configuring functions
    6. Hosting functions
    7. Creating our first Azure function
    8. Developing a Logic App
    9. Implementing Logic Apps
    10. Using connectors
    11. Creating our first Logic App
    12. Workflow execution control
    13. Integration with Azure services
    14. Repository
    15. Queue-based processing
    16. Event aggregation
    17. Summary
  20. Section 4: Advanced Mobile Development
  21. Chapter 11: Fluid Applications with Asynchronous Patterns
    1. Utilizing tasks and awaitables
    2. Task-based execution
    3. Synchronization context
    4. Single execution guarantee
    5. Logical tasks
    6. The command pattern
    7. Creating producers/consumers
    8. Using observables and data streams
    9. Asynchronous execution patterns
    10. Service initialization pattern
    11. Asynchronous event handling
    12. The asynchronous command
    13. Native asynchronous execution
    14. Android services
    15. iOS backgrounding
    16. Summary
  22. Chapter 12: Managing Application Data
    1. Improving HTTP performance with transient caching
    2. Client cache aside
    3. Entity tag (ETag) validation
    4. Key/value store
    5. Persistent relational data cache
    6. SQLite.NET
    7. Entity Framework Core
    8. Data access patterns
    9. Implementing the repository pattern
    10. Observable repository
    11. Summary
  23. Chapter 13: Engaging Users with Notifications and the Graph API
    1. Understanding Native Notification Services
    2. Notification providers
    3. Sending notifications with PNS
    4. General constraints
    5. Azure Notification Hubs
    6. Notification Hubs infrastructure
    7. Notifications using Azure Notification Hubs
    8. Creating a notification service
    9. Defining the requirements
    10. Device registration
    11. Transmitting notifications
    12. Broadcasting to multiple devices
    13. Advanced scenarios
    14. The Graph API and Project Rome
    15. The Graph API
    16. Project Rome
    17. Summary
  24. Section 5: Application Life Cycle Management
  25. Chapter 14: Azure DevOps and Visual Studio App Center
    1. Using Azure DevOps and Git
    2. Creating a Git repository with Azure DevOps
    3. Branching strategy
    4. Managing development branches
    5. Creating Xamarin application packages
    6. Using Xamarin build templates
    7. Environment-specific configurations
    8. Creating and utilizing artifacts
    9. App Center for Xamarin
    10. Integrating with the source repository and builds
    11. Setting up distribution rings
    12. Distributing with App Center
    13. App Center releases
    14. AppCenter distribution groups
    15. App Center distribution to production
    16. App Center telemetry and diagnostics
    17. Summary
  26. Chapter 15: Application Telemetry with Application Insights
    1. Collecting insights for Xamarin applications
    2. The telemetry data model
    3. Advanced application telemetry
    4. Exporting App Center telemetry data to Azure
    5. Collecting telemetry data for Azure Service
    6. Application Insights data model
    7. Collecting telemetry data with ASP.NET Core
    8. Collecting telemetry with Azure Functions
    9. Analyzing data
    10. Summary
  27. Chapter 16: Automated Testing
    1. Maintaining application integrity with tests
    2. Arrange, Act, and Assert
    3. Creating unit tests with mocks
    4. Fixtures and data-driven tests
    5. Maintaining cross-module integrity with integration tests
    6. Testing client-server communication
    7. Implementing platform tests
    8. Automated UI tests
    9. Xamarin.UITests
    10. Page Object Pattern
    11. Summary
  28. Chapter 17: Deploying Azure Modules
    1. Creating an ARM template
    2. ARM template concepts
    3. Using Azure DevOps for ARM templates
    4. Deploying .NET Core applications
    5. Summary
  29. Chapter 18: CI/CD with Azure DevOps
    1. Introducing CI/CD
    2. CI/CD with GitFlow
    3. Development
    4. Pull request/merge
    5. The CI phase
    6. Release branch
    7. Hotfix branches
    8. Production
    9. The QA process
    10. Code review
    11. Testing
    12. Static code analysis with SonarQube
    13. Creating and using release templates
    14. Azure DevOps releases
    15. Xamarin release template
    16. Azure web application release
    17. Summary
    18. Why subscribe?
  30. Other Books You May Enjoy
    1. Packt is searching for authors like you
    2. Leave a review - let other readers know what you think
3.145.74.54