Today, you will learn how to implement a pop-up dialog validation for Xamarin cross-platform apps. This post is based on a previous article about custom pop-up implementation, so be sure to check it out first:
We already have a sample authorization screen. To make this sample user-friendly, we need to block the Login button if the login or password is empty, and display the validation messages that describe why users cannot proceed.
When should these validation messages be shown?
The obvious answer is: always when the input field contains invalid data. But from the UX point of view, it would…
I was prompted to write this post about a universal storyboard layout in Xamarin.iOS by the issue at the MvvmCross repository. It turned out there was a question about displaying different Storyboards bound to one ViewModel, so I decided to describe my experience in solving this problem.
Apple’s recommended way of using SizeClass is not enough when we need entirely different UI/UX for the iPad and iPhone, and the most straightforward way to achieve it is to use different Storyboards with a single ViewModel.
This post will describe how to teach the MvvmCross framework to load a View Controller from…
Developers often create a [Dialog/Alert/Interaction]Service
to display pop-ups in Xamarin cross-platform apps. This way is suitable and clean if we need to show an info message or ask the user simple questions with positive and negative answers. But what if we need some complicated UX like a login experience?
Of course, the existing pop-up service could be extended to have inputs and actions:
But think about the complexity of this service’s usage, especially if we need some validation that should be tested somehow.
How can we simplify these pop-ups?
We can use…
In my previous post about logging in Xamarin, I outlined what things need to be logged and how to log them in your mobile app.
The next important step is to ensure that the logging infrastructure follows the “Don’t repeat yourself” (DRY) and “Separation of concerns” (SoC) principles.
You can significantly reduce the long-term cost of codebase development and maintenance by using a simple logging API.
In this post, I will define the logging infrastructure implementation using MvvmCross, AppCenter, and Serilog in six steps:
When the app is published, there is always a chance that unexpected issues will happen. In most cases, users will not be able to help, as they don’t know what details are important for developers and cannot explain what exactly happened with the app.
Moreover, users rarely tell developers that something went wrong while using the app. At best, the only information we get is a message that the user was working in the app, and it just closed, losing the user’s data. Today’s apps are complex, and it is difficult to answer, what led to incorrect app behavior.
So…
Date and time is a significant thing. It appears everywhere, from sorting a library of photos to managing a schedule and selecting flights. Not all developers take this into account when working on their applications.
Have you ever encountered problems when your application displays the wrong date for some users? Or when users cannot understand what 03.02.2020 means? Or messages in your chat application coming from the future? Or does the file filter display files from the Bronze Age? If you have answered “yes” at least once, this post may be useful for you.
In the following sections, I will…