Skip to content

☂ Add support for UWP #14967

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

Closed
steskalja opened this issue Feb 28, 2018 · 128 comments
Closed

☂ Add support for UWP #14967

steskalja opened this issue Feb 28, 2018 · 128 comments
Labels
a: desktop Running on desktop c: new feature Nothing broken; request for a new capability customer: crowd Affects or could affect many people, though not necessarily a specific customer. engine flutter/engine repository. See also e: labels. P3 Issues that are less important to the Flutter project platform-windows Building on or for Windows specifically

Comments

@steskalja
Copy link

steskalja commented Feb 28, 2018

Latest status: We have decided to not support UWP, as discussed in #14967 (comment).


Is there any plan to add support for Windows 10/UWP? The reason I ask this is because there are almost 1billion windows 10 devices on the internet now and more that are not even on the internet.

@psled
Copy link

psled commented Feb 28, 2018

Probably not for now, see #10881.

@ivanmestre
Copy link

I would like to include myself to this feature request, it would be awesome that Flutter supported Windows 10 UWP.

@webprofusion-chrisc
Copy link

This should cover Xbox One as well, which you can target in Xamarin/UWP

@cbracken cbracken added platform-windows Building on or for Windows specifically c: new feature Nothing broken; request for a new capability labels Mar 1, 2018
@emsaints
Copy link

Yes please. Windows support would definitely be a game-changer.

@charafau
Copy link
Contributor

this is not official, but you can check this project. https://github.com/google/flutter-desktop-embedding I think glfw is also available on windows so you can try 😉

@amartens181
Copy link

Man... I want real xplat :)

@Hixie Hixie added this to the Future milestone Jun 19, 2018
@zoechi zoechi added the will need additional triage This issue or PR needs attention before being routed to secondary triage label Dec 4, 2018
@zoechi zoechi added tool Affects the "flutter" command-line tool. See also t: labels. engine flutter/engine repository. See also e: labels. and removed will need additional triage This issue or PR needs attention before being routed to secondary triage labels Dec 18, 2018
@avorib
Copy link

avorib commented Jan 3, 2019

I was just typing up the same feature request 😉... I hope this gets some traction!

As a user with several Windows, MacOS, and Chrome OS devices in my home... the latest model Surface Pro consistently ends up being my daily driver each year; ever since the release of the SP4. Seems to be extremely popular on campus and at work now as well. However, the scant selection of high-quality UWP apps continues to be the largest sore spot for me.

I believe the elegance & ease of Flutter could potentially provide the incentive devs/corps need, to include Win10 in their multi-platform strategy... and in the process, hopefully promote Flutter to as similar a status/popularity as Java; for IT exec consideration, when selecting tools & platforms for product development.

@ghost
Copy link

ghost commented Feb 5, 2019

Xamarin, Ionic etc. include UWP, so why Flutter?

@stuartmorgan-g
Copy link
Contributor

Removing assignment, since this is a very broad umbrella bug. Specific subtasks are tracked in individual bugs, which will get specific assignees and milestones as usual.

@stuartmorgan-g stuartmorgan-g added a: desktop Running on desktop and removed e: desktop labels Jul 26, 2019
@stuartmorgan-g
Copy link
Contributor

Removing from the Window MVP project. We're still evaluating UWP as a target, and will likely support it eventually, but the initial focus is on enabling Win32 to limit the scope.

@JohnGalt1717

This comment was marked as abuse.

@stuartmorgan-g
Copy link
Contributor

All platofrms that don't support uwp are unsupported as of January 20th 2020

The decision to focus on Win32 APIs first are technical, not based on target platforms.

wpf should be ignored

There are currently no plans to use WPF.

@clarkezone
Copy link

I thought it would be worth sharing a September 2020 update on the state of the Flutter UWP experiment I've been working on. Progress has been slower than I’d like as this is a spare time / best effort project that I've been working on only during evenings and at weekends. However, I have been able to make a decent amount of progress over the last six months or so and get some scenarios working namely:

  • a proof-of-concept WinRT Flutter embedder using CoreWindow in conjunction with WinRT input APIs running in the AppContainer sandbox: https://github.com/clarkezone/engine
  • a corresponding test Flutter UWP runner (only 115 lines of c++!) with a demo Flutter experience using Flutter Gallery: https://github.com/clarkezone/fluttergalleryuwp
  • using these I was able to publish a MSIX packaged version of Flutter Gallery successfully to the Microsoft Store, passing the WAC API checks for store certification (finally :-))

