WinUI is the future of developing beautiful Fluent experiences on Windows 10, Windows 10X and future Windows versions to come. Just as it is important to plan for the future of your Windows development, it is also important to make sure your future UI stack investments are going to be able to run on previous versions of Windows. This is just one of the scenarios Uno Platform can play in making WinUI run everywhere.
About Uno Platform
The Uno Platform enables C# and XAML based code to run on iOS, Android, and WebAssembly. To avoid having to learn the UI-layout techniques and approaches for each platform, the Uno Platform mimics the Windows XAML approach of defining UI and layouts. The Uno Platform does this by providing full API definitions of the Universal Windows Platform and implementations of parts of the API – such as Windows.UI.XAML. Uno Platform is Open Source (Apache 2.0) and available on GitHub.
“We are delighted to see WinUI 3.0 reach Alpha stage” said Francois Tanguay, CEO of Uno Platform. “We are very proud to work closely with Microsoft to ensure Uno Platform can provide a first-class experience to bring WinUI everywhere, including iOS, Android, Web and even Windows 7!”
Mike Harsh, Group Program Manager at Microsoft added, “We are pleased to see open source projects like Uno Platform contributing to the Windows developer ecosystem by extending the reach of WinUI to other platforms. With Uno Platform developers can bring their WinUI-powered code everywhere WebAssembly runs, even Windows 7.”
How it works under the hood
WinUI 3.0 will ship independently of Windows, allowing its features and capabilities to be used on in-market versions of Windows 10. As of today, with Uno Platform WinUI can also run on Windows 7 broadening its reach beyond UWP apps to traditional Win32 applications by utilizing WebAssembly.
Right after //build 2019 we started working together with Microsoft to bring full WinUI XAML support in Uno while Microsoft open sourced it. If you have been paying close attention to Uno GitHub repo you might have noticed some UWP code appear in it. With this tie-in, when using Uno Platform to get your UWP/WinUI 3.0 and later apps on Windows 7 you now have two options for running your app:
- Run your app as a PWA. Your Windows 7 will need Chrome installed on it.
- Run your app on Chromium through Electron
How is it different than XAML Islands?
XAML Islands enable creation of applications with ‘hybrid UI’. It allows for mixing different UIs from UWP/WinUI, Windows Forms and WPF, allowing developers to gradually modernize older desktop apps with new functionality found in UWP/WinUI. With Uno-built apps you are porting your complete UWP/WinUI application to Windows 7 by using WebAssembly.
Why support Windows 7
Windows 7 extended end of life is January 14, 2020 so why support it?
Windows 7 is going to go down in history as one of the most used operating systems. In a way, it has a similar reputation to Windows XP. January 2020 is around the corner and it still holds around 30% of the market share according to NetMarketShare or Global Stats statcounter.
While Windows 10 is clearly gaining market share (and we love it), Windows 7 still has 3x more market share than MacOS.
In addition, in our quick Twitter survey we discovered that 22% of the developers we polled have a need to target Windows 7 as their deployment OS beyond the end of support date, some 12% even targeting for at least 3 more. A similar survey on CodeProject unveiled that over 33% of the developers polled there plan to target Windows 7 past its end of support date.
The estimated size of .NET developer community size is around 3-4 million developers. Given the poll stats above, there are at least 1,000,000 reasons why we think it is important to provide support for Windows 7 and help put WinUI Everywhere.
Uno Platform in Enterprise Scenarios and on Windows 7
We think WebAssembly is ready for prime time. We’ve had great experiences working with customers modernizing their rich internet/web applications with hundreds of screens with charts and grids, etc. One of our customers, HubSE, has been using Uno to modernize their LOB applications and they saved 10x the time in the process. Also, to try Uno’s support for WinUI on Windows 7, we ported our UADO (Universal Azure Dev Ops) app to Windows 7 and to our delight it works just great. UADO currently runs on iOS, Android, WebAssembly, Windows Store and now on Windows 7 as well. Try UADO in any of those scenarios, compare the performance and you will be a believer as well.
Sample UWP/WinUI application running on Windows 7 via WebAssembly
In closing
We are very proud to have had the opportunity to help in this way. This work and the access Microsoft gave us has helped us out tremendously to both deliver on the ‘WinUI everywhere’ promise, as well as to accelerate Uno development itself. For example, just having access to unit tests for UWP has accelerated our development by 3x. It is a great benefit to complete developer community and another result of what the ‘new open Microsoft’ is capable of.
We’d appreciate your feedback in using Uno Platform. Try Uno Platform now and reach out to us on Gitter with any feedback. #WinUIEverywhere
We are happy to be covering this crucial need for Windows developers and we hope to bring all of you 10x time savings like we did with HubSE and join the rest of our happy customers.