Adding Windows 11 Widgets to a UWP Application

With the recent release of v1.2 of the Windows App SDK came support for developing third party widgets for Windows 11. What’s not immediately obvious from the documentation is that you don’t have to be using Windows UI (WinUI), or even the Windows App SDK, for your application. In this post we’re going to add … Read more

Adding a Windows Widget to a C# Windows App SDK (Windows UI) App

Microsoft just shipped v1.2 of the Windows App SDK, which includes support for creating third-party Widgets for Windows. During the previews, it was understood that there was a limitation that the widget provider (i.e. the functionality of the widget) needs to be developed using C++. However, this changed and the final release included support for … Read more

Dotnet (.NET) Performance Tracing for WinUI, Uno and Maui Applications

With the transition from UWP to WinUI and from Xamarin iOS/Android to .NET for iOS and Android, we’re seeing the convergence of application development in the .NET ecosystem. This convergence shouldn’t be undervalued and is particularly evident when you realised that all of these once disparate platforms, can now take advantage of the common tooling … Read more

Simplify NuGet Package Versions in your application with Central Package Management

A common problem for multi-project applications, frameworks or libraries is how to manage the versions of NuGet package that are referenced. Often packages will be updated in one project but not others, leading to a state of confusion, particularly if one of the packages causes issuse, or there are incompatibilities between versions. In this post … Read more

Fixing Broken DefaultButtonStyle in Windows UI (WinUI) / WinAppSdk

In writing my previous post on Implicit and Explicit Styles in XAML I was reminded of a bug in the definition of the DefaultButtonStyle which prevents you setting the Foreground colour of a Button. The issue is documented, along with the fix, in this issue but for whatever reason (and I can’t think of one … Read more

Visual Studio: How to Pair to Mac for iOS Development on Windows

I have to start this post by pointing out what a major bonus it is for .NET developers that you can build, deploy and debug an iOS application on Windows – that’s right, if you didn’t already know this, if you’re using Xamarin (now net6 ios/android), Xamarin.Forms (now dotnetmaui) or Uno Platform, you can do … Read more

The Future of Multi-Platform .NET Application Development with WinUI, Net6 and the Uno Platform

In my previous post I started a series talking about using the Uno.Extensions that the Uno Platform team have been working on. This post was supposed to be a follow-on post but instead I want to recap one of the topics in the previous post. In case you missed the announcement, version 4.3 of the … Read more

Add 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. The source code for this post, and subsequent posts … Read more

Styling Controls for Windows Apps

One of the things that we take for granted when using applications that have been designed for Windows is the subtle cues that exist for when you’re using the mouse and/or keyboards. For example when you mouse over a button, or an item in a list, the background color changes slightly. Similarly when you use … Read more

Xamarin.Forms, .NET Maui and the Uno Platform

The .NET Maui team at Microsoft recently dropped Release Candidate 1, so I thought it worth taking a quick look at how it compares to both it’s predecessor, Xamarin.Forms, and the Uno Platform, which is arguably the market leader for building multi-platform application with .NET. If you missed the announcement by Microsoft, here’s a tweet … Read more

Tutorial: Hosting Microsoft Orleans Application on Azure App Service with Cosmos DB

This post is going to wrap up the tutorial series on building a Hello World application using Microsoft Orleans. We’re going to be publishing the application to Azure with the Silo and Services being pushed to an Azure App Service, and linked via a Cosmos DB storage. If you want to check out the first … Read more

UI Testing for WASM (WebAssembly) with the Uno Platform

One of the guilty truths of software development is that despite our best efforts we never write enough tests, and seldom do we write enough automated tests. This isn’t entirely our fault because for some reason testing frameworks, particularly those for UI testing, always seem to be an after thought. In this post we’re going … Read more

Tutorial: Using Azure Table Storage or Azure Cosmos DB with Microsoft Orleans

In my previous post we looked at building a super-basic application that leverages Microsoft Orleans to host an instance (grain) of the IHelloWorld interface in a silo that can be invoked remotely. Unfortunately, whilst this was enough to get everything up and running, the configuration we used will only work in development. In this post … Read more

Tutorial: Hello World with Microsoft Orleans

This topic is a bit of a divergence from regular content regarding building mobile, desktop and web apps using cross platform technologies like Uno and Flutter. However, you shouldn’t underestimate the complexity of building scalable backend services to support mobile applications. Whilst this post will be an introductory post on gettting started with Microsoft Orleans, … Read more

Build and Deploy an Uno Application for iOS, Android, UWP and WASM from Azure DevOps and Pipeline Templates

Developing cross platform applications, targeting platforms such as Android, iOS, Windows and Web, is becoming progressively easier. As .NET developers, one of the leading technologies for building cross platform apps is the Uno platform. Whilst Visual Studio, and the corresponding Uno solution templates, make it easy to create a new Uno application, setting up a … Read more

Contributing to Open Source Projects

I was going through some old notes and came across some notes from a brainstorming session around contributing to open source projects. With all the different apps that we’ve worked on over the years, there wouldn’t be any that didn’t involve at least one open source project. Whether it be a framework project, like Mvvmcross, … Read more