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

👩‍💻☎ WinUI Community Call - March 17, 2021 #4493

Closed
anawishnoff opened this issue Mar 11, 2021 · 30 comments
Closed

👩‍💻☎ WinUI Community Call - March 17, 2021 #4493

anawishnoff opened this issue Mar 11, 2021 · 30 comments
Labels

Comments

@anawishnoff
Copy link
Contributor

anawishnoff commented Mar 11, 2021

This call has now ended, you can find recordings of parts 1 and 2 of the call at the links below:

Part 1: https://youtu.be/gnPJ0t7rFnA
Part 2: https://www.youtube.com/watch?v=At9QjATI1eA&t=12s

Thanks for watching!


Details

Date: Wednesday March 17, 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 talking about our new shipping process with Project Reunion, and welcoming Uno Platform as a guest.

Agenda (Tentative)

  • Intro
  • Announcing WinUI 3 - Project Reunion 0.5 Preview - @anawishnoff
  • Shipping WinUI 3 with Project Reunion - Andrew Clinick, lead on the Project Reunion team
  • Ecosystem Spotlight: Bringing your WinUI apps cross-platform with Uno Platform
  • Q&A with the team and spotlight guests
    • 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.
@anawishnoff anawishnoff added the discussion General discussion label Mar 11, 2021
@ghost ghost added the needs-triage Issue needs to be triaged by the area owners label Mar 11, 2021
@anawishnoff anawishnoff pinned this issue Mar 11, 2021
@AathifMahir
Copy link

Is there any Improvements made to UWP in the form of Project Reunion and WinUI 3?

@StephenLPeters StephenLPeters added hot and removed needs-triage Issue needs to be triaged by the area owners labels Mar 12, 2021
@mdtauk
Copy link
Contributor

mdtauk commented Mar 12, 2021

Does WinUI 3 use DWriteCore for it's text rendering by default, or is it something you opt into with Project Reunion?

@omikhailov
Copy link

omikhailov commented Mar 12, 2021

Could you please tell when developers can start using WinUI 3 for production?

  • In case of old UWP apps with WinUI 2, when it will be safe to upgrade Nuget packages to WinUI 3? Will it be possible at all?
  • For new UWP apps, when it will be safe to start with new project template? Will it be possible to use existing 3rd party controls in such projects?
  • When Microsoft Store and Business Store will start accepting WinUI 3 UWP apps?
  • What is migration path for WPF developers?

@Noemata
Copy link

Noemata commented Mar 13, 2021

Bring back the Pivot control and use GitHub derived usage heuristics when deciding to drop functionality from WinUI if it is something that can just as easily be incorporated.

@marcelwgn
Copy link
Contributor

As a side note, I would not use GitHub as a usage heuristic, it is heavily polluted by test projects and projects that are no longer maintained. Such decisions also need to take into account LOB apps and commercial apps (which are quite unlikely to be open sourced since it would make selling them a lot harder) and those won't be included in GitHub based heuristics.

@Noemata
Copy link

Noemata commented Mar 14, 2021

@chingucoding , test projects are easy to disambiguate with even a tiny level of AI. As for LOB UWP apps, that never materialized beyond what is represented on GitHub. So yes, GitHub is a very good benchmark for what to include and exclude. Lots of formerly commercial UWP store apps, now abandoned are present on GitHub, and the better ones are congruent with the state of C# commercial apps in the the store. C++ UWP apps are something else altogether.

And if any of that is too much trouble, then use Microsoft's own larger UWP app samples. All of them. You'll get the answers you need from those!

@marcelwgn
Copy link
Contributor

@chingucoding , test projects are easy to disambiguate with even a tiny level of AI. As for LOB UWP apps, that never materialized beyond what is represented on GitHub. So yes, GitHub is a very good benchmark for what to include and exclude. Lots of formerly commercial UWP store apps, now abandoned are present on GitHub, and the better ones are congruent with the state of C# commercial apps in the the store. C++ UWP apps are something else altogether.

