Breaking a Developer Ecosystem by Changing a Namespace

The next 6-12 months are going to be super exciting with both preview and releases planned for WinUI, Project Reunion and Maui (aka Xamarin.Forms). WinUI/Reunion represent a significant decoupling for Windows apps from the underlying OS version. Meanwhile Maui will provide a bit of a reset for Xamarin.Forms which some major improvements to the way … Read more

Building a Roadmap for Windows Development

If you’re a developer that builds apps using .NET for Windows you’ll be familiar with Microsoft’s attempts to deliver a better developer story. Unfortunately this usually involves learning a new, typically under-baked, technology that in theory will make it easy to deliver better apps for Windows. Whether this was the jump from WinForms to WPF … Read more

WinUI 3.0 Misconceptions

Recently I came across a twitter thread talking about WinUI 3.0 (WinUI3) and how it failed to live up to expectations. Hopefully @JaykeBirdCoding won’t mind me going through his tweets and providing my thoughts – if you get value out of this analysis, please make sure you go follow @JaykeBirdCoding! For anyone else out there … Read more

Unpackaged Windows Apps with Identity using a Sparse Package

In my previous post I made a passing reference to the use of sparse packages to allow unpackaged Windows applications to acquire an identity. In this post we’re going to walk through creating a sparse package and attaching it to an unpackaged Windows application. Before we get into it I want to link to a … Read more

Trust, Identity and AppContainer for Windows Apps

Following my previous post where I explored different packaging options for Win32 and UWP apps, I realised that there are some options I didn’t mention. In this post I’m going to provide a very quick summary of the options I’ve come across and how they define the running context of an app. Here goes…. Vanilla … Read more

Combining .NET 5, WinUI, UWP – FullTrust, PartialTrust, WindowsAppContainer

As Microsoft progresses towards the first release of WinUI3 and in parallel invests into Project Reunion, the gap between Win32 based applications (eg WinForms, WPF) and UWP applications is being eroded. In this post we’re going to look at the role of trust, identity, capabilities and the Windows App Container, and how they relate to … Read more

Packaging a WinUI3 Desktop Application

This week I’ve been looking further into where WinUI3 is at and specifically how it relates to both Win32 and UWP applications. Along this journey I ran into a slight issue with WinUI3 for Desktop application that simply wouldn’t run if I published and then installed the package. In this post I’m going to walk … Read more

Windows Packages (APPX, MSIX etc) are a Band-Aid Solution

The Windows platform supports a number of different development frameworks (WinForms, WPF, UWP etc) and a number of different deployment models (xcopy, appx, msix etc). In this post we’re going to take a look at why the current trend for packaging Windows applications is a stop-gap, a temporary solution to the problem of application management … Read more

What’s the correlation between .NET 5, WinUI and MAUI (Xamarin.Forms)

Over the last couple of years there have been a couple of key developments in the .NET world. However, despite a lot of rhetoric from Microsoft about building a better developer ecosystem, the reality is that the current landscape for building apps using .NET is a mess and no amount of sugar coating is going … Read more

Start and Restart Windows (UWP/WinUI) Applications on Windows Startup

A while ago Windows introduced a little-known feature that allows applications to automatically restart when Windows is restarted. However, rather than just look at this feature, which Windows app developer get for free, in this post we’re going to look at different options for starting and restarting a Windows application when Windows starts/restarts. Launch on … Read more

Persisting Cloud Events to Cosmos DB in Azure

If you start down the path of implementing Event Sourcing, you’ll most likely come across https://cloudevents.io/ which has the tag line “A specification for describing event data in a common way”. This project seems to be well supported (take a look at the contributors list) and has language projections for a number of different languages. … Read more