Get Element Properties In UITest In Xamarin

When doing UI Automation with Xamarin UITest, you can easily find elements, tap on them and get their basic values, such as Size, and Text. If we want to find out more information on an element, we need to invoke the platform specific property or method on the element we are referencing. Invoking A Native […]

Read More >

Using The Linker In Xamarin Projects

Xamarin Linker is used in iOS and Android projects, to remove unused code from compiled assemblies. This helps reduce the final size of the apk or ipa. However, it is often too aggressive, and starts stripping away methods and fields you are using. This is common, if methods are only referenced by reflection. Linker Options […]

Read More >

Reactive Extensions And Exrin MVVM Framework In Xamarin.Forms

Reactive Extensions (Rx) are powerful extensions, that allow you to use LINQ to compose asynchronous and event based code. Simply put, that means you can configure code to act on events, very easily. ReactiveUI is an MVVM framework that uses Reactive Extensions. Looking at the source code, it does appear to me a grouping of […]

Read More >

Xamarin.Forms Async Task On Startup

When you start up your Xamarin.Forms application, the constructor in your App.xaml.cs will be run, before your application is shown on screen. As you are well aware, constructors currently don’t have the ability to await async methods. They are a number of ways to solve this, depending upon your exact situation. Not Dependent Upon Result […]

Read More >

Feature Grouping Code

There are many ways you can structure your application in terms of projects, however something I usually don’t discuss, but is quite handy, is grouping code via Feature, instead of Function. This method has been around for a long while, and I am not the first to use this, but I want to highlight this […]

Read More >

Exrin Isolates

Isolates are a fancy way of saying modules. Exrin MVVM framework is designed for larger applications, built by several team members. The standard way at the moment, has had some issues, when the number of team members all working on one section, could affect others. Hence to move past this limitation, Isolates have been created, […]

Read More >

Page Object Pattern In Xamarin UITest

When unit testing, but more specifically UI testing in an OO language, developers sometimes forget they are programming in an object orientated language. The result is, large functions, reading just like a script, and almost no reuse of any code. But this is understandable, because when you are introduced to UI testing, you create testing […]

Read More >

Exrin MVVM Operations – Write Less Code

Operations are functions, typically run in an ICommand in the ViewModel, that contain the logic of your ICommand, and have specific, easily testable return types. Interesting fact, Operations were actually the reason I designed Exrin. Then an awesome NavigationService was next. By this stage, it was hard to develop as a separate component to an […]

Read More >

Mobile Database Bi-Directional Synchronization with a REST API

Mobile device’s don’t always have persistent connections to the internet, or local networks. Because of this, some apps will need to provide offline access, so that users or employees, can continue to work uninterrupted. To do this, we need local data storage, commonly SQLite, and a way to update the server with changes and receive […]

Read More >

Tracking Memory Leaks In Xamarin With The Profiler – Part 2

Following on from the original Tracking Memory Leaks In Xamarin With The Profiler – Part 1, there are additional techniques to help pin point a leak in memory. Finding the cause of a memory leak is tedious work, but it can be done with the Xamarin Profiler. In this post, I will go through step […]

Read More >