Sunday, May 6, 2018

Xamarin as a Journey

In 2010, after doing my web programming homework in PHP & MySQL I've chosen to use C# for my personal projects. I've started sketching solutions in asp.net, being attracted by the loosely coupled, service-based architectures.

The feature-rich .NET libraries and the inbuilt security are coming with no cost, but the learning curve is too long and difficult for being passed alone. C# is too big for a beginner, and it invites to brainstorming and teamwork rather than hammering in isolation.

In 2012, still as a newbie in C# I've managed to run some asp.net pages on a Linux server with Mono-based implementation, and I was impressed by the tenacity of Mono's maintainers. The main problem of free source projects is their imprevisible nature, which makes difficult for IT managers to put them in the right place.

In 2014 I've tried out Xamarin Studio, but I could not manage to compile and run a Hello World test (my desktop computer was too old, and their installer was not polished).

In 2016 I've published my first UWP apps, and I've tried out the Xamarin template included that time in the free version of Visual Studio - with not much success (I haven't had the necessary experience to research and isolate the problems signaled by the error messages).

Several months ago I've run the Visual Studio Community installer for adding the modules needed by Xamarin, I've resolved manually the problems left opened by the installer, and after running successfully my Hello World test I've started to fight with Xamain.Forms on a 32-bit desktop, and being new to Android, but loving XAML.

This week I've published my first XF app for Windows 10 and Android, and my Xamarin journey continues with other apps and then .Net Standard on a 64-bit machine.

Understanding the Android app lifecycle it's easier when coming from Windows 10 than the other way around, and my participation in a study group using C# has helped in developing my skills.

Sometimes it's necessary to growing professionally before starting to grow together with a team, a company or a product.




No comments:

Post a Comment