Announcing Xamarin Hot Restart

Jimmy Garrido

Today at .NET Conf 2019, we announced Xamarin Hot Restart which enables you to test changes made to your app, including multi-file code edits, resources, and references, using a much faster build and deploy cycle.

XAML Hot Reload for Xamarin.Forms already provides fast iteration on XAML UIs by enabling you to see changes applied live in your running application. But what about other types of code and project edits? Xamarin Hot Restart will apply these types of changes to your application and quickly restart your app for rapid application development.

Xamarin Hot Restart will be available soon, so sign up to participate in the private preview today:

Update Feb 10th, 2020: A public preview of Xamarin Hot Restart is available in the latest Visual Studio 2019 version 16.5 Preview

 

Iterate Faster with Hot Restart

In numerous surveys and interviews, you told us the most impactful way to make you more productive was to reduce the time it takes to make and debug a change, or the “inner development loop”. We previously introduced XAML Hot Reload which eliminated the need to build and deploy when editing your Xamarin.Forms UI. But what if you need to change your view model or makes lots of small project edits?

Today, when running your app, your C# code is compiled and is used, along with your other project resources, to build an app bundle that is then deployed to your emulator, simulator, or device. Incremental builds help reduce the compilation time, however, deployments generally take the same amount of time regardless of the size of edit.

Xamarin Hot Restart works by pushing new changes to the existing app bundle already on the debug target when possible. It supports changes to code files, resources, and references so whether you are editing your view models or swapping image resources, Hot Restart lets you quickly push the changes to a device or emulator. There is no project configuration required so Hot Restart fits easily into and enhances your existing workflow. When you are debugging your app, you can edit your C# code and press the restart button to apply the changes. Your app is automatically restarted so you can test the new changes.

With Hot Restart you can debug your iOS app built with Xamarin.Forms on a device connected to your Windows machine allowing for a much faster inner development loop compared to today, seen below with the SmartHotel360 application:

Initial Build Initial Deploy Incremental Build Incremental Deploy
Hot Restart 19.49s 22.66s 2.24s 3.89s
w/o Hot Restart 163.38s 11.24s 41.40s 8.12s

 

What’s Next?

The first release of Xamarin Hot Restart will be available soon on Visual Studio 2019 for Windows as a private preview and will support iOS apps built with Xamarin.Forms. We will use the private preview phase to gather feedback from developers like you and ensure we deliver a high-quality feature that meets your needs and expectations.

Following the initial release, we have plans on delivering the following items:

  • iOS support in Visual Studio 2019 for Mac
  • Android support in both Visual Studio 2019 for Windows and Mac

Xamarin Hot Restart is part of our commitment to make you be as productive as possible and we will continue to prioritize our roadmap based on items that you tell us are most important to you.

Sign Up for Xamarin Hot Restart Today

We invite you to sign up for the private preview so that you can be the first to try Xamarin Hot Restart. To ensure feature quality and reliability are maintained, new developers will be added to the preview in “ring” releases. Those participating in the preview may receive communications from our team asking for feedback. Your feedback helps shape Xamarin Hot Restart, so please take a few minutes out of your day to respond: