I spent my fair share of time creating apps for Windows Phones, all the way through this process I questioned whether I was on the losing side of the mobile battle but I happily mushed on until it became painfully obvious that we were all making beds in a burning house.
We Windows developers have, for sometime now, been afforded a much more robust opportunity to get back into Mobile development using the Xamarin platform. Xamarin apps use native UIs on every platform to enable you to design first class experiences everywhere.
Redirecting your energy to new platforms often needs a little inertia and this was kindled in me when Microsoft posted on-demand versions of a free, six-part video series about learning Xamarin development. They are listed here for reference:
- Introduction to Xamarin Platform - This session provides a quick introduction to the Xamarin tools for Visual Studio. It will show you what you need to develop, debug, deploy and publish applications for iOS and Android using Visual Studio 2015 or Visual Studio 2017 RC with the Xamarin tools installed.
- Introduction to Xamarin.Forms - In this session, we will dive into Xamarin.Forms, a cross-platform UI framework that allows you to create native UIs for iOS, Android and Windows with shared code. By the end of this session, you will have a good understanding of how Xamarin.Forms works, how to design basic pages, and how to share code with Portal Class Libraries or Shared Projects. Finally, we will begin a new project – a Trivia app, which will be completed throughout the remainder of the sessions.
- XAML Fundamentals - Xamarin.Forms supports the use of the XAML markup language to design your UI. In this session, we will cover the basics of the XAML language, design a few more screens for our trivia application, and explore some best practices when using XAML with your mobile applications and Xamarin.Forms.
- Adding Azure Web Services - Now that the main pieces of the trivia application are in place, we will explore adding a server backend to our mobile application using Azure App services. This session will show you how quick and easy it is to add a cloud-based database which is synchronized to your application, allowing you to change the data that drives your application without publishing a new version of the application each time.
- UITesting - In this session, we will test our trivia application using Xamarin.UITest and Xamarin TestCloud. These tools allow you to define the behavior of your application and then automate the application on simulators and physical devices to validate the expected behavior. To ensure we try our app on every possible variation, we will push our tests up to the cloud where we can run it across hundreds of real devices and get back a comprehensive report of any failures.
- Distributing your application and collecting information - In this final session, we will get ready to distribute our trivia application to the world – starting with some beta testers. We will look at two different systems – first, HockeyApp which allows us to monitor and collect runtime analytics from our application as it runs on all our beta testers devices. Then, we will take a quick look at Visual Studio Mobile Center, announced at Connect(); which brings a lot of the mobile platform systems we looked at over the course of the day together.
This video series effectively highlights that the UI layers can represent a relatively thin veneer over your logical code (as it should be) and together with the Xamarin platform can revive your defunct XAML knowledge into a genuinely meaningful skillset.
You can find additional Xamarin training resources at Xamarin University.