Skip to content

Instantly share code, notes, and snippets.

@clarkezone
Last active January 15, 2025 17:20
Show Gist options
  • Save clarkezone/4791eadc6fa79cf5498721f5271326ba to your computer and use it in GitHub Desktop.
Save clarkezone/4791eadc6fa79cf5498721f5271326ba to your computer and use it in GitHub Desktop.
Flutter Windows and UWP by Clarkezone

Flutter Support for Universal Windows Platform

This gist is a summary of contributions made by clarkezone, as a spare time hobby project, to bring the Flutter framework to the Universal Windows Platform application programming model for Windows. The result enabled Flutter native apps to run on Windows 10 and XBOX. Aditionally, it enabled Flutter to run on a new variant of Windows targeted at tablets called Windows 10x. A preview of the OS was available at the time in the form of an emulator image target at developers although the OS was later discontinued before release.

The work was released as an alpha in Flutter v2.2; this writeup gives more details. The Flutter team later decided to back out the UWP aspects due to concerns about the future of the UWP model as described in the following issue: flutter/flutter#14967 (comment).

The change lists encompase:

  1. adding a native win32 embedder implementation to Flutter Engine replacing the prior temporary implementation that was based on the GLFW library.
  2. adding support to Angle for SpriteVisual hosting. This leveraged new Windows compositor API's that shipped in Windows 10 to integrate Angle 3D content into both win32 and UWP UI views.
  3. adding a UWP Flutter Engine embedding implementation leveraging 1 and 2 above.

Patchs

Changlists representing the above functionality:

  1. Flutter Engine: https://github.com/flutter/engine/pulls?q=author:clarkezone
  2. Angle SpriteVisual hosting: https://chromium-review.googlesource.com/q/project:angle/angle+status:merged+jeclarke
  3. Angle build support for UWP: https://chromium-review.googlesource.com/q/project:angle/angle+status:merged+clarkezone
  4. Flutter Framework: https://github.com/flutter/flutter/issues?q=author%3Aclarkezone

Demos can be found on YouTube.

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