XAML Hot Reload for Xamarin.Forms - first impressions

XAML Hot Reload for Xamarin.Forms - first impressions

XAML Hot Reload was recently announced at the Xamarin Developer Summit. A package that reloads your Xamarin.Forms XAML on the device or simulator you are debugging.

Anyone who has done any kind of UI work in Xamarin.Forms will know this is a real productivity win. Especially for those nasty layout issues that seem to take a forever before resolving. XAML Hot Reload is currently in preview but you can sign up for early access here.

Update: 21st August 2019
XAML Hot Reload is now available in Visual Studio 2019 preview

There are other tools already on the market. The one that I am familiar with and currently use is LiveXAML. LiveXAML essentially solves the same problem as Hot Reload, but has some different features and is not free.

I've been trying Hot Reload for the last week or so and here are my thoughts on how it compares to LiveXAML.

Does it work?

Yes! Most importantly it does what it says. I have been using Hot Reload on Xamarin.Forms Shell projects and have had no issues with it reloading. I've used it on iOS and Android devices and simulator, all updating with no problems. On my Android device, the screen goes a bit funny before refreshing, but it does work so that is fairly minor.

LiveXAML, again, yes it works. I have used LiveXAML for a while now, whenever there have been bugs (not often), there has been a package update very quickly. There is also a Gitter room for help should you need it.

Installation

One of the things that I am not so keen on with LiveXAML is the installation. As well as a Visual Studio Extension, you also have to add a NuGet package to both iOS and Android projects. It would be nice not to have to include this in your projects.

Hot Reload however is a Visual Studio extension only, which is great!

Features

LiveXAML does have extra functionality over Hot Reload, but remember Hot Reload is in preview!

Changes any time

You do not have to be debugging to make UI changes. Once your app is loaded on the device you are good to go.

Multiple devices

Because you are not limited to the device you are debugging, you can simultaneously update multiple devices. This is really good and it definitely an extra productivity win. You can have an Android device and an iOS device, for example, and see your changes on both. This is something I'd really love to see come to Hot Reload.

Updates over WiFi

As long as your device is connected to the same network as your development machine LiveXAML will work. I don't use this feature too much but I can see how it would be useful if you had several devices.

Summary

Whilst this may have turned into more of a comparison between Hot Reload and LiveXAML, I think it shows that even though Hot Reload is in preview it performs really well when compared to a more mature product. I like that it is only a Visual Studio extension, and being free is definitely a massive plus! The feature that I would love to see is support for multiple devices because I do find that really useful.

Go and give it a try!

Progress Arrows icon made by Stephen Hutchings from www.flaticon.com is licensed by CC 3.0 BY
Flame icon made by Vectors Market from www.flaticon.com is licensed by CC 3.0 BY