If you say so, I guess that's your opinion. I don't think that GitHub is good benchmark, and just saying "Yes GitHub is a good benchmark" doesn't convince me. You can't look in every company and say that all (or most) UWP apps are on GitHub and I certainly know apps that are definitely not that you won't catch with your "AI GitHub filtering".

And if any of that is too much trouble, then use Microsoft's own larger UWP app samples. All of them. You'll get the answers you need from those!

Using samples that haven't been updated in years is not the best way to determine the future of a platform. Those are often not up to date on guidelines and new common ways to develop apps. But that's just my opinion, just like yours is your opinion (and not the absolute truth).

@Noemata
Copy link

Noemata commented Mar 14, 2021

Not opinion, but some facts ...

##Getting these vendors controls and code samples working in WinUI is critical (in order of priority)

https://github.com/telerik/UI-For-UWP (A must have since this lib is used in many UWP LOB apps)
https://github.com/syncfusion/uwp-demos
(ActiPro, not represented on GitHub)
https://github.com/DevExpress/winui-uwp-demos
https://github.com/GrapeCity/ComponentOne-UWP-Samples

##Note: Microsoft could choose to ignore the controls part, but should support everything represented in their code samples.

##A small sampling of a 10 minute search for commercial or quality UWP apps on GitHub
##Listing stops at the letter "D" since I hopped into each repo to qualify it, my AI is even simpler than Microsofts

https://github.com/japf/2day
https://github.com/2fast-team/2fast/tree/master
https://github.com/KillerrinStudios/AdvancedWallpaperManager
https://github.com/jenius-apps/ambie
https://github.com/AnkiUniversal/Anki-Universal
https://github.com/hippieZhou/Attention.UWP
https://github.com/LokiMidgard/Bes-Music
https://github.com/Richasy/BiliBili-UWP
https://github.com/Sergio0694/Brainf_ckSharp
https://github.com/COM8/TUM_Campus_App_UWP
https://github.com/yookjy/CCPlayer
https://github.com/character-map-uwp/Character-Map-UWP
https://github.com/aalok05/CodeHub
https://github.com/DinoChan/Colorful-Box
https://github.com/ysdy44/Color-Scheme-UWP
https://github.com/mingfuyan/Coolapk-UWP
https://github.com/yoshiask/CopticChanter
https://github.com/lhdboy/Toosame.Copybook
https://github.com/ismaelestalayo/CryptoTracker
https://github.com/haefele/CTime2

##Handful of Microsoft's Own Repos, there are many more

https://github.com/microsoft/InventorySample
https://github.com/clarkezone/BuildCast
https://github.com/microsoft/Windows-appsample-annotated-audio
https://github.com/Alvaromah/eShopOnUWP

@Noemata
Copy link

Noemata commented Mar 14, 2021

Normally I wouldn't publish something this rough. Since there doesn't appear to be anything similar on GitHub that's public, here it is, part of eShopOnUWP ported to WinUI 0.5. An Ok example of what's presently possible with WinUI.

https://github.com/Noemata/FakePOS

@marcelwgn
Copy link
Contributor

The only thing you have shown is that there are open source UWP apps. However, a couple of those you linked haven't been updated in years, is this something you want to determine the direction of a UI framework?

