Microsoft has launched a new website for the Windows UI Library (WinUI) that provides more information on the various advantages of the modern libraries for the development of Windows. WinUI allows developers to access and use Fluent controls, styles, and other UWP XAML controls via NuGet packages.
While earlier versions of the WinUI focused on UWP, the Redmond giant has been expanding the framework. The preview version of WinUI 3.0 brought with it support for the full Windows 10 native UI platform. The extended scope of the platform meant that developers could use WinUI XAML with their existing WPF, Windows Forms, and Win32 applications. The website terms WinUI as the modern native UI platform of Windows.
Will this be the one that sticks?
“Will this be the one that sticks?”
Past attempts from Microsoft seem to suggest, no.
Um… this is just another XAML based UI library. I am a WPF and Xamarin Forms developer and I looked as the XAML, I can understand what it is doing. Like, 80 – 90% is standard XAML controls, common on all platforms. So… WPF, UWP and Xamarin Forms are all flavours of XAML and this is converging the slight differences in to one common platform. Microsoft is actually succeeding, despite your snide comment. Apple, on the other hand, still has 3 different UI libraries (UIKit, AppKit and SwiftUI) and it is not really getting “better” on the IOS platform as we have two UI kits now!! Let’s not mention Linux. It’s a lost cause.
Except this isn’t true. On Windows, you have true Win32, you have MFC, there are still WinForms apps hanging around, you have whatever junk ATL does on top, plus WPF.
And let’s not act like XAML is enough to define a UI, any more than just HTML is how websites work with JS and CSS. For almost anything beyond a calculator app, most of the UI is actually /in/ the C# that talks WPF or UWP and implements all the interfaces that XAML requires.
> Except this isn’t true. On Windows, you have true Win32, you have MFC, there are
> still WinForms apps hanging around, you have whatever junk ATL does on top,
> plus WPF.
Yes, you do. But it is rare, nigh on improbable, that anything major is still in pure Win32 API (it’s an API). MFC is barely supported and terrible choice these days. I do MFC occasionally for a legacy product, and it is an exercise in pain getting anything useful out of that framework these days. WinForms – is legacy. I think anyone with 6 months+ WPF experience would just use WPF instead these days. ATL was a C++ extension – it was something like MFC. No one used it really in any fields I’ve worked in.
So – XAML. You are wrong. XAML defines the markup and bindings, the logic is in C# (or whatever .Net language you insist on using that isn’t C#.) But a Button is still a Button, and ICommand is still and ICommand. In Xamarin, WPF and UWP. The basic binding concepts are the same. As is INotifyPropertyChange(d). If you know one, moving to another is trivial, as is UNO and Avalon. Really, it’s the same framework dressed up in a new suit. Some extra concepts. But really, no different than, say MFC 1.0 vs MFC latest.
Thom – this is another iteration of UWP, which was a refinement of WPF. This is brining other XAML based UI models together as well. This *is* Microsoft succeeding. The code is pretty much the same. Going to UWP from WPF is like a Dutchman speaking to a Yokel Belgian Flem – sure there are syntactical difference, but it’s not hard to communicate.
The 3.0 version number suggests this will be the first usable version, but we should wait for some patches for it to actually get good.
I really wish Microsoft (and Apple, and Google, and …) would re-hire some human-computer interaction experts and actually design something to maximize usability rather than whitespace.
Most of the issue is with people who consume the UI toolkit and have no clue how to design a good UI.