Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Announcing: WinUI 3 in Windows App SDK 1.0! 🎆🎉🎇 #6325

Closed
Tracked by #9104
gabbybilka opened this issue Nov 16, 2021 · 11 comments
Closed
Tracked by #9104

Announcing: WinUI 3 in Windows App SDK 1.0! 🎆🎉🎇 #6325

gabbybilka opened this issue Nov 16, 2021 · 11 comments

Comments

@gabbybilka
Copy link
Member

We've just shipped the latest stable version of WinUI 3, which is a part of Windows App SDK v1.0! This release includes several new features and lots of bug fixes and stability improvements. This version of WinUI 3 can be used for shipping production apps to the Microsoft Store.

Shipping WinUI 3 as a part of the Windows App SDK

In order to use this version of WinUI 3, you'll download the Windows App SDK Visual Studio Extension (VSIX) to get started. The Windows App SDK VSIX includes WinUI Project Templates that you'll use to build your WinUI 3 app, as well as access to other Windows App SDK components. The Windows App SDK package includes a reference to the WinUI 3 NuGet package.

For more on the Windows App SDK, see their documentation and repository. For installation instructions, see Set up your development environment.

What's new

These are all of the new features and updates in WinUI 3 since the release of Windows App SDK 0.8:

  • We've added new controls (PipsPager, Expander, BreadcrumbBar) and updated existing controls to reflect the latest Windows styles from WinUI 2.6.
  • Single-project MSIX packaging is supported in WinUI by creating a new application using the “Blank App, Packaged…” template.
  • We now support deploying WinUI 3 apps without MSIX-packaging on Windows versions 1809 and above. Please view Create a WinUI 3 unpackaged desktop app for additional information.
  • WinUI 3 projects can now set their target version down to Windows 10, version 1809. Previously, they could only be set as low as version 1903.
  • In-app toolbar, Hot Reload, & Live Visual Tree for WinUI packaged apps are supported in Visual Studio 2022 Preview 5 and GA. If you need unpackaged tooling support, please vote for that here.

Experimental Features

This release does not include experimental features. If you'd like to continue using experimental features in your app, feel free to continue using the latest Windows App SDK 1.0 Experimental.

Known Issues

  • Known issues for both packaged and unpackaged WinUI applications:
    • Run-time error in C++ apps that reference a C++ Windows Runtime Component: To resolve, add the below target to the end of the Windows Runtime Component's .vcxproj:
    <Target Name="GetPriIndexName">
    <PropertyGroup>
        <!-- Winmd library targets use the default root namespace of the project for the App package name -->
        <PriIndexName Condition="'$(RootNamespace)' != ''">$(RootNamespace)</PriIndexName>
        <!-- If RootNamespace is empty fall back to TargetName -->
        <PriIndexName Condition="$(PriIndexName) == ''">$(TargetName)</PriIndexName>
    </PropertyGroup>
    </Target>
  • Known issues for WinUI applications with Single-project MSIX (Blank App, Packaged template):

    • Missing Package & Publish menu item until you restart Visual Studio: When creating a new app with Single-project MSIX in
      both Visual Studio 2019 and Visual Studio 2022 using the Blank App, Packaged (WinUI 3 in Desktop) project template,
      the command to publish the project doesn't appear in the menu until you close and re-open Visual Studio.
    • A C# app with Single-project MSIX will not compile without the "C++ (v14x) Universal Windows Platform Tools"
      optional component installed. View Install developer tools for additional information.
    • Potential run-time error in an app with Single-project MSIX that consumes types defined in a referenced Windows Runtime Component:
      To resolve, manually add activatable class entries to the appxmanifest.xml.
      • The expected error in C# applications is “COMException: Class not registered (0x80040154 (REGDB_E_CLASSNOTREG)).
      • The expected error in C++/WinRT applications is “winrt::hresult_class_not_registered”.
  • Known issues for WinUI applications without MSIX-packaging (unpackaged apps):

  • Known issues for packaging and deploying WinUI applications:

    • The Package command is not supported in WinUI apps with Single-project MSIX (Blank App, Packaged template). Instead, use the Package & Publish command to create an MSIX package.
    • To create a NuGet package from a C# Class Library with the Pack command, ensure the active Configuration is Release.
    • The Pack command is not supported in C++ Windows Runtime Components to create a NuGet package.

Getting started

First, you'll need to set up your dev environment with the appropriate technologies. See our documentation for installation instructions and more information on project types:

Install the Windows App SDK

Create WinUI 3 Projects

While you're developing, check out the API Reference documentation.

Take a look at our walk-through docs:

You can also update your existing WinUI 3 app to use the new Windows App SDK 1.0 release using these instructions: Update existing projects to the latest release of the Windows App SDK.

We love feedback! We encourage you to file any bug, big or small, on our repo using this template. Knowing which issues and features are important and/or critical to our customers highly influences which ones we tackle. Even though we ship with the Windows App SDK, please continue to file WinUI-specific bugs on this repo.

Using WinUI 3 - Windows App SDK 1.0 with our ecosystem partners

This latest release is in the process of being integrated into several other important ecosystem technologies. To test out and follow that progress, check out some of our partner technologies below:

  • Actipro Software is migrating their vast UI control offerings over to WinUI 3, including their SyntaxEditor code editor, propertygrid, native type edit boxes, docking/MDI, charts, and more.

  • DevExpress: DevExpress has released 20 new WinUI controls with Windows App SDK support, including the Data Grid, Scheduler, Charts, Ribbon Toolbar, and more. All 20 UI components are available free-of-charge.

  • Esri: ArcGIS Runtime SDK for .NET adds mapping, spatial analytics, and location intelligence capabilities to your apps on Android, iOS, and Windows. Support for WinUI 3 is now available.

  • GrapeCity plans to bring their popular desktop UI controls to WinUI. Learn more about their data connection service components for WinUI.

  • Infragistics: Ultimate UI for WinUI brings business critical, high performing, and feature rich line of business controls to your apps that target any platform that runs Windows (including Windows on ARM64).

  • Syncfusion: UI Control toolkit supporting Windows App SDK with customizable controls.

  • Telerik UI for WinUI: the market first UI controls suite for crafting Win32 and UWP apps with WinUI 3, comes with feature-rich controls like Ribbon, DataGrid, Charts, Gauges, Barcode, and more.

  • Uno Platform: Use WinUI 3 – Windows App SDK 0.8, XAML and C# to build pixel-perfect, single-codebase, native applications that can run on Web, Desktop and Mobile. It is free, open-source and available today.

  • Windows Community Toolkit (Microsoft): The WCT is currently working on supporting Windows App SDK 1.0. It provides tons of new controls and capabilities for use in your WinUI app. You can check out their open source repo here.

What's next

To keep up with progress being made on WinUI 3, please see our feature roadmap which gets updated regularly. We also give monthly updates on our WinUI Community Calls, where you can directly ask the team any questions you have.

@gabbybilka gabbybilka added the hot label Nov 16, 2021
@ghost ghost added the needs-triage Issue needs to be triaged by the area owners label Nov 16, 2021
@gabbybilka gabbybilka removed the needs-triage Issue needs to be triaged by the area owners label Nov 16, 2021
@gabbybilka gabbybilka pinned this issue Nov 16, 2021
@skyler-stripe
Copy link

Very cool!

@jtorjo
Copy link

jtorjo commented Nov 16, 2021

Hi,
This is pretty awesome!

A few notes:

  1. Speed - Discussion: Dependency property is much slower in WinUI 3 than in WPF #1633 (comment) - this really needs to be addressed. I really want to port my app to WinUI3, but that's really really bad performance.
  2. Obviously, I'd like win2d ported ASAP, but apparently it's not a priority for Microsoft. I may end up porting Direct2D myself.

@r7dev
Copy link

r7dev commented Nov 16, 2021

Will Windows Hello feature be part of the roadmap in 2022?

@cjmckee
Copy link

cjmckee commented Nov 16, 2021

Big props to the team for making this happen! Keep up the progress! 😀

@sh0622-kim
Copy link

Congratulations on releasing the first version after a long journey. ❤

@danlemmond
Copy link

Wow, amazing work! Thanks for a timely release!

@Mogikan
Copy link

Mogikan commented Nov 17, 2021

Nice, while new controls are introduced old controls simply not supported and no timeframe is provided. I cannot use it, since you decided not to support maps in v1. When to expect normal release which will cover at least all the features supported in UWP?

@TRadigk
Copy link

TRadigk commented Nov 21, 2021

Hi,
I was waiting for the feature of creating new windows from my app. And I am pleased to have this feature available. But I can't find anything about how to set the content of the window. Where do I find this documentation?

@JanRajnoha
Copy link

Windows App SDK v1.0 has many bugs but almost no reaction from MS. I reported for example bug with Resources (#6204 ), Stephen L Peters commented with mention, but from that day no reaction. Will you care more about devs or it ended with v1.0?

@nikolayvpavlov
Copy link

Bugs, lacking features and slow performance are a problem. Worse, these problems give the impression that WinUI 3 is nothing more but a very unwanted foster child for Microsoft. At present, Microsoft treats it as a hobby project, not a serious SDK that developers should invest into.

@float34
Copy link

float34 commented Jan 1, 2022

@nikolayvpavlov Because it doesn't have an "Azure" word in its name.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests