Skip to content

[WIP] Proposal of Community-driven Tooling Roadmap Around LibreWPF #2

Description

@lextm

Goals

Microsoft doesn't publish an up-to-date roadmap for WPF, but there are a lot of new things now in the XAML landscape. So, upon ProGPU and your open source fork a new roadmap can be developed to engage with the wider community and move the entire ecosystem (open source/commercial controls and tooling) forward.

Core Assets

  • ProGPU
  • LibreWPF

@wieslawsoltes owns the detailed roadmap of both.

Ecosystem

Community engagement has started and more people can involve to build up the ecosystem around the core assets.

Beyond the main repos (ProGPU and LibraWPF):

  • Improve DevFlow for WPF to work with LibreWPF

    Done by @lextm.

  • Bring WpfDesigner to LibreWPF

    Done as part of vscode-wpf and OpenDevelop @lextm

  • Improve vscode-wpf to work with LibreWPF so that developers can use VS Code as their primary development environment on macOS/Linux.

    Done, but superseded by OpenDevelop. @lextm

  • Bring AvalonEdit to LibreWPF

    Done as part of OpenDevelop @lextm

  • Bring AvalonDock to LibreWPF.

    Mostly done on macOS. Linux is pending.

  • Bring SharpDevelop to run on LibreWPF and modernize it with VS open source components. Then this OpenDevelop project can supersede vscode-wpf and become the new default environment for cross-platform development.

    Mostly done. @lextm

Image
  • Other cross-platform tooling support, such as Hot Reload, DevTools, profiling, etc.

Future Items On the Radar

  • Native AOT

    You invested a lot of time in this area with your previous projects, so I think once the compatibility goal is reached, you will shift your focus on deprecating WPF old designs and create new ones friendly to Native AOT. For example, mark the WPF DataGrid as deprecated and ship a WPF port of ProDataGrid instead.

  • AXSG and WXSG both contain WPF language servers. Need to merge them into a single one.

    @lextm will rebase WXSG onto the latest AXSG to merge the changes and then use this language server in vscode-wpf and OpenDevelop).

  • WXSG brings new XAML features to Microsoft WPF (.NET Framework and .NET). However, if LibreWPF evolves further and gains enough momentum to become the primary platform, then such features should be implemented directly in the main repo instead of being added via a tooling extension.

    WXSG can remain for .NET Framework projects as well as .NET projects that aren't ready to migrate to LibreWPF. @lextm

  • Windows P/Invoke helper. Another WPF fork (it might be open-sourced soon) seems to ship better shims to help migrate WPF projects with specific P/Invoke calls to macOS and Linux. Merging the best parts of both WPF forks should significantly improve the developer experience.

    Will invite its author to participate in discussions once that repo goes public.

  • Wine Mono might use LibreWPF as the foundation of their WPF-related work.

    @madewokherd can evaluate and decide those tasks separately.

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions