What's Next for .NET MAUI? Roadmap & Xamarin Sunset Unveiled
.NET MAUI, which evolves Xamarin.Forms by adding desktop app support, has arrived in .NET 6 and Visual Studio 2022, but what's coming up?
The dev team's plans for .NET Multi-platform App UI in .NET 7, along with end of support for Xamarin, were unveiled during a recent conference focusing solely on Microsoft's cross-platform UI stack targeting Android, iOS, macOS and Windows.
.NET MAUI has been a long time coming, as it was supposed to debut with .NET 6 last November but slipped the schedule due to the pandemic and other issues, finally becoming generally available in May. However, it wasn't until early this month that it became GA in Visual Studio 2022 17.3. With that, Microsoft trumpeted new "visual and live" functionality.
"We've built tools to help you develop your app without slowing you down or waiting for a rebuild. Hot Reload, Live Visual Tree, and XAML Live Preview speed up your development time by allowing you to apply code changes and see them immediately," Microsoft's Montaquila said in a blog post earlier this month about the Visual Studio GA. "With XAML Hot Reload, you can make changes to your UI and see them in the running app with your real data right away. With .NET Hot Reload, you can make changes to your code, save, and see those changes as well without losing your application state."
Also associated with that VS 2022 release was the live-streamed .NET Conf: Focus on MAUI, wherein hosts David Ortinau and Montaquila unveiled the dev team's plans for .NET 7, coming Nov. 8.
The .NET 7 Roadmap
"I want to give you a quick note about the.NET 7 roadmap," Ortinau said. "We've shown you all the cool things you have today, and you're totally going to be playing with. What about.NET 7? What's coming up next? Well, we're really focused on taking our desktop to the next level, and making improvements in a big step forward there. We're adding context menus, tool tips, right-click gestures, hover gestures. We'll see what we can do about customizations in the title bar space and several other things."
The Platform Side
"On the platform side, for our twinsies, what can we do to make it easier so you don't have to do type bindings and C# things that are really complex. It makes my head hurt."
"Then on mobile, we're giving you maps. As you can see, we've got some screenshots here, stuff's coming together."
"I want to also mention quickly about what our release schedule is, what support looks like, and things like that moving forward. Of course, .NET MAUI ships in .NET 6 and so what that means is that in.NET 7 -- guess what? -- You get another MAUI. In. NET 8, what are you getting? Another MAUI. We will ship every .NET."
"There's a little thing people need to be aware of about.NET MAUI -- we have external dependencies. So when Apple ships a new Xcode, when Google ships a new Android, when Windows ships a new Windows, these are not things we necessarily have any control over, and so we need the ability as an optional workload in the .NET installer to be able to ship on a separate cadence when needed. So when the new Xcode goes GA, when the new Android goes GA, we can still continue to ship and service that for you. And then every major version of MAUI will receive patches for an additional six months. Why? Because that's the cadence you get from Apple and from Google and this is something that's important to our customers. This level of support is really unmatched anywhere."
Xamarin End of Support
"Quick note about Xamarin, we get asked all the time, well how quickly do I need to move? When is Xamarin going to stop being supported, etc? We are going to ship another version of iOS, so the Xcode SDKs. We will ship also our last version of Android on Xamarin and so we are looking at an update to our support policy that will state by May of 2024, that's the end of support. It's just one date. That's all you need to worry about, but look, that's plenty of time. That's.NET 6, .NET 7, that's halfway into .NET 8 for you to move your code forward."
Upgrade Process (No Rewrite Required)
"It's not a code rewrite. It is an upgrade process, but you get the latest C#, you get all the performance improvements, you get full support, you get security fixes all along the way, and the one thing that if you heard nothing else from this crazy, rather busy but beautiful slide, is that there are no gaps. No gaps in coverage. This is unparalleled in the industry. Nobody else has this level of support, this quality of support so I hope everybody recognizes that this is awesome what Microsoft is able to do for us."
Microsoft has published guidance like "Migrate your app from Xamarin.Forms" and provided other resources like the "Migrating from Xamarin.Forms (Preview)" GitHub repo for .NET 6, but Montaquila promised more documentation help in the coming months as .NET 7 approaches GA.
David Ramel is an editor and writer for Converge360.