Gooey: A GPU-accelerated UI framework for Zig

(github.com)

76 points | by ksec 2 hours ago

4 comments

  • noelwelsh 1 hour ago
    Interesting project, but needs documentation. In particular, what's the model it uses? I.e. how are events, state, etc. handled? Normally I'd just work it out from the code examples, but the example in the README is over 200 lines which is too long for me.

    (Don't tell me here. Make your docs better, so everyone benefits!)

  • WD-42 47 minutes ago
    This is great, we need more of this. It's high time we began to escape the dark ages of rule-by-Electron. See Bitwarden's recent fumble of a redesign.
  • cookiengineer 6 minutes ago
    Sadface :-(

    (Author of Gooey [1], a GUI framework for WebASM in Go)

    [1] https://github.com/cookiengineer/gooey

  • vova_hn2 1 hour ago
    > Inspiration

    > GPUI - Zed's GPU UI framework

    Cool, but a comparison would also be very helpful.

    If I decide to make a GUI app with Zig, how do I choose between Gooey and GPUI?

    So far, all I know that GPUI is more mature and has at least one successful project built with it, so...

    Also:

    > Gooey: Turn (almost) any Python 3 Console Program into a GUI application with one line

    > https://github.com/chriskiehl/Gooey

    • shorsher 57 minutes ago
      GPUI is written in Rust, so in this specific case the decision is already somewhat made for you.
    • torginus 37 minutes ago
      If I remember correctly, Zed's framework didn't set the goal of being able to draw arbitrary graphics/UI and by constraining that, it basically managed to represent everything with quads and distance fields in shaders, which reduced draw calls and GPU state management to a minimum.
    • ssernikk 1 hour ago
      > how do I choose between Gooey and GPUI?

      GPUI is for rust, not zig

    • mgrandl 1 hour ago
      I mean GPUI is rust and Gooey is Zig so if you wanna do a project in Zig you probably wouldn’t choose GPUI.