NuGet Package Explorer Update: 30k users, 22% not on Windows. One new feature!

Last year our team contributed to the famous NuGet Package Explorer (NPE) open-source project by helping port its Windows-only application to Web using Uno Platform. The goal of the migration was to enable non-Windows users to also be able to use NPE on their preferred operating system. If you haven’t checked it out yet, please see To measure how effective we were in reaching the goal, and to help evolve NPE better, we also hooked NPE to .NET Foundation’s Azure Subscription using Azure Static Web Apps and Azure Front Door—a fantastic example of how the .NET Foundation can help and support its member projects. Today, 22% of developers using NuGet Package explorer are coming from non-Windows platforms (and from some surprising ones). Also, we discovered a new feature that needs enabling, which is what we are doing today too! Usage Statistics First, let’s look at the overall usage. The sample data is for the past 90 days to calculate weekly averages. We were incredibly happy to see nearly 30,000 Monthly Active Users for NPE!   Looking at telemetry, 22% of the users come from non-Windows operating systems – goal accomplished! An interesting insight is that even on Windows, a lot

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

Build pixel-perfect Microsoft Surface Duo apps with Uno Platform

This post originally appeared on the Microsoft Developers blog. For those of you who are Surface developers, there has never been a better time to get started. The technology just gets better and better, and the tools available to you to create amazing Surface apps are advancing right along with the tech. The Surface Duo team has demonstrated how you can build dual-screen apps using Java and Kotlin, Xamarin and C#, Flutter, React Native, Web, and games with Unity. Today’s blog post shows how UWP and WinUI developers can target the Surface Duo using 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 Open Source (Apache 2.0) and available on GitHub. In this blog post you will learn how to: Use Uno Platform for your next Surface Duo application Test your application using the Surface Duo emulator Utilize Surface Duo’s unique Hinge Find code samples and resources for further Surface Duo development with Uno Platform Architecture of Uno Platform and Surface Duo Solution The Uno Platform philosophy is to replicate the WinUI and Windows APIs

Uno Platform 3.9: .NET 6 Mobile, VS 2022, WinUI, plus XAML trimming for 50% Wasm AOT size reduction

The newest release brings support for .NET 6 (for iOS, Android, mac Catalyst and macOS), support for Visual Studio 2022 templates, WinAppSDK 0.8.1, Focus management updates, a XAML Trimming feature to reduce the size of WebAssembly apps by nearly 50% as well as many other improvements and bug fixes. WinUI Everywhere In order to follow through on our vision to make WinUI-built applications everywhere, we remain in lockstep with all advancements in Windows developer ecosystem. As Microsoft announced, WinUI 3 now ships as part of the new WinAppSDK (formerly known as Project Reunion). WinAppSDK 0.8.1 has been released and our 3.9 release supports it.   .NET 6 support – iOS, Android, macOS Catalyst and macOS Adding support for .NET 6 mobile targets required a significant effort in terms of packaging to ensure that both current Xamarin (iOS/Android/macOS) targets are supported, as well as new .NET 6 based targets. This new support is available for both Uno.UI and Uno.WinUI packages, ensuring a smooth transition for existing projects. .NET 6 Mobile for Uno Platform support comes with iOS, Android, macOS (AppKit) and Catalyst targets. Mac Catalyst is the newest platform addition, giving the ability for UIKit-based apps to run on macOS with

Windows Calculator on Linux via Uno Platform

We’ve done it again. We’ve ported the open-source Windows Calculator to yet another platform: Linux! With all the rumors of a Microsoft browser – Edge – coming to Linux soon, we thought it would be good to show that the open source community can be effective in bringing a piece of Windows to Linux. If you’ve been following Uno Platform, you’ll know that we’ve already ported the open source Windows Calculator, parts of its codebase dating to the 1990s, to iOS, Android, macOS and Web/WebAssembly as a proof point of the multi-platform reach Uno Platform gives you as a C# and Windows developer. Partnering with the Canonical team, we created and published it to the Ubuntu Snap Store so you can easily download and install it. Thanks a lot Ubuntu team for assisting us in this process, as well as blogging about Uno calculator at Ubuntu blogs. In addition to Ubuntu, Uno Calculator is now running on Red Hat Enterprise Linux, Linux Mint, Debian, Fedora, openSUSE, Manjaro, Kubuntu, KDE Neon, elementary OS, CentOS and Arch Linux, which means you can run it on anything from a Linux desktop, to a Raspberry Pi. Some rough stats, extracted from SatCounter Market Share,

Announcing Uno Platform 2.4 – macOS support and Windows Calculator on macOS

Hello macOS! Developer productivity and code reuse is at the heart of Uno Platform mission. Today we are adding macOS support preview and we are one step closer to achieving #WinUIEverywhere mission, enabling WinUI and your C# and XAML code to run on Windows, iOS, Android, Web, and now macOS. macOS support was one of the top requested Uno Platform feature in surveys we did. We are glad to deliver on that key ask and to continue to develop it in the open together with you. Today, when you create a new Uno Platform solution a new head project for macOS will automatically be created for you. Windows Calculator on macOS Previously, as a proof of concept for the level of code reusability you can achieve across mobile and the web, we had ported the open source Windows Calculator to Android, iOS and the Web, and published it as the Uno Calculator. Today, as a showcase of macOS support published in the macOS App Store, we are extending that example to also include macOS. How to enable your existing Uno app to run on macOS If you already have an Uno application and you want to add support for macOS,

Uno Platform and Windows Community Toolkit DataGrid, TabView and Expander with Sample Code

The Windows Community Toolkit, WCT for short, is an essential resource for WinUI developers. It’s a Microsoft-supported library of controls like DataGrid, TabView and Expander that provide advanced functionality on top of what’s available in the base framework. As you might have seen in the Uno Platform 2.2 announcement yesterday, Uno Platform now includes a bunch of fixes and feature enhancements that unlock more of WCT for mobile and web. While we have supported WCT for a long time now on, in this blog post we’ll highlight some of the WCT controls you’ll now be able to use with Uno.   About Uno Platform For those new to Uno Platform – it enables for creation of single-source C# and XAML apps which run natively on iOS and Android, and Web via WebAssembly. Uno Platform is Open Source (Apache 2.0) and available on GitHub. To learn more about Uno Platform, see how it works, or create a small sample app. WCT DataGrid running on Web (via WebAssembly), iOS, Android, and soon macOS The WCT DataGrid control presents data in a spreadsheet-like format, organized by columns and rows. This control is a mainstay of line-of-business applications, allowing users to view and manipulate data from

Announcing Uno Platform 2.2 – Windows Community Toolkit support, Performance Improvements and more

The Uno 2.2 release is packed with new features, performance improvements and bug fixes, even if it’s closely following the 2.1 release! In addition to expanding our support for Windows Community Toolkit (WCT)  today we are also shipping additional 70 smaller features and performance improvements. If you are following our GitHub repo (hint – you should star it – many more features coming), you may have noticed we are also hard at work on adding support for macOS apps (Thanks @MartinZikmund), and while we still do not have anything to announce, it’s taking shape! The #WinUIEverywhere vision is closer by the day!   About Uno Platform For those new to Uno Platform – it enables for creation of single-source C# and XAML apps which run natively on iOS and Android, and Web via WebAssembly. Uno Platform is Open Source (Apache 2.0) and available on GitHub. To learn more about Uno Platform, see how it works, or create a small sample app. Among the implemented features in this release, you’ll find: Support for MenuFlyout, UIElement.ContextFlyout Support for MenuBar from WinUI 2 Support for ScrollBar Add support for dotnet new unoapp, Visual Studio Code for WebAssembly and macOS templates Support for Electron hosted apps ImageSource.SetSourceAsync support for WebAssembly (Thanks @SuperJMN) Support for ColorAnimation Support