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

What's next for the replacement of UWP that runs on all windows based platforms? #215

Closed
77376 opened this issue Sep 26, 2020 · 15 comments
Closed
Assignees

Comments

@77376
Copy link

77376 commented Sep 26, 2020

First, Where are the MS efforts/big MS apps? VS Code, Teams, MS-Edge(Chromium), Full-Featured Office Suite in UWP? can understand of Visual Studio being not available in UWP but what about those others?

Second, Why Developers have not picked up UWP ?

Ans: the restriction for "privacy" are moving/have moved away devs from uwp. If MS doesn't at least try to make the platform closer to Win32, the situation isn't going to change any time soon. and it hasn't yet.

what Project Reunion seems to be basically the next steps of XAML Islands, It Is like one way letting winForm, WPF, MFC, win32 apps just access the winRT components.
What's the point of developing UWP apps if it doesn't run on all platforms with win32 feature parity or at least have user-approved win32 feature parity ?
Developers are simply not gonna invest their time and effort developing simple/extremely basic toy apps. developers are not guinea pig. and I'm afraid that according to MS history, instead of maturing winRT API surface ,UWP app devs will simply be thrown out to towel sooner or later.

Why we have to ask for basic win32 functionalities/APIs proposals for winRT in 2020, after uwp has been in scene for 8 years since 2012?
We have been asking for simple features for the last 5 years and how many of them have been implemented till date? Why the awkward situation is still the same for UWP apps as were in 2015?

What about .NET5 support for UWP ? no nothing.
What I'm trying to say is in brief of issue no. #105 comments,

So, As of 2020, UWP is pretty much dead/maintenance mode.
What's next for UWP replacement that will run on all windows based platforms (because no one gonna write UWP apps with all these annoying restrictions)?

@77376 77376 added the question label Sep 26, 2020
@ghost ghost added the needs-triage label Sep 26, 2020
@77376
Copy link
Author

77376 commented Sep 26, 2020

The comments of this twitter poll strongly reaffirms this sole annoying restrictions reason.

@stevewri stevewri self-assigned this Sep 28, 2020
@Poopooracoocoo
Copy link

Poopooracoocoo commented Sep 29, 2020

