Repository navigation
Proposal: Explore GPUI/GPUIX as an Optional Cross-Platform Renderer for Wails v3 #6560
MikeLINGxZ
started this conversation in
General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Background
In [#4952](#4952), the possibility of supporting an embedded Chromium renderer was discussed.
The maintainer mentioned:
I completely understand and agree with Wails' goal of remaining lightweight and avoiding bundled browser engines.
However, this made me wonder whether GPUI/GPUIX could be a potential alternative for achieving consistent cross-platform rendering without bundling Chromium or CEF.
Proposal
Would it be possible to explore an optional GPU-based rendering backend for Wails v3, using [GPUI](https://github.com/zed-industries/zed/tree/main/crates/gpui) and [GPUIX](https://github.com/remorses/gpuix)?
GPUI is a GPU-accelerated UI framework written in Rust and used by Zed. GPUIX provides a React/Solid integration layer for building native interfaces on top of GPUI.
Unlike Chromium or WebKit, GPUI does not rely on a traditional browser engine for rendering.
Conceptually, Wails could support multiple rendering backends:
The goal would not be to replace the existing WebView implementation, but to explore whether Wails could provide a sufficiently abstract interface for alternative renderers.
Potential Benefits
Technical Challenges
I understand this would not be a simple renderer swap.
Some challenges would likely include:
Also, GPUIX is still evolving, so this is more of an architectural exploration than a request for immediate implementation.
Questions
I'd love to hear the maintainers' thoughts on a few questions:
Does Wails v3 have any plans to support pluggable rendering backends, or is the WebView intended to remain a fundamental part of its architecture?
When mentioning an interest in a common cross-platform renderer in About embedding chromium #4952, were non-browser rendering frameworks such as GPUI or Skia part of the possibilities being considered?
Would it be technically feasible to reuse Wails' Go backend, services, bindings, and event system with an alternative renderer?
If the community wanted to experiment with a GPUIX backend, would it be possible to implement it as an external integration, or would it require significant changes to Wails' core architecture?
Would the maintainers be open to discussing a minimal renderer abstraction that could enable community-maintained backends without introducing additional dependencies into Wails itself?
Closing Thoughts
I'm not suggesting that Wails should officially adopt or maintain GPUIX.
Rather, I'm interested in whether Wails could eventually support a renderer-independent architecture, allowing the community to experiment with alternatives while keeping the existing lightweight WebView approach unchanged.
I think this could be an interesting direction for Wails v3, especially for developers who want to combine Go's backend capabilities with consistent, GPU-accelerated cross-platform interfaces.
I'd be interested to hear whether this aligns with the maintainers' long-term vision for Wails.
Thanks for all the work on Wails!
All reactions