Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Mastering Xamarin.Forms
  • Toc
  • feedback
Mastering Xamarin.Forms

Mastering Xamarin.Forms

By : Ed Snider
4 (11)
close
Mastering Xamarin.Forms

Mastering Xamarin.Forms

4 (11)
By: Ed Snider

Overview of this book

Discover how to extend and build upon the components of the Xamarin.Forms toolkit to develop an effective, robust mobile app architecture. Starting with an app built with the basics of the Xamarin.Forms toolkit, we’ll go step by step through several advanced topics to create a solution architecture rich with the benefits of good design patterns and best practices. We’ll start by introducing a core separation between the app’s user interface and the app’s business logic by applying the MVVM pattern and data binding. Discover how to extend and build upon the components of the Xamarin.Forms toolkit to develop an effective, robust mobile app architecture. Starting with an app built with the basics of the Xamarin.Forms toolkit, we’ll go step by step through several advanced topics to create a solution architecture rich with the benefits of good design patterns and best practices. We’ll start by introducing a core separation between the app’s user interface and the app’s business logic by applying the MVVM pattern and data binding. Then we will focus on building out a layer of plugin-like services that handle platform-specific utilities such as navigation, geo-location, and the camera, as well as how to use these services with inversion of control and dependency injection. Next we’ll connect the app to a live web-based API and set up offline synchronization. Then, we’ll dive into testing the app—both the app logic through unit tests and the user interface using Xamarin’s UITest framework. Finally, we’ll integrate Xamarin Insights for monitoring usage and bugs to gain a proactive edge on app quality.
Table of Contents (11 chapters)
close

Introducing the app idea

Just like the beginning of many new mobile projects, we will start with an idea. We will create a travel app named TripLog; and, like the name suggests, it will be an app that will allow its users to log their travel adventures. While the app itself will not be solving any real-world problems, it will have features that will require us to solve real-world architecture and coding problems. The app will take advantage of several core concepts such as list views, maps, location services, and live data from a RESTful API, and we will apply patterns and best practices throughout the rest of this book to implement these concepts.

Defining features

Before we get started, it is important to understand the requirements and features of the TripLog app. We will do this by quickly defining some of the high level things this app will allow its users to do, as follows:

  • View existing log entries (online and offline)
  • Add new log entries with the following data:
    • Title
    • Location using GPS
    • Date
    • Notes
    • Rating
  • Sign into the app
bookmark search playlist font-size

Change the font size

margin-width

Change margin width

day-mode

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Delete Bookmark

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete