Native UI integration path: pugl + skia as an alternative to webview
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 3
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Context
The UI story starts with webview. The open question is which native library to
integrate for people who want to render their own UI rather than ship HTML. The
goal is to let people bring their own UI library with an easy integration path.
This is a request from a community thread, tracked here so it is on record. It
is exploratory and not committed work.
Suggestion from the thread (ishineee)
Pair a windowing and event layer with a drawing library:
- pugl for the window and event loop. Supports macOS, Linux X11, and
Windows. No iOS or Android today. pugl support for iOS looks addable if we go
this route. - skia for drawing. Backends for OpenGL, Metal, and Vulkan. The same drawing
library used in Chromium, ChromeOS, and Android. Reachable from a native C API
through skiasharp, which bundles it. The tradeoff is skia's build system, which
is complicated to build yourself.
Prior art
- zigplug, a work-in-progress Zig plugin framework that recently integrated
pugl: https://codeberg.org/bandithedoge/zigplug
Notes
- pugl covers desktop. Mobile would need extra work (the iOS pugl port above).
- skiasharp's bundled C API is the path to skia without wrestling its full build.
- Keep the integration seam generic so a different UI library can slot in.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the proposed pugl window and event layer, skia drawing path through skiasharp's bundled C API, and the zigplug prior art. Define what a generic integration seam must support and how desktop and future mobile paths fit it; done means a concrete, agreed integration design rather than an exploratory option list.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, zig
- Domain
- desktop, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100