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

Please Note: Exrin is no longer actively developed. 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, […]

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

Please Note: Exrin is no longer actively developed. 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 […]

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

Please Note: Exrin is no longer actively developed. 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 […]

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 >

Exrin Inspector Preview

Please Note: Exrin is no longer actively developed. The Exrin Inspector is a way to inspect your Exrin application, by being able to track its visual state over time. More than just the Visual State will tracked in the future, but we all need to start somewhere. The Exrin Inspector can only be run on […]

Read More >