Regarding the control libraries, I think the WinUI team is actively working together with control libraries to ensure that they are available on WinUI 3 (e.g. WCT, Uno Platform, Telerik, Syncusion, Infragistics, etc). However that is also something that they talked about (#4156).

Also, my point was never that there aren't open source apps on GitHub, my issue with the GitHub approach is that it is a minority of apps being developed and quite likely not a reflective minority at that. Also, almost none of the apps you listed are integral to the a business, a lot of them are side projects of developers and not something developed by a company. A good example of how this might not be representative is the list of apps on the UWP Community website: https://uwpcommunity.com/projects
A majority of those apps are not open source, so wouldn't be reflected in your GitHub search.

Regarding the Microsoft samples, you confirmed what I mentioned: those samples are often old and not being updated (one of the repository had it's last commit in 2017).

@Noemata
Copy link

Noemata commented Mar 14, 2021

@chingucoding , let's agree to disagree. The importance of legacy spans decades, however inconvenient that might be for new tech initiatives. Anything that is UWP derived is still the present. 5 years is only a long time for hamsters, in dog years it's mid life! In other words, 2017 is still yesterday.

@marcelwgn
Copy link
Contributor

In dog years yes, it's yesterday, in the tech industry it's ages ago (for a lot of tech stacks at least including this one).

@Noemata
Copy link

Noemata commented Mar 14, 2021

You must be a young soul @chingucoding. In dog years 5 is our 50. As for tech years, we're now well into the thousands. Wish I had your youthful perspective @chingucoding. Getting old is a drag.

@marcelwgn
Copy link
Contributor

marcelwgn commented Mar 14, 2021

I've seen large projects come and die in less than 4 years, so I won't say it's a short time. I don't think that his has something to do with my age.

@AndrewKeepCoding
Copy link
Contributor

I'd like to know if you have any scheduled date when we'll be able to try WinUI 3 without VS2019Preview.

@kalin-todorov
Copy link

kalin-todorov commented Mar 15, 2021

@anawishnoff looks like the latest preview is less stable than the previous one, noticed few controls crash (in WinUI UWP app). Are you guys going to release another preview soon? Also did you remove the UWP version of the XamlControlsGallery from the repo - I saw only the Win32 project in the latest preview branch?

@Noemata
Copy link

Noemata commented Mar 16, 2021

@AndrewFromJapan , using VS 16.9.1 with WinUI, so it's doable now. You lose the designer, working in Preview I think?

@AndrewKeepCoding
Copy link
Contributor

@Noemata I couldn't wait and installed VS2019Preview a few hours ago... but thanks anyway.

@wbokkers
Copy link

According to the roadmap, Reunion 0.5 supports Drag and Drop. Unfortunately, in the prerelease this is not working properly in my app due to these issues:

And WebAuthenticationBroker is still not usable:

Will these issues be solved in Reunion 0.5?

@pjmlp
Copy link

pjmlp commented Mar 17, 2021

I have decided to just keep writing WPF applications, and focus on whatever comes next with focus on .NET eco-system.

Since you asked for positive feedback:

  • While you have made lots of progress, there are still plenty of missing features versus what WPF and Forms offer us today, in tooling, components eco-system and even controls provided as part of the framework;

  • Win2D appears to be dead, radio silence on its future, so System.Drawing is the only path with a future we can rely on

  • For the APIs where we were forced to write C++, because the Windows team did not care to provide .NET bindings, C++/CX was quite good developer experience. Nowadays, if I have to write GUIs in C++, C++ Builder or Qt with QtCreator are now our options, given the way the team has decided the bare bones C++/WinRT developer experience is (back to VC++ 6.0 with ATL 3.0). Not only do C++ Builder and QtCreator provide a .NET like developer experience for C++ developers, their frameworks are cross-platform.

  • Uncertain future when and if .NET Native will be brought to modern .NET days, so jungling .NET and UWP deployment options is a road full of compromises withouth a clear outcome.

Also stop asking us to keep rewriting stuff, the amount of times we have been through this since Windows 8 has been introduced has made many customers quite skeptical of anything that is related to WinRT.

@Arlodotexe
Copy link

Arlodotexe commented Mar 17, 2021

Also stop asking us to keep rewriting stuff, the amount of times we have been through this since Windows 8 has been introduced has made many customers quite skeptical of anything that is related to WinRT.

This right here. WinUI 3 is an evolution of UWP XAML, but to get Reunion support, we're being asked to port or rewrite our entire apps in WinUI Desktop. ( ͡° ʖ̯ ͡°)

This is one big reason why Windows devs stick with older frameworks like WPF. Microsoft releases a platform -> It's immature, has low adoption from devs -> MS sees low numbers, so they take the good bits and scrap the rest, and try again, leaving people behind. It's not popular enough, it gets the boot.

I keep seeing UWP get mentioned, which is at least a glimmer of hope, but I also see it keep getting pushed back in the timeline, people say it may not make .NET 6 LTS support, and nobody has an official answer on what our migration path.

Reunion has UWP's core principles in it's DNA, and we'd be happy to adopt it, but UWP apps need a proper migration path.

@ghost
Copy link

ghost commented Mar 17, 2021

Is it ok to try out WinUI 3 - Project Reunion 0.5 Preview on a production machine? I don't mean with a production app, just is it OK to run alongside WinUI 2 or would it be better to create a VM and isolate the two?

@ryandemopoulos
Copy link
Member

New stream link for anyone following along here: https://www.youtube.com/watch?v=TQpRwrrPF4U

@ThisWillDoIt
Copy link

Official stream dropped after 28 minutes and the 'new stream' link as stated above was removed.
Is there any way to watch the second halve of the show?

@anawishnoff
Copy link
Contributor Author

anawishnoff commented Mar 17, 2021

@ThisWillDoIt Unfortunately the stream was too laggy and buggy, we decided to cut it short. We're going to reschedule for a time next week so everyone can see the second half of the show and people can get there questions in. I'll keep everyone updated - thanks for your patience and sorry for the inconvenience!

@llothar
Copy link

llothar commented Mar 17, 2021

This is one big reason why Windows devs stick with older frameworks like WPF. Microsoft releases a platform -> It's immature, has low adoption from devs -> MS sees low numbers, so they take the good bits and scrap the rest, and try again, leaving people behind. It's not popular enough, it gets the boot.

Well for some technologies like Silverlight it might have been the case that the low numbers were the problem.
But for UWP it was surely the general fundamental issues that could never get fixed with just going on.
In fact i would prefer they cut all UWP compatibility and start new with the experience they learned. Dont extend the mistake that UWP was. The sign that they dropped the pivot control shows me they are willing it and it's the right step forward.
UWP developers are the minority in the dev world anyway with in general very small applications compared to LOB apps. Having no soft migration path for them is an acceptable sacrifice.

While i don't like a few things, i see MS going in the right direction and like the work. It's just sad to see that Project Reunion is understuffed with developers and therefore slow on progress. That my only worry. As for dropping it, i have to say, that there is no way back. If they fail the microsoft desktop is history and we can all switch to use chromebooks.

@shaheedmalik
Copy link

That Pivot answer is horrible. In Microsoft standard process, we are going start over instead of fixing what we have already.

@pjmlp
Copy link

pjmlp commented Mar 18, 2021

Pivot was the clear example of my feedback about not asking us for rewrites.

Again, this is not the way to keep those of us wasted by Windows 8 => 8.1 (UAP) => 10 UWP => Win 3.0 => Reunion rewrites to still think about spending one second, instead of classical Win32 and .NET development.

Specially since Electron (VSCode, Visual Studio Installer, Skype, Teams), Blazor Desktop and MAUI are also looking for developers to adopt them.

@huoyaoyuan
Copy link

Spent time investigating how we should invest in the navigation space. The team invested new, feature-rich controls instead of fundamental re-architecting of Pivot.

The visuals of NavigationView and TabView are decent, but their APIs are terrible, especially when using with data binding. Their APIs provide no relationship between the navigation items and the content. We'll have to add more code to show the selected content. With Pivot and WPF TabView, such association can be easily achieved by 0 code-behind.

Pivot was optimized for small screens - was never re-designed or re-worked for larger screens.

Quite shocked about that. I'm always thinking Pivot is designed for large screen and Frame is designed for small screens.
To talk further, I'm even blaming the concept navigation. For applications in large screen, we seldom navigate the whole application content. The more common scenario is to switch the content displayed within a sub-area, for which I always use Pivot.

@shaheedmalik
Copy link

shaheedmalik commented Mar 18, 2021

Quite shocked about that. I'm always thinking Pivot is designed for large screen and Frame is designed for small screens.

image

They act if this isn't a use case.

Also, I wouldn't want to be trying to hit a menu on a 30" Tabletop tablet vs just swiping. It's if nobody who uses tablets or touch are on these teams. I don't understand it. Things are going backwards.

@anawishnoff anawishnoff unpinned this issue Mar 19, 2021
@krschau krschau removed the hot label Jul 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests