WinUI

Adding Uno.Extensions to a WinUI Multi-Platform Uno Application

This post will be the first in a series of posts talking about Uno.Extensions, a set of libraries that the Uno team have been working on to simplify common application scenarios and make it quicker and easier to build robust multi-platform applications using the Uno Platform. Follow Along with the Source Code Before we get started with the Uno.Extensions, we’re going to go ahead and create a new application to work with. However, I first want to unpick a topic that can be quite confusing for developers who aren’t familiar with the UWP/WinUI + Xamarin/Maui ecosystem, which is the different flavors of the Uno Platform. Until recently, there was one flavor of Uno, which was based on UWP and used the UWP/WinRT APIs as the basis for building applications for Xamarin.Android and Xamarin.iOS. However, Microsoft is making some substantial changes to the mobile ecosystem as part of the .NET Maui project. These include switching to SDK style projects, combining the various platforms into a single project and of course converging on .NET 6. Essentially this is a breaking change which will require most application code and libraries to be adapted (unless they were .netstandard 2.0 only). This led to the introduction of

How Uno Platform Ports Features from WinUI on Day 0

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

Uno Platform 3.10: Day-0 support for .NET 6 RC1, WinUI InfoBadge, Windows 11 Fluent Styles

We continue to evolve Uno Platform in lockstep with the latest Microsoft developer platforms and tooling. Our 3.10 release supports .NET 6 RC1, latest developments in WinUI and Windows 11 Fluent Styles (aka “Sun Valley”).  We are following developments in .NET 6 and Visual Studio 2022 until their general availability and look forward to bringing to you all the productivity, performance and stability benefits this latest wave of innovation from Microsoft is enabling for all of us. In addition, we closed over 150 new features and issues requested by our community and clients, as well as added 30+ samples to our documentation. Let’s unpack the release. About Uno Platform For those new to Uno Platform – it allows for creation of pixel-perfect, single-source C# and XAML apps which run natively on Windows, iOS, Android, macOS, Linux and Web via WebAssembly. Uno Platform is free and Open Source (Apache 2.0) and available on GitHub. .NET 6 RC1 .NET 6 RC1 contains many changes to get Android and iOS apps running better in Visual Studio. Uno Platform .NET 6 binaries are now built with RC1, and to get your machine setup, your can use uno-check as follows: dotnet tool install -g Uno.Check –version

Uno Platform 3.8 – New WinUI Calendar, Grid controls, 2x performance, new Linux scenario and more

The new 3.8 release ports additional WinUI controls and layouts, such as the often-requested CalendarDatePicker and CalendarView controls, to all Uno-supported platforms getting us one huge step closer to the #WinUIEverywhere vision. Also, the new release brings up to 2x performance improvements in some scenarios, realized from the new Grid implementation as well as DependencyObject and UI Elements creation improvements. We also introduced new AOT and features for WebAssembly, built on top of recently released Microsoft work on .NET. On the Linux front we enabled new scenarios so you can target embedded systems using the FrameBuffer as well. In addition to new UI and Performance features and improvements, the team has closed 100+ issues. Closing issues timely is crucial in further fueling large projects enabling customers like Kahua to port a massive line of business applications from desktop to Web. We are particularly proud of the fact that with every release we close more issues than have been opened in the previous period; it shows a healthy open-source project. A huge THANK YOU goes to all our contributors. Now, let us unpack the 3.8 release in more detail. CalendarDatePicker and CalendarView Shout out to @carldebilly, @dr1rrb, @agneszitte-nventive, @kazo0, @sakshi173 The

Kahua uses Uno Platform, WinUI and Azure to deliver a multi-platform app four times faster than anticipated

Kahua provides project management and collaboration software focused on real estate, engineering, construction, and operations industries. Kahua’s solution helps manage project and program costs, documents, and processes from inception through implementation to improve efficiency and reduce risk. Recently Kahua has been selected by US General Services Administration (GSA) Public Building Service for its new management information system to manage 8600+ assets, with 370 million square feet of workspace for 1.1 million federal employees and preserve 500+ historic properties. By using Uno Platform, Kahua were able to go to market four times faster than anticipated. “By combining Microsoft WinUI 3 and Uno Platform we are able to provide our customers with features, functionality and security that is simply unachievable with any other solution” – said Colin Whitlatch, CTO of Kahua.     The Challenge & Technical Requirements Kahua needed a future-proof solution which builds on its legacy desktop application, while using C#, XAML and Azure skillsets of its developers. Kahua had a short timeline and a recurring imperative to bring new features to market quickly, on different devices – from desktop to web and mobile. In addition, Kahua’s developers wanted to reduce the time to market by maintaining a single codebase

Uno Platform 3.7 – More WinUI, Project Reunion and Linux Support, Wasm Performance Boost

Uno Platform 3.7 expands our support for the newest WinUI, Project Reunion and Linux, all while continuing performance improvements for WebAssembly head. Extending WinUI Support We are continuing the #WinUIEverywhere path by adding support for XAML behaviors for the newly-released WinUI 3. XAML Behaviors is an easy-to-use means of adding common and reusable interactivity to your Windows applications with minimal code. With Uno Platform, you can take it to any mobile, web or desktop platform. Previously, we provided support for XAML Behaviors for Windows UWP applications, and we have now been upgraded it to support Windows WinUI and Uno Platform applications as well. We also contributed the Prism Library support for Uno Platform and Project Reunion – WinUI 3. This was merged very recently in the preview bits and will be available as part of the next release. Big thanks to Dan Siegel and Brian Lagunas for their support to get this massive PR merged (200+ files changed!). New WinUI Control ported – SwipeControl The SwipeControl is part of the WinUI 2 library, and is used a lot on touch devices. We ported this control to Uno Platform to enhance the user experience of your apps: GTK/Linux TextBox support By

Launch 2021– community contest for best WinUI, UWP and Uno Platform applications

The Launch Competition brings together Windows developer community in friendly competition and serves as a platform for launching and updating their Windows applications. This annual event is hosted by the community behind UWP Community Discord. We are proud to sponsor the prizes for this year’s competition and help Launch evolve further. This year’s event promises to be bigger than ever and it has just (re) opened its doors for submissions! Categories: In launch 2021 you will be able to enter two categories: Windows Category: New and refreshed Windows applications built by UWP and WinUI. Multi-platform Category: New and refreshed applications built for Windows AND also extended to at least one more additional platform by using Uno Platform. Any additional platform Uno supports is welcome -Web, macOS, Linux, iOS or Android. Prizes: In each of the categories you will be able to win: 3rd prize – Raspberry Pi 4 Starter PRO Kit 2nd prize – Bose Noise Cancelling Headphones 1st prize – DJI Drone with 4K Camera Additionally, every participant in multi-platform category will receive Uno Platform t-shirt Timeline: May 24th – Registration Ends Aug 23rd – Coding ends / Application entries finalized. Aug 23 – August 30th – Judging period

[Press Release] Uno Platform 3.6

Uno Platform 3.6 WinUI 3 and Project Reunion Day 0 support. New controls and theme added. We are pleased to announce the general availability of Uno Platform 3.6. The new release enables software developers to reuse the same code from their WinUI 3 built applications for Windows and take them cross-platform to Web, Linux, macOS, iOS and Android with Uno Platform. In addition to Day-0 support for WinUI 3 and Project Reunion, Uno Platform released additional controls for enabling end-user interactions with Date and File input controls, as well as a new Cupertino theme preview in Uno Platform Gallery. Prior to 3.6 release Uno Platform already provided Fluent and Material theme out-of-box support for developers to reuse in order to speed up multi-platform application development. Uno Platform is built on top of .NET and it also takes advantage of great Windows platform features such as accessibility, touch, keyboard inputs as well as rich controls such as Charts, Gauges and Grid coming from either Windows Community Toolkit or 3rd party vendors like Infragistics and Syncfusion. Uno Platform team believes the Windows platforms provide the most delightful end-user applications which can, by utilizing Uno Platform, be easily taken to all platforms where

Uno Platform 3.6: WinUI 3, WCT 7.0 support, Date and File pickers, and more

The wait is over! The new, modern native UI platform of Windows – WinUI 3 – has been officially released to the public, alongside Project Reunion 0.5. To empower you to have #WinUIEverywhere on the day it launches we are also releasing Uno Platform 3.6. Our appreciation goes to Microsoft WindowsUI team for keeping us posted so we are able to have day-0 support for WinUI 3 and Project Reunion 0.5 . In addition to WinUI support, we are also releasing the highly-requested DatePicker and File Pickers (Open, Save, Folder), a new Cupertino-like theme, OpenId Connect, WebAuthenticationBroker and are continuing support Windows Community Toolkit and its newest release – 7.0! Lastly, we have restructured and added more documentation to our docs – one of the main improvements you asked for in our annual survey. About Uno Platform For those new to Uno Platform – it allows for creation of pixel-perfect, single-source C# and XAML apps which run natively on Windows, iOS, Android, macOS, Linux and Web via WebAssembly. Uno Platform is free and Open Source (Apache 2.0) and available on GitHub. WinUI 3, Project Reunion on Web, Linux, macOS, iOS and Android We believed in WinUI since its inception and