I wonder what Microsoft will say. They've been switching from UWP -> RN -> Electron and they basically aren't developing native apps anymore :( it's disappointing considering that MS Office isn't web based. Everyone here has realised that UWP is dead.

@77376
Copy link
Author

77376 commented Sep 29, 2020

@Poopooracoocoo as usual MS shoots itself in the foot with it's half-backed effort. UWP was so shiny and all but ruined by MS itself.

some newer teams at microsoft explicitly said on twitter that they wanted to adopt the UWP app model but they can't because of UWP app model's way too much restrictions. Can't MS restrict those functionalities that try to directly modify the system (for preventing malwares) and open up every other win32 functionalities for UWP apps without using runFullTrust that will run on all platforms ? Is it asking too much ?

@77376
Copy link
Author

77376 commented Sep 30, 2020

It all started the day when microsoft's Kevin Gello announced XAML Islands in 2017 and after 3 years we all know what it has become ~ the ProjectReunion....

in App Development Community Standup: Project Reunion Update held in july in youtube , Kevin Gallo mentions they're working on method of reusing AppModel sandboxing mechanism to also sandbox unmodeled win32 apps @31:57

so, do you think UWP will have any single worth when unmodeled win32 apps could be fit in the sandbox within it's superior functionalities set compared to toyish UWP ?
Smell something?

according to MS's own current actions,
apparently the future becomes win32+.NET "X"+winUI wrapped in the sandbox mechanism Kevin Gallo was referring there. and this win32 sandboxed apps maybe(/should) able to run on all windows based platforms once it's done.

now every action of MS regarding UWP makes sense, now I can see why MS never went all in UWP. If wrong, I would like to get it corrected someday.🙂

@ptorr-msft
Copy link
Contributor

I'll answer the question in the title of this issue. The short answer is that the 'U' in "UWP" stands for "Universal" -- UWP is the thing that runs on all Windows-based platforms.

There is a renewed focus on Desktop apps, and Project Reunion is partly about bringing "UWP features" to Win32 apps, but it's also about bringing "Win32 features" to UWP apps.

do you think UWP will have any single worth when unmodeled win32 apps could be fit in the sandbox within it's superior functionalities set compared to toyish UWP ?

This is a great way to illustrate one of the primary goals of Project Reunion (although this one is a longer journey than say WinUI 3): What's the difference between a "Win32 app running in the sandbox" and a "UWP"?

Insert JPG of Neo "there is no spoon."

"UWP" is many things, but one of its core technologies is the AppContainer sandbox. So if you have a "Win32 app" and run it in an AppContainer, you've essentially got yourself a "UWP." Confusing? Yes, naming things is hard :(.

Depending on the features that the app uses, it might not work on non-Desktop devices (HoloLens doesn't have all the features that Desktop has, for example) but the developer should have the choice to limit their API usage to whatever subset works on the device(s) they intend to target. Want to run on Desktop and HoloLens? Avoid <set of APIs not supported on HoloLens>. Only care about Desktop? Use whatever you want.

When Windows 10 was first introduced, the focus of "Universal" was more about "you app should run on all devices" (e.g. limited set of APIs available) and now it's more about "your app can run on all devices, but doesn't have to."

Again, this is not something that will happen overnight, and things like the 80/20 rule and the law of diminishing returns will dictate which specific features come to "UWP" and which specific features come to "Win32", but it is the direction we're going in. And we need your constructive feedback :).

@77376
Copy link
Author

77376 commented Oct 1, 2020

What's the difference between a "Win32 app running in the sandbox" and a "UWP"?
"UWP" is many things, but one of its core technologies is the AppContainer sandbox. So if you have a "Win32 app" and run it in an AppContainer, you've essentially got yourself a "UWP." Confusing? Yes, naming things is hard :(.

Thanks for your reply. and also thanks for clearing the long-misunderstood by many journalists/peoples the "UWP" spec/concept . so essentially , anyapp that uses any UWP core technology(CoreWindow, AppContainer) is what we know a "UWP" app.

Again, this is not something that will happen overnight, and things like the 80/20 rule and the law of diminishing returns will dictate which specific features come to "UWP" and which specific features come to "Win32"

That's been as I said a looooong wait.. I hope law of diminishing returns this time favours
"win32 apps running in UWP's AppContainer " .

@Poopooracoocoo
Copy link

the problem with microsoft's new approach is that it's leaving xbox behind and even their new windows 10x. i wonder how many devs would've gone with uwp if microsoft had decent uwp apps. onenote took a long time to get to where it is now, for example.

@77376
Copy link
Author

77376 commented Oct 1, 2020

@ptorr-msft

back to the main question,
details in issue no. #219 (if things like win32 apps in appContainer➡per app permission system gets implemented) + it's not always sustainable to rewrite every apps from scratch ,
+also given the current investments and efforts going in modernizing win32 apps,

~will MS allow win32 wth winUI apps running in AppContainer in Low-IL mode to also run on hololens,xbox,10x,hub in the future ?
I will close this issue once an explicit answer is given.

@mdtauk
Copy link

mdtauk commented Oct 1, 2020

the problem with microsoft's new approach is that it's leaving xbox behind and even their new windows 10x. i wonder how many devs would've gone with uwp if microsoft had decent uwp apps. onenote took a long time to get to where it is now, for example.

I believe once WinUI 3 comes out, they plan to make a release for Xbox, but WinUI 2 should work with Xbox apps*

*I think anyway

I know I intend to push for including Xbox control templates in WinUI so things like overscan, focus reveal, and the Barnschrift fonts are all in place microsoft/microsoft-ui-xaml#698

@Poopooracoocoo
Copy link

I meant Microsoft's approach of WinUI in win32 apps

@ptorr-msft
Copy link
Contributor

@m98770

~will MS allow win32 wth winUI apps running in AppContainer in Low-IL mode to also run on hololens,xbox,10x,hub in the future? I will close this issue once an explicit answer is given.

We can't give any guarantees like that, especially for any arbitrary Win32 app. Is it in the spirit of Project Reunion? Yes. Can we confirm it will happen (or in what particular time-frame)? No, sorry.

@77376
Copy link
Author

77376 commented Oct 1, 2020

@ptorr-msft

We can't give any guarantees like that, especially for any arbitrary Win32 app. Is it in the spirit of Project Reunion? Yes. Can we confirm it will happen (or in what particular time-frame)? No, sorry.

got my answer . Thanks 🙂. closing

@Gavin-Williams
Copy link

Gavin-Williams commented Aug 4, 2021

"the restriction for "privacy" are moving/have moved away devs from uwp. I don't understand this concern, and I'm not sure it's widely held anway. The twitter poll that was referred to shows that nearly as many dev's use UWP as WPF anyway. And frankly, I see more people working with UWP than WPF these days.

Not saying UWP doesn't have issues, but I'm not sure this concern for 'privacy' is an issue.

And I am so sick of hearing this garbage ...

Developers are simply not gonna invest their time and effort developing simple/extremely basic toy apps

If developers are making simple toy apps, that's up to them, it has absolutely nothing to do with UWP. You can just as easily make simple/extremely basic toy apps for WinForms, WPF, Desktop, Android etc. Developers are only limited by their abilities.

Show me a simple toylike UWP app, and I will show you an app that 100% reflects the effort the developer put in. You get out what you put in.

basic win32 functionalities/APIs proposals for winRT

What functionality and API's are you thinking of. I think it's important to specify exactly what you want.

@DmitryBorodiy
Copy link

First, Where are the MS efforts/big MS apps? VS Code, Teams, MS-Edge(Chromium), Full-Featured Office Suite in UWP? can understand of Visual Studio being not available in UWP but what about those others?

Second, Why Developers have not picked up UWP ?

Ans: the restriction for "privacy" are moving/have moved away devs from uwp. If MS doesn't at least try to make the platform closer to Win32, the situation isn't going to change any time soon. and it hasn't yet.

what Project Reunion seems to be basically the next steps of XAML Islands, It Is like one way letting winForm, WPF, MFC, win32 apps just access the winRT components. What's the point of developing UWP apps if it doesn't run on all platforms with win32 feature parity or at least have user-approved win32 feature parity ? Developers are simply not gonna invest their time and effort developing simple/extremely basic toy apps. developers are not guinea pig. and I'm afraid that according to MS history, instead of maturing winRT API surface ,UWP app devs will simply be thrown out to towel sooner or later.

Why we have to ask for basic win32 functionalities/APIs proposals for winRT in 2020, after uwp has been in scene for 8 years since 2012? We have been asking for simple features for the last 5 years and how many of them have been implemented till date? Why the awkward situation is still the same for UWP apps as were in 2015?

What about .NET5 support for UWP ? no nothing. What I'm trying to say is in brief of issue no. #105 comments,

So, As of 2020, UWP is pretty much dead/maintenance mode. What's next for UWP replacement that will run on all windows based platforms (because no one gonna write UWP apps with all these annoying restrictions)?

UWP and WinUI is a future of Windows. Win32 apps are deprecated and needs to be migrated to UWP.
What is Win32 apps?
Win32 is a classic desktop app AND ONLY DESKTOP.
Win32 is good option for professional apps, which are designed for professional use. But these apps are not optimized for consumers using a Windows device for consumer purposes. Win32 applications are not optimized for simple use and are not suitable for consumer use. So, Win32 is a deprecated platform without all Windows ecosystem support and can't run natively on Windows for ARM, Xbox, HoloLens, Surface Hub 2 or 2S. But Win32 is still the recommended platform for classic developers.

What is UWP and WinUI?
UWP is the future of Windows development, a new platform for building modern applications using all modern APIs that runs on all Windows devices, including Xbox, Windows on ARM, Windows for Team and HoloLens, as well as Windows IoT. Well, if you're developing a Windows client app, UWP is your best choice. Not to be confused with WinRT and UWP, UWP uses the WinRT API but is not. The UWP is a new branch of the evolution of Windows applications created to develop applications for the ecosystem of Windows devices. WinRT is a set of APIs for the Windows Runtime, but WinRT is an application for Windows 8 / 8.1. WinRT APIs are still used in UWP, but not fully, as UWP is compiled via .NET Native and runs natively on Windows 10. Microsoft originally referred to the new APIs as UWP APIs. So finally UWP is not UI framework, UWP is API. So, what is WinUI? WinUI is a UI library for apps, which provides a set of graphical controls for Windows applications. Well WinUI is not an API but just a graphical framework for your application.

What if you have a consumer-oriented client application or education app? (Not enterprise)
The best solution would be to migrate your app to the UWP/WinUI. UWP apps using WinUI will work great on all Windows devices and support any input method. And also work across the entire Windows ecosystem, giving your customers a consistent experience across Windows devices.
I recommend that you read the documentation for migrating your app to UWP.
https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-migrate

What if your project or solution is targeted for corporate use?
If you already have a Win32 application targeted for corporate or commercial use, you can access the modern UWP API by migrating to WinUI 3.
Read this docs:
https://docs.microsoft.com/en-us/windows/apps/winui/winui3/

Thank you!
Merry Christmas and Happy New Year! 🎄🎄🎄
Best wishes for Windows devs!

@DarkSystemCD
Copy link

Win32 is a social method of internet connectivity, where scrooling spam posts are not consumed on a offline environment of software development;

this advertsement was placed in discovery of these terminologies to support the private enterprise variable, the uwp going for maui;

the database generated from the internet, cast in spell of project reunion for the privacy concern of manipulation;

a greater fame of mobile apps, and blog postings showcasing softwares raised the store; the development that now a.i. and networks from the personal computer;

lefting the discovery of the humanities advancing the perception of jow to conquer the stteeets from this virtual reality;

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

No branches or pull requests

8 participants