Xamarin.Form – memory management

This post is part 4 of series of Xamarin.Forms – real life stories posts.

The nature of the application we were creating is that it is in use almost 24×7. And memory leaks, even small ones, pile up. And at some stage iOS throws you a memory warning, and shortly afterwards, application gets killed. First time we noticed the problem was when the application was about 50% ready and serious testing started. Our tester complained that after 2 hours of use, the application became slow and then it crashes. Investigation of  crash files with native iOS tools showed that operating system killed the app because of excessive memory use.

Now we know the exact cause of the problem, how do we solve it?

Continue reading

Xamarin.Native vs. Xamarin.Forms

This post is part 2 of series of Xamarin.Forms – real life stories post.

Let’s start by defining Xamarin.Native (it’s not an official name). For me Xamarin.Native is combination of Xamarin.iOS, Xamarin.Android, and Xamarin.Mac. These 3 packages allow creation of platform specific UI in a way that very close to the way native apps are developed. The main difference is that it can be done using C# language. In addition, non-UI layers (e.g. business, communication, etc.) can be shared across multiple platforms if separated into PCL library. This approach enable us to fine-tune the UI for each platform without the risk to introduce bugs to other platforms. Also you can re-use those PCL libraries to create native Windows apps (Windows Phone, WinRT, UWP).

Continue reading

Xamarin.Forms – real life stories

During last 12 month I was part of small but very mighty team. Our goal was implement mobile tablet-optimised application supporting 3 major platforms: iOS, Windows, and Android. At this stage, this project is almost completed, application is published in Apple, Windows stores and in Google Play. A lot of lessons have been learnt during this year and this what I want to share.

Continue reading