Microsoft WinUI library contains all the features necessary to create beautiful applications on modern Windows operating systems. Because Uno Platform has the same API surface, we’re able to take those same high fidelity UI components and bring them to Android, iOS, macOS, WebAssembly and Linux without changing any single line of code. Of course, WinUI is constantly evolving and our goal is to bring all the new features and controls to Uno Platform on day-0 when WinUI ships. How can we be so fast? In this session we show you how having the same API contracts makes this process very fast and straightforward.
To demonstrate how the conversion works and maybe to inspire you to also port some WinUI controls to Uno Platform Martin takes you through the simple process using the WinUI TabView control as an example. In his demo, Martin breaks down the steps our engineers take to port features from WinUI while ensuring we don’t break the existing features and functionality as new features are added and controls are updated. Finally, after performing all the changes for all the C# files and converting all the C++ to C#, he shows how to run the control against Uno Platform targets and demonstrates the process of porting automated runtime and UI tests. These tests provide further assurance that the control is stable and its features are working correctly when updated in the future or when underlying infrastructure is changed.
Resources
WinUI repository
TabView in WinUI repository
Uno Platform repository
TabView in Uno Platform repository