Still a ton to do to get this to something production-ready and I have no clue how long that will take but it certainly shows that Flutter UWP is viable.

There are a few largish remaining issues to solve such as how to do tooling integration with flutter create, how to get hot reload and observatory support working and more. More details here.

In the example below, I was able to take the source of Flutter Particle clock from https://github.com/miickel/flutter_particle_clock build it in release mode targeting Windows, take the resulting app.so binary, package it for UWP using the same Flutter Runner as used above for Flutter Gallery, publish to the Microsoft Store and install on my XBOX:

particle clock

Sorry, something went wrong.

@lukemcdo
Copy link

lukemcdo commented Apr 1, 2022

I don't think there's much reason to aim for a native version of Flutter on UWP. The two beneficiary devices are Xbox and HoloLens (mostly the former), so honestly I'd be more interested in building a UWP WebView2 wrapper that exposes WinRT APIs, then making sure that the Win32 version (if/when it gets WinRT API access) accesses those APIs in a similar way. Native performance on Xbox is not essential and the HoloLens barely exists.

My rationale is that a webview project would be infinitely more maintainable and the project could function as a much more relaxed, asynchronous project. Tooling would be a relatively minor extension to the web tooling at most.

Is coordinating with a theoretical web wrapper project something the Win32 team is willing to do? Goal would be the option to write once use anywhere with WinRT APIs. Or are WinRT APIs not on the Win32 team's roadmap?

@Sunbreak
Copy link
Contributor

Sunbreak commented Apr 1, 2022

https://github.com/woodemi/quick_blue/blob/master/quick_blue_windows/windows/CMakeLists.txt

https://github.com/woodemi/quick_notify/blob/master/windows/CMakeLists.txt

It is possible to use WinRT APIs now in plugin. No need for support in Flutter framework/engine

@fabiancrx
Copy link
Contributor

@cbracken , I think this might be closed as it collides with #102172

@cbracken
Copy link
Member

Yep -- was waiting to file that issue before closing this one out.

Closing this since our intent is to wind down development on, and remove the UWP embedder in order to focus on the Win32 embedder which, over time, will start to adopt Windows SDK support (once our supported OSes is a subset of those that support doing so).

See: #14967 (comment)

@visionarylab
Copy link

@cbracken
To be fair, UWP look like being slowly phased out.
Maybe just focus on WinUI+ Uno. That is basically open source. As Flutter is direct competition to Uno and Microsoft.
Its would be all community's work.
Regardless x86 architecture (Most the userbase, still be on Windows 10-11), and UWP still have year of support until end of Windows 11.

We are very proud to work closely with Microsoft to ensure Uno Platform can provide day-zero support for WinUI 3 and bring WinUI-built applications everywhere, including Web, Linux, macOS, iOS and Android.

@github-actions
Copy link

github-actions bot commented May 4, 2022

This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 4, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
a: desktop Running on desktop c: new feature Nothing broken; request for a new capability customer: crowd Affects or could affect many people, though not necessarily a specific customer. engine flutter/engine repository. See also e: labels. P3 Issues that are less important to the Flutter project platform-windows Building on or for Windows specifically
Projects
None yet
Development

No branches or pull requests

clarkezone commented I thought it would be worth sharing a September 2020 update on the state of the Flutter UWP experiment I've been working on. Progress has been slower than I’d like as this is a spare time / best effort project that I've been working on only during evenings and at weekends. However, I have been able to make a decent amount of progress over the last six months or so and get some scenarios working namely: a proof-of-concept WinRT Flutter embedder using CoreWindow in conjunction with WinRT input APIs running in the AppContainer sandbox: https://github.com/clarkezone/engine a corresponding test Flutter UWP runner (only 115 lines of c++!) with a demo Flutter experience using Flutter Gallery: https://github.com/clarkezone/fluttergalleryuwp using these I was able to publish a MSIX packaged version of Flutter Gallery successfully to the Microsoft Store, passing the WAC API checks for store certification (finally :-)) Still a ton to do to get this to something production-ready and I have no clue how long that will take but it certainly shows that Flutter UWP is viable. There are a few largish remaining issues to solve such as how to do tooling integration with flutter create, how to get hot reload and observatory support working and more. More details here. In the example below, I was able to take the source of Flutter Particle clock from https://github.com/miickel/flutter_particle_clock build it in release mode targeting Windows, take the resulting app.so binary, package it for UWP using the same Flutter Runner as used above for Flutter Gallery, publish to the Microsoft Store and install on my XBOX: 👍 105 😄 17 🎉 49 ❤️ 42 🚀 38