Adding AI to a Windows and Uno Platform Application using Microsoft.Extensions.AI

Earlier this month Microsoft introduced the preview of Microsoft.Extensions.AI.Abstractions and Microsoft.Extensions.AI libraries with the aim of making it easier for .NET developers to integrate AI services into their applications. The Uno Platform provides support for using Microsoft.Extensions in applications that target Windows and any other Uno Platform target (iOS, Android, MacCatalyst etc) via the Uno.Extensions … Read more

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

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

Uno Platform 5.2 Released – One Project To Rule Them All

This has been a work in progress over the last couple of releases in order to deliver a better developer experience for the Uno Platform. The 5.1 release introduced the Uno.Sdk which allowed for better integration with Visual Studio – no more pesky “reload project” warnings appearing. With the 5.2 release the Uno Platform goes … Read more

Switching AI Models with ChatGPT in a Windows and Uno Platform Application

In my previous post I walked through how to connect to ChatGPT in order to integrate AI into a multi-platform (Windows App SDK and the Uno Platform) based application. In this post we’re going to add the ability to switch which AI model (GPT 3, 4 etc) is used when connecting to ChatGPT. We’ll also cover … Read more

Connecting Your Windows and Uno Platform App to ChatGPT with Azure.AI.OpenAI

In today’s digital world, integrating AI into your applications has become increasingly important. One powerful AI model that you can leverage is OpenAI’s GPT, known for its natural language processing capabilities. In this blog post, we’ll guide you through the process of connecting your Windows app to ChatGPT using the Microsoft Azure.AI.OpenAI library, allowing you … 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

Designing and Building Windows Applications using Figma and the Uno Platform

Last week, the Uno Platform officially launched their Figma Plugin which works in parity with the Uno Platform Material Toolkit to support both designers and developers with the process of designing applications. If you haven’t already, check out the announcement post that provides a high level overview of both the plugin and toolkit. In this post we’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

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

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

VisualTransition and State Animations in WinUI and the Windows App SDK

One of the things that sets WinUI apart from other UI frameworks is that provides a declarative way to define visual states for a control or a page. It also allows for the transitions between states to be defined. In this post we’re going to cover how to define both transitions and state animations and … Read more

Deep dive – Uno Platform Template Wizard – Extensions, Application and Theme

This is the last post in the sequence talking about the new wizard that’s available for creating multi-platform applications with .NET and the Windows App SDK (WinUI), leveraging the Uno Platform (previously here, here, here and here). In this post we’ll look at the last three sections: Extensions, Application and Theme. Extensions The Extensions section is broken down into … Read more