XAML Reuse with Templates in Applications for Windows and the Uno Platform

XAML is often criticised for being verbose, hard to read and unnecessary as an additional language for defining the interface for an application. This feedback has lead to the creation of C# markup which works with both Windows UI / Windows App SDK and  Uno Platform applications. However, I find that the declarative nature and … Read more

Understanding Styles and Resources in Windows and Uno Platform Applications

In my previous post I looked how the Windows UI 3 Figma file components and variants map to styles and visual states in Windows UI but glosses over some of the details of how resources and in particular, Styles, are defined in Windows UI. To cover this in more detail, in this post we’re going to drill … Read more

How Figma Component Variants map to XAML Visual States in Windows UI

In a previous post I covered using Figma to design and develop applications for Windows and the  Uno Platform. This was a high level post that didn’t get into either Figma files (Fluent and Material) in much detail. One thing that is common to both files is the use of components, and component variants, to … Read more

Using Web Authentication (OAuth2) to access Figma from Windows and Uno Platform Application

OAuth2 is quite a common authentication standard for web services to use. Whilst a lot of services have now updated to use OpenID Connect, there are still some, like the Figma api, that still use OAuth2. In this post we’re going to walk through using the Uno.Extensions web authentication package to simplify not only the … Read more

Using Figma to Develop Windows and Uno Platform Applications

Designing applications for Windows and the Uno Platform can be difficult if you attempt to start from a clean slate and assume that you have to design everything from the ground up. This would require you to design even simple elements like a TextBox and a Button. After designing each element, a developer would then … Read more

Add some Swagger to your Windows and Uno Platform application using Kiota and OpenAPI

This post is going to walk through using the Microsoft tool, Kiota, to generate client code from a Swagger / OpenAPI definition that can be used within a Windows (WinUI/Windows App Sdk) / Uno Platform application. Ok, so let’s backup a little – firstly, Swagger / OpenAPI (see description) is used to describe service endpoints. … Read more

What’s a Navigation Region in Windows and Uno Platform Applications?

In all but the simplest single page application, the layout of an application has to be dynamicaly changed in order to display information, or capture input from the user. Most application frameworks provide a variety of components to make this easy. For example in a WinUI / Windows App SDK application can use a Frame … Read more

Managing Dependencies in Windows and Cross Platform Applications

As with all software managing dependencies in often a lot harder than it seems, particularly when there are conflicting priorities. In this post I’m going to talk about some of the challenges developers face relating to dependencies when building Windows and cross/multi platform applications using .NET, the Windows App SDK and the Uno Platform. I’ll … Read more

Saving Data using Settings for Windows and Uno Platform Applications

Following on from the posts on Dependency Injection, Logging and Configuration, in this post we’re going to look at how data can be persisted between sessions using Settings within a Windows or Uno Platform application. This series makes use of Uno.Extensions in order to initialize the services that are required by the application. At the end of the … Read more

Configuration for Windows and Uno Platform Applications

Following on from Dependency Injection and Logging, in this post we’re going to configure the IHostBuilder to load and access configuration information within a Windows or Uno Platform application. We’ll pick up where we left off with the IHostBuilder setup to switch environments and configure logging. var builder = this.CreateBuilder(args) .Configure(host => host #if DEBUG … Read more

Logging for Windows and Uno Platform Applications

In my previous post I covered Dependency Injection for Windows and Uno Platform Applications which covered creating a new application and adding dependency injection using the Uno.Extensions which leverages the Microsoft Extensions IHostBuilder to create an IHost instance. In this post we’re going to adjust the IHostBuilder to setup Logging support. We’re going to start … Read more

Dependency Injection for Windows and Uno Platform Applications.

In the next few posts we’re going to be looking at the TubePlayer sample application for the Uno Platform. For this post we’re going to focus on using Uno.Extensions to add dependency injection to an Uno Platform application. Uno.Extensions builds on the awesome work that Microsoft has done with the Microsoft.Extensions that provides capabilities such … Read more

5x with the Uno Platform

Just over a week ago the Uno Platform released v5.0 which was another significant update, following the 4.10 release that included Adding .NET MAUI Controls to an Existing Uno-Platform Application, and some awesome support for shadows. In this post we’re going to do a wrap up of the release and look at trajectory of the platform. … Read more

Adding .NET MAUI Controls to an Existing Uno-Platform Application

DevExpress

In case you haven’t seen the release notes or the blog post the 4.10 release for the Uno Platform was pretty huge with a couple of big features shipping in this release. One of these features was .NET MAUI Embedding with allows any .NET MAUI Control to be embedded within an Uno Platform application. If … Read more

iOS Debugging on Windows – VS Code Extension

One of the things that has always impressed me was the ability to pair Visual Studio running on Windows to a Mac and be able to debug on either a real device, or on a simulator. There’s even a remote simulator which will display the simulator on Windows, meaning I never have to open, or … Read more

Windows Community Toolkit for UWP, WinUI and Uno

The Windows Community Toolkit is in pre-release of v8 – full details of their announcement here. With the new consolidated structure, there are packages for both UWP and WinUI but more importantly both sets of packages also target the Uno Platform. In this post we’re going to walk through adding one of the components from … Read more

Integrating ImageSharp with Windows and Uno Platform Applications

Earlier this week Six Labors announced the release of ImageSharp.Drawing v1.0 and it made me wonder whether this could be used as an alternative to Skia for controls that want to do custom rendering in a Windows, or multi-platform Uno Platform, application. For Skia there are already Uno (which includes Windows/WinUI) views (see source here) … Read more

Hot Reload in Windows Applications

In a previous post on the topic of hot reload I discussed using the CreateNewOnMetadataUpdate attribute to force updating of entire classes, rather than patching existing types. This makes hot reload more resilient but does require additional logic in order to apply the newly created types. In this post we’re going to walk through the … Read more