Today at .NET Conf 2019, we shared some exciting announcements for Xamarin and Visual Studio developers, including:
- XAML Hot Reload for Xamarin.Forms: Make changes to your XAML UI. See them reflected live on your emulator, simulator, or physical device.
- Xamarin Hot Restart: Test changes made to your app, including multi-file code edits, resources, and references, while using a much faster build and deploy cycle.
- iOS 13 and Android 10: Take advantage of the full power and performance of native platforms and APIs. Including iPadOS, dark mode, and foldable support.
These announcements are focused on your needs, which enables you to be more productive and use the full power, performance, and capabilities of iOS and Android in your applications.
Let’s look at these improvements to the Xamarin development experience in detail.
XAML Hot Reload for Xamarin.Forms
XAML Hot Reload for Xamarin.Forms enables you to make changes to your XAML UI. Also see them reflected live, without requiring another compile and deploy.
Your application is compiled using XAML Hot Reload. Which means it works with all libraries and third-party controls. Whether you are building an iOS or Android app or iterating on an emulator, simulator, or physical device, XAML Hot Reload plugs into your existing workflow. This enables you to rapidly iterate over your user interface.
Use XAML Hot Reload in your apps today! Upgrade to Visual Studio 2019 version 16.3 or Visual Studio for Mac version 8.3 and enable XAML Hot Reload in your preferences. Head over to the announcement blog post and accompanying documentation for more information.
Xamarin Hot Restart
XAML Hot Reload for Xamarin.Forms enables you to rapidly iterate on your XAML UIs at runtime without having to build and deploy. However, what about other types of changes? Such as C# code edits, adding resources, or multi-file edits?
To enable rapid iteration for these scenarios, we are introducing Xamarin Hot Restart. Which applies changes made to your app, including multi-file code edits, resources, and references. Rather than having to perform a full incremental build and deploy again when making larger edits to an app, Press the restart button. This will push the new assemblies directly into the existing app bundle.
Impact
See the impact of the Xamarin Hot Restart can have on your inner development loop. Check out the improvements seen when using Xamarin Hot Restart on the SmartHotel360 app:
Initial Build | Initial Deploy | Incremental Build | Incremental Deploy | |
---|---|---|---|---|
Hot Restart | 19.49s | 22.66s | 2.24s | 3.89s |
Without Hot Restart | 163.38s | 11.24s | 41.40s | 8.12s |
We are introducing this scenario first for iOS developers using Visual Studio 2019, enabling you to debug your app on an iOS device connected to your Windows machine. We have plans to bring this scenario to iOS developers using Visual Studio 2019 for Mac, as well as Android developers using Visual Studio 2019 and Visual Studio 2019 for Mac in a future release to enable rapid iteration for these scenarios.
Xamarin Hot Restart will be available soon! So make sure to sign up and participate in the private preview today:
During this private preview phase, we will continue to iterate on Xamarin Hot Restart to ensure it meets your needs. As well as exceed the expectations you have for fundamentals such as quality and performance. Once it is ready, it will be built into a future Visual Studio and Visual Studio for Mac releases.
Target iOS 13 & Android 10 Today
With Xamarin, you can build mobile applications for iOS and Android without restrictions or compromise. Full access to the platform APIs with native performance. Today’s Visual Studio 2019 version 16.3 and Visual Studio 2019 for Mac version 8.3 releases include support for the latest-and-greatest in the iOS and Android platforms, including:
iOS
- iPadOS: iPadOS enables greater use of the Apple Pencil using PencilKit with new gestures. It allows the use of multiple windows and drag-and-drop various content between apps. iPadOS can also allow apps to provide system-wide fonts.
- Dark Mode: With iOS 13, Apple introduces dark mode, a system-wide option for light and dark themes. Now, users can switch to Dark Mode to use darkened iOS color schemes. This puts the focus on the content over the chrome of your app.
- Sign in with Apple: Sign In with Apple enables users to set up a privacy-friendly, secure account. This grants the ability to quickly start using apps and websites while maintaining your level of privacy. Taking advantage of 2FA and the restricted set of provided information will give users more confidence that their personal information is not being stolen or collected in any way.
Android
- Dark Theme: Ensure a consistent experience for users who enable system-wide dark theme by adding a Dark Theme or enabling Force Dark.
- Support gestural navigation in your app by going edge-to-edge and making sure your custom gestures are complementary to the system navigation gestures.
- Optimize for foldables: Deliver seamless, edge-to-edge experiences on today’s innovative devices by optimizing for foldables.
Try It Today
Visual Studio 2019 and Visual Studio 2019 for Mac come loaded with the latest Xamarin features to help you be more productive. All are available for download today! To ensure that we are meeting your needs and expectations, we encourage you to try out XAML Hot Reload. XAML Hot Reload for Xamarin.Forms is available in Visual Studio 2019 version 16.3 and Visual Studio 2019 for Mac version 8.3. To sign up to receive an invitation to the private preview of Xamarin Hot Restart, complete the form below:
We are excited to learn more about you, what you are building, and how we can make Xamarin the best platform for mobile development. If you have any questions, thoughts, comments, or concerns, do not hesitate to reach out directly to our team:
- David Ortinau (Xamarin SDKs): @davidortinau / david.ortinau@microsoft.com
- Jimmy Garrido (Visual Studio Tools): @jimmygarr / jigarrid@microsoft.com
- Jon Douglas (Xamarin.Android SDK & Tooling): @jdouglas / jodou@microsoft.com
- Maddy Leger (Xamarin.Forms Tooling): @maddyleger1 / maddy.leger@microsoft.com
- Paul DiPietro (Xamarin.Forms): @paul_dipietro / padipi@microsoft.com
- Pierce Boggan (Xamarin Tooling): @pierceboggan / piboggan@microsoft.com
- Prashant Cholachagudda (Xamarin.iOS SDK & Tooling): @prshntvc / prashant.prashant@microsoft.com
I absolutely love the concept of a platform independent mobile app programming language, however the inversion of control, dependency injection design pattern implementation in Xamarin means i spend more time trying to battle with architectural complexities of programming than i do trying to create intuitive UIs, and engaging content. By the time i have finally cracked the complexities of Xamarin IoC / dependency injection, I worry that someone creating a similar simple single platform app...
Definitely improvements, but it is absurd that there is no Xamarin XAML Designer. The increase in productivity would be astounding.
It is not some great technical challenge to make a designer that is at least as good as the one we had 30 YEARS AGO for Windows Forms.
Maybe Microsoft needs more experienced and creative product managers and developers.
what for? in xaml everything works without problems
What are you talking about? Of course there is.
The “it never works” XAML previewer would be nowhere near functional equivalence with the original WinForms designer or even the Delphi 1 form designer from 1995 even if it worked, but it never does.
Having worked with Xamarin forms (using visual studio for Mac) and Android Studio (Kotlin) development tools for a few years now I can honestly say the Android Studio development experience is light years ahead.
Simple things like find and replace, moving between interface and implementation, unit testing etc Xamarin development tools have a long way to go. I've suggested before that Microsoft product managers should either jack up visual studio for Mac or license IntelliJ...