Skip to content

Native UI integration path: pugl + skia as an alternative to webview #12

Description

@godofecht

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

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions