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

👨‍💻☎ [Cancelled] WinUI Community Call: October 20, 2021 #6050

Closed
gabbybilka opened this issue Oct 6, 2021 · 68 comments
Closed

👨‍💻☎ [Cancelled] WinUI Community Call: October 20, 2021 #6050

gabbybilka opened this issue Oct 6, 2021 · 68 comments

Comments

@gabbybilka
Copy link
Member

gabbybilka commented Oct 6, 2021

Update (10/19/2021) 📢: The October WinUI Community Call has been cancelled - we'll see you in November.

Instead of a live Q&A, we'll be answering your questions posted here, For additional questions, please feel free to open up separate issues for them on the repo.


Please join us for the October 2021 edition of the WinUI Community Call. This event will be live-streamed to YouTube at the following link:
https://youtu.be/h4apI79wt4o

Details

Date: October 20, 2021
Time: 16:00-17:00 UTC (9:00-10:00am Pacific)

Anyone and everyone is welcome - no pre-registration is required.
This will be an informal interactive live stream directly with members of our engineering team.

Format

The community call is a call among the WinUI team that is live-streamed onto YouTube. We present on new updates, share information, welcome guests, and answer your questions. In this month's call, we'll be sharing WinUI roadmap updates and info about the latest WinUI 3 release in Windows App SDK Preview 2 (#6049). We'll also be joined by folks from the React Native for Windows team to share latest updates and give an overview of how RN4W integrates with and layers on top of WinUI.

Agenda

  • Intro
  • WinUI release updates
  • WinUI 3 in Windows App SDK Preview 2 info + demo
  • RN4W presentation
  • Q & A
    • Questions and topic requests can be pre-submitted by commenting them on this GitHub issue
    • Questions can be asked live in the YouTube livestream's comment section

Q&A Code of Conduct

  • To help ensure Q&A remains beneficial for the majority of the call's developer audience, please consider whether your question could be framed so that it might be more broadly relevant to our larger developer audience by ensuring it is reasonably concise, broadly beneficial, well-suited for the fast-paced live Q&A format, or able to spark open ended discussion.
  • Please understand some questions are not well-suited for the fast-paced live Q&A format and should be filed as standalone Discussion or Question issues where they can be most appropriately handled. Excluding presentation topic requests, this generally includes requests for dedicated follow-ups or technically complex questions that require investigative time or expertise not included in this month's guest list.

Leave us your questions in the comments on this issue or live in the YouTube chat during the stream!

@ghost ghost added the needs-triage Issue needs to be triaged by the area owners label Oct 6, 2021
@ranjeshj ranjeshj removed the needs-triage Issue needs to be triaged by the area owners label Oct 6, 2021
@kmgallahan
Copy link
Contributor

@gabbybilka The last pinned community call should be replaced with this one.

@thatsofia
Copy link

thatsofia commented Oct 10, 2021

Are there going to be updates to the styles of WPF so users don't have to rely on external dependencies?

And perhaps open-sourcing UXTheme?

And a more user-facing question I have is whether click and drag support for menus is coming. I'm not sure if there's an issue in this repo already but people (in my circles at least) including myself have noticed this. And hey... isn't Paint using XAML islands now?

Ah and a question at a more personal level that I'm only asking because the RNW folks are here. It looks like the Xbox app for Windows uses an old version of RNW (and hence WinUI). It also doesn't use MSIX? What's up with that? And what other clients, be it Microsoft or external, use RNW?


Edit: Also, last time I really checked in with WinUI 3.0, UWP wasn't supported. I'm not much of a UWP developer but are you folks not tired tired of burning those who have followed Microsoft? I remember reading microsoft/WindowsAppSDK#105 where people were complaining about the lack of official .NET 6 support in UWP apps. The entire situation is rather messy. Again, only briefly looked at the docs of UWP stuff. More or less sad for those people.

@llothar
Copy link

llothar commented Oct 11, 2021

When will we get the ink canvas control in WinUI3 ?

@MrDeej
Copy link

MrDeej commented Oct 11, 2021

Please enable Windowing in next preview. It works good enough in Experimental1 to use. The operating system is called "Windows", not "Window" :) We need multiple windows (on same thread) to enable desktop productivity.

@pjmlp
Copy link

pjmlp commented Oct 11, 2021

Any roadmap updates regarding XAML C++/WinRT and IDL tooling?

Also, will XAML compiler ever be aware of C++ modules? Currently it just doesn't work given the tricks made with partial types and #includes from generated code (...g.h).

@gabbybilka gabbybilka pinned this issue Oct 11, 2021
@jaymarvin98
Copy link

Hello!

Is this the best place/forum to ask general questions? I hesitate to create an "Issue".

My question is about the file system interface of UWP, the main actor being StorageFile. Is this mechanism/API supported in WinUI 3, or Win UI 2 for that matter? Or do you have to revert to the older System.IO Win32 APIs?

Thanks,
Jay Marvin

@ghost1372
Copy link
Contributor

When will the designer be available for WinUI 3?

@ghost1372
Copy link
Contributor

Is there a plan to add datagrid control?

@MEK3DK
Copy link

MEK3DK commented Oct 12, 2021

What level of rendering performance does WinUI 3 target compared to WPF? Faster to render for example 1000 buttons or?
In the examples seen so far, it seems like WinUI 3 is quite slow at rendering, is that due to debug code still in the release or?

@MEK3DK
Copy link

MEK3DK commented Oct 12, 2021

Will Width and Height properties for a Window be supported in 1.0?
It seems funny to release a UI framework for Windows where you cannot set Width and Height.

(I know there is a bug for it: #2731)

@MEK3DK
Copy link

MEK3DK commented Oct 12, 2021

A big roadblock for moving from WPF to WinUI 3 is that WinUI 3 classes are sealed, will that be fixed in 1.0 or 1.1?

(Bug related to it: #780)

@alex-aparin
Copy link

alex-aparin commented Oct 12, 2021

Hello! Unfortunately I came across on multiple limitations of WinUi 3 as GUI framework. Here is my questions (I will very appreciate if you cover these ones):

  1. What is about Vulkan support. My application heavily uses Vulkan engine to render different scenes. I want to easily migrate to WinUi (but it seems like there is no direct support). Some custom control with vulkan rendering will be enough.
  2. This one is related to the previous question (it's kind of workaround). Will WinUi support of including native controls (especially for native win32 HWND) in nearest releases? (Here is list of related issues Question: How to migrate a simple Win32 app to WinUI 3.0 #3812, Discussion: Legacy Pond (Legacy control container in XAML) for XAML Desktop #1833, #Discussion: Vulkan embedding #3291). I analyzed the WinUI 3 application. I noticed that it does not use native win32 children (it seems like that they are custom drawn, except for top level window - WinUIDesktopWin32WindowClass) This is problem because Vulkan API requires native HWND . (Just as example - WPF provides similar feature)
  3. Why does API not have effective way to override appearance of any controls. (I know that composition can be applied for custom draw controls, but it's very ineffective to render such primitives as Line, Rectangle, Path because they are derived class of Shape. It has overhead (for example due implementation, each of such instances allocated memory on heap etc). Just as example - WPF proposes direct rendering to Visual object, its content has render instructions which will be processed later on GPU - I did not find similar way in WinUI 3). It's related to How to render content of Control object? #6036

@ghost1372
Copy link
Contributor

ghost1372 commented Oct 12, 2021

At the time of release of WinUI 3 1.0.0-experimental1, it was announced that this is the latest experimental version, The same thing was said recently in the release of the preview2. Therefore, until the release of the official version (WinUI 3 v1.0.0), we will no longer have experimental and preview builds from version 1.0.0.
So what should we wait for?
The official version in the coming weeks?
Experimental and preview versions of version 1.x.x?


Update:
I noticed that due to some critical bugs we will see preview3 soon.

@wjk
Copy link
Contributor

wjk commented Oct 14, 2021

Where's the source code? We were promised source years and years ago, and not one line of core WinUI 3 code has hit GitHub to date. Even if you can't release the WinUI 3 C++ source yet due to its OS repo history, at least please let us be able to submit PRs for the NuGet packaging and MSBuild targets, since (AFAIK) those components were written from scratch. There are plenty of things we, the community would be able to improve on (for example, microsoft/WindowsAppSDK#1444), if only you let us!

@harvinders
Copy link

@ryandemopoulos Sorry, have to ask it. When are we going to see 1.0 released? Why I ask? We can then plan our activities properly.

@seanocali
Copy link

Will there be gamepad support in 1.0?

@gabbybilka gabbybilka changed the title 👨‍💻☎ WinUI Community Call: October 20, 2021 👨‍💻☎ [Cancelled] WinUI Community Call: October 20, 2021 Oct 19, 2021
@gabbybilka
Copy link
Member Author

Hey folks, as you've seen by the title update, we've had to cancel the WinUI community call this month.

Typically, we'd address your questions asked in this issue in the live Q&A. Instead, we'll be replying directly in this thread. We appreciate your flexibility!

@saint4eva
Copy link

UWP cancelled, meeting cancelled

@lhak
Copy link

lhak commented Oct 20, 2021

  • Is multi window support still planned for 1.0 (it is on the roadmap, but disabled in the preview versions) ?
  • When will xcopy deployment be possible ?

And, finally, when will this bug #3665 be fixed? It prevents actually using win2d and has not been fixed for almost a year now.

@terrycox
Copy link

Referring to CommunityToolkit/WindowsCommunityToolkit#4171 (comment)
As I understand it, WCT was awaiting 2.7 styles in WinUI 3 in order to update to experimental (or now, I assume, preproduction preview 3.) Are the style changes there and will MVVM be available soon? I'm at CommunityToolkit.Mvvm" Version="7.0.3" with Microsoft.ProjectReunion.WinUI" Version="0.8.2".

@rick-palmsens
Copy link

So yeah, whats up with UWP support? Please a yes or no on whether it is being dropped.

@terrycox
Copy link

Can Ryan provide any further information regarding Pivot? I'm still using it and need to figure out where to take my code.

@kmgallahan
Copy link
Contributor

Hot reload for C# and XAML seems completely broken in Preview 2 with VS 2019. Is 2019 support going to be added back by Nov 8 / Preview 3 / Release?

@kmgallahan
Copy link
Contributor

Activation via toast notification results in a crash using Preview 2 w/ VS 2019, is that to be expected right now?

@kmgallahan
Copy link
Contributor

After release in November will this repo be close to silent through the rest of the year like 2020, or can we anticipate any further progress before 2022?

@kmgallahan
Copy link
Contributor

Any chance of better exception handling before 2022?

@lhak
Copy link

lhak commented Oct 20, 2021

@ryandemopoulos When rapidly changing the size of a CanvasControl (e.g. by resizing the window very quickly) I think I could manage about 1 gigabyte of video memory increase per second. In my application I do an animated size change of a CanvasControl and can completely fill up the VRAM with a single animation, leading to multiple UI freezes during the animation.

While I could certainly remove this animation for now, this behavior is still very concerning because the same code works perfectly on .net core 3.1+ xaml islands and win2d today.

@ryandemopoulos
Copy link
Member

@ryandemopoulos Sorry, have to ask it. When are we going to see 1.0 released? Why I ask? We can then plan our activities properly.

This year. We remain on track for Q4. (fun fact, we're also in Q4, so "soon"!)

@ryandemopoulos
Copy link
Member

When rapidly changing the size of a CanvasControl (e.g. by resizing the window very quickly) I think I could manage about 1 gigabyte of video memory increase per second. In my application I do an animated size change of a CanvasControl and can completely fill up the VRAM with a single animation, leading to multiple UI freezes during the animation.

While I could certainly remove this animation for now, this behavior is still very concerning because the same code works perfectly on .net core 3.1+ xaml islands and win2d today.

Yikes! OK, I took your comment and put it into the original issue so we also have that info. I'll chat with our dev team about it. Sorry I don't have an ETA beyond that.

@gabbybilka
Copy link
Member Author

@llothar Regarding InkCanvas in WinUI 3, we do not yet have a specific date for adding InkCanvas, but it is still in our roadmap for a future release.

@ghost1372 Regarding designer in WinUI 3, we don't have plans yet to add one. Have you used designer in the past for UWP/WPF? What would you need in a designer for WinUI 3? We are still investigating adding this.

@seanocali Regarding gamepad support in 1.0, unfortunately it will not be supported in WinUI 3 GA. @codendone do you have any additional info on the plans to include gamepad input in Windows App SDK for WinUI 3?

Stay tuned~ for an update to our roadmap later today for our most up to date feature timeline.

@ryandemopoulos
Copy link
Member

@ryandemopoulos when we can attach UI framework content to an AppWindow? v1.0 or...

post-1.0. In the list of "stuff we need to think about for 1.1+".

@lhak
Copy link

lhak commented Oct 20, 2021

@Scottj1s Nice to hear that xcopy deployment is targeted for 1.0. Was just asking because on the winappsdk roadmap this is shown as not supported for 1.0.

@ryandemopoulos
Copy link
Member

No matter why the meeting is cancelled, thanks for your magnificent works! I think the fluent development experience on recent-version WinAppSDK has been pleasing most of us. I want to know which step have Mica & DesktopAcrylic Controllers reached? Are them nearly completed? Concerning the coming Preview3, will it contain the mere bug fix? Or part of preliminary features will be out too?

Mica and BG Acrylic won't make 1.0 unfortunately -- I'm hopeful those will be possible in 1.1.

From a WinUI perspective, Preview 3 will be mostly bug fixes, although some noteworthy advancement on unpackaged support for apps too.

@ryandemopoulos
Copy link
Member

@Scottj1s Nice to hear that xcopy deployment is targeted for 1.0. Was just asking because on the winappsdk roadmap this is shown as not supported for 1.0.

I'm confused -- the roadmap is here and it says that we'll have unpackaged support in 1.0 for WinUI 3 apps. Isn't that what you asked about?

@lhak
Copy link

lhak commented Oct 20, 2021

@ryandemopoulos My question is specifically about self-contained unpackaged apps. This is shown as not supported for 1.0 but as far as I have understood @Scottj1s correctly, this will actually be supported.

@lhak
Copy link

lhak commented Oct 20, 2021

Will there be a new experimental release that contains all of preview 3 (especially the newer styles) and has the experimental features (like multi-window support) enabled?

@kmgallahan
Copy link
Contributor

kmgallahan commented Oct 20, 2021

@Scottj1s Regarding C# hot reload => Simply commenting out a Debug.WriteLine call results in a System.ExecutionEngineException.

Screenshot 2021-10-20 134600

Regarding XAML hot reload => changing something as simple as displayed text doesn't result in any live changes.

Both of these things were working in Preview 1.

Edit:

I just noticed from this comment that hot reload support in VS 2019 looks like it's been dropped for at least 6 months...

@michael-hawker
Copy link
Collaborator

michael-hawker commented Oct 20, 2021

Referring to CommunityToolkit/WindowsCommunityToolkit#4171 (comment) As I understand it, WCT was awaiting 2.7 styles in WinUI 3 in order to update to experimental (or now, I assume, preproduction preview 3.) Are the style changes there and will MVVM be available soon? I'm at CommunityToolkit.Mvvm" Version="7.0.3" with Microsoft.ProjectReunion.WinUI" Version="0.8.2".

Nearly all of the 2.7 controls/styles will be in WinUI 3 in the WinAppSDK 1.0 launch this year -- they'll be in the next preview we release very soon. One exception to this is Mica support -- unfortunately that is more complicated (like Background Acrylic) and likely won't be possible until next year -- I'm hoping the v1.1 release.

Unsure about the MVVM question. @michael-hawker, can you comment?

@terrycox the CommunityToolkit.Mvvm package is an artifact of our build pipeline being split for the new package names with WinUI 3. Once Preview 3 ships, we'll be shipping an update and that'll be resolved. Immediately afterwards, we'll be splitting out our .NET specific packages to their own repo and won't have this de-sync issue with our .NET based packages for future versions, everything will move to CommunityToolkit.* for .NET specific things.

@codendone
Copy link
Contributor

Hello! Unfortunately I came across on multiple limitations of WinUi 3 as GUI framework. Here is my questions (I will very appreciate if you cover these ones):

  1. What is about Vulkan support. My application heavily uses Vulkan engine to render different scenes. I want to easily migrate to WinUi (but it seems like there is no direct support). Some custom control with vulkan rendering will be enough.
  2. This one is related to the previous question (it's kind of workaround). Will WinUi support of including native controls (especially for native win32 HWND) in nearest releases? (Here is list of related issues Question: How to migrate a simple Win32 app to WinUI 3.0 #3812, Discussion: Legacy Pond (Legacy control container in XAML) for XAML Desktop #1833, #Discussion: Vulkan embedding #3291). I analyzed the WinUI 3 application. I noticed that it does not use native win32 children (it seems like that they are custom drawn, except for top level window - WinUIDesktopWin32WindowClass) This is problem because Vulkan API requires native HWND . (Just as example - WPF provides similar feature)
  3. Why does API not have effective way to override appearance of any controls. (I know that composition can be applied for custom draw controls, but it's very ineffective to render such primitives as Line, Rectangle, Path because they are derived class of Shape. It has overhead (for example due implementation, each of such instances allocated memory on heap etc). Just as example - WPF proposes direct rendering to Visual object, its content has render instructions which will be processed later on GPU - I did not find similar way in WinUI 3). It's related to How to render content of Control object? #6036
  1. There is no direct support for Vulkan. Some discussion of that and alternatives are in Question: What is a way that a custom graphic device can be put in WinUI? #5193.
  2. WinUI3 does not currently have HwndHost (like WPF) to directly support hosting child HWNDs. Depending on your needs, you could put a child HWND in the app yourself and size/position it appropriately. This isn't easy if you need that HWND to take keyboard focus have a proper Accessibility tree, but if it is only for custom rendering these complications likely won't apply.
  3. WinUI has largely focused on the user interface of an application rather than being a renderer for application content, and complex custom rendering is less common for the user interface. More capabilities have been added in recent years, but even those focus on shapes and paths. Note that there are both XAML elements for Shape and Path as well as Composition primitives via CompositionSpriteShape, which moves the shape handling/rendering down to the composition layer. If the rendering capabilities you're looking for here are shapes/paths, then perhaps Win2D is a better fit?

@marb2000
Copy link
Contributor

@kmgallahan kmgallahan

@Scottj1s Scott Jones FTE Regarding C# hot reload => Simply commenting out a Debug.WriteLine call results in a System.ExecutionEngineException.

Screenshot 2021-10-20 134600

Regarding XAML hot reload => changing something as simple as displayed text doesn't result in any live changes.

Both of these things were working in Preview 1.

Edit:

I just noticed from this comment that hot reload support in VS 2019 looks like it's been dropped for at least 6 months...

XAML Diagnostics Tools like Hot-Reload, Live Visual Tree, In-App Command Bar, etc are only supported on VS2022 Preview 5/6 and GA. They are no longer supported in VS2019.

@thatsofia
Copy link

@ryandemopoulos

Are there going to be updates to the styles of WPF so users don't have to rely on external dependencies?

And perhaps open-sourcing UXTheme?

Regarding WPF and UxTheme, both are good ideas, but neither are planned at this time. We're focusing our resources on bringing new value primarily to WinUI, as we have a lengthy ToDo list in terms of features to add and bugs to fix.

That's sad for numerous reasons and is really hypocritical of MS. I need not say more but our end users are the ones that hurt (and of course us 😢)

And a more user-facing question I have is whether click and drag support for menus is coming. I'm not sure if there's an issue in this repo already but people (in my circles at least) including myself have noticed this. And hey... isn't Paint using XAML islands now?

Could you help me understand what "click and drag support for menus" means? Is this re-ordering within a menu or something like that?

Turns out that there is an issue: #815. It's strange that no one on the WinUI team has ever used this behaviour in their own day-to-day lives. I didn't even need to get that feedback from UX in my case as I already saw it myself.

@stmoy

It looks like the Xbox app for Windows uses an old version of RNW (and hence WinUI). It also doesn't use MSIX? What's up with that?

Thanks for reaching out! We work closely with Facebook to ensure that React Native for Windows stays aligned with the RN Core versions - in fact, we just released v0.66 of RNW to coincide with the release of v0.66 for RN core. Even so, it takes teams a while to update to the latest version (including folks that we work closely with like the Xbox team).

Thanks for the reply! Just four big customers is uh... not what I was expecting at this stage.

@MEK3DK
Copy link

MEK3DK commented Oct 22, 2021

Will Width and Height properties for a Window be supported in 1.0? It seems funny to release a UI framework for Windows where you cannot set Width and Height.

(I know there is a bug for it: #2731)

@ryandemopoulos Thanks for all your answers, but I think you missed this one.

@riverar
Copy link
Contributor

riverar commented Oct 26, 2021

Becoming open source has been much, much more difficult for us than we anticipated. I personally vastly underestimated the amount of effort it has required. It's more than just "release the code" -- it required us to decouple from the OS and private API calls (which took months of work but is mostly completed), but also still requires us to change our build systems so that we can accept PRs, comb thru millions of lines of code for other needed changes, updating our testing infrastructure, and change our internal planning processes too.

Please consider publishing the source without CI and without consideration of PR acceptance -- that's not required. Some of us would just like a code dump so can better understand the framework, build better apps/tooling, and/or use it as a quick reference. Or consider minimally sharing with Microsoft Code Center Premium partners so they can help others from a troubleshooting perspective. Thanks!

@marb2000
Copy link
Contributor

Will Width and Height properties for a Window be supported in 1.0? It seems funny to release a UI framework for Windows where you cannot set Width and Height.
(I know there is a bug for it: #2731)

@ryandemopoulos Ryan Demopoulos FTE Thanks for all your answers, but I think you missed this one.

No. There won't be Width and Height properties for MUX.Window objects in v1.0. You can always use some helpers like this one: https://github.com/marb2000/DesktopWindow

@alejo4000 alejo4000 unpinned this issue Oct 27, 2021
@robloo
Copy link
Contributor

robloo commented Nov 4, 2021

Please confirm status of releasing WebView2. This is still marked as preview and cannot be used with Store apps. I'm strongly hoping this will be done for 2.8. Even if there are issues, leave it up to app developers to decide with their own testing if it is acceptable to release. (My use case is so simple it works perfectly already).

#6224

-original-
#5610
#5708

@apierini
Copy link

Hello, is there an ETA for xaml islands in WinUI 3? I've seen on the roadmap that they are "Planned for a future update", but a more detailed schedule would be very appreciated.

We have a big win32 desktop app that we would like to modernize and we need to choose bewteen waiting for Win UI 3 xaml islands, using Win UI 2 xaml islands or using some alternative approach (ie WPF hosted inside HWND).

Any suggestions are welcome.

Andrea

@llothar
Copy link

llothar commented Nov 12, 2021

Any suggestions are welcome.

Just wait. Like me and others learned to wait for 14 years since the last exciting Win32 improvement in 2008.

Calling the current state of Windows App SDK Version as 1.0 is this typical agile development result of a failed (underestimated) project. XAML Island for Win 1.0 was the BIG unique sales point for Project Reunion. I doubt anyone can answer you as they will need a postmortem to know what they have to plan for the next roadmap.

My christmas wish is that nobody in the high level management withdraws resources from "Windows App SDK Version 2.0" so i have something to look for in Q4 2022.

@gabbybilka
Copy link
Member Author

Closing this issue, please feel free to open up a new issue with questions, bug reports, or discussion topics.

@pubtom
Copy link

pubtom commented Nov 29, 2021

If you need .NET>5 in UWP please give a vote on this: https://developercommunity.visualstudio.com/t/Add-NET-678-support-to-UWP/1596483

@ghost ghost added the needs-triage Issue needs to be triaged by the area owners label Nov 29, 2021
@StephenLPeters StephenLPeters removed the needs-triage Issue needs to be triaged by the area owners label Feb 16, 2022
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