Gsxui – Shadcn-style components for Go

(ui.gsxhq.dev)

66 points | by jackielii 18 hours ago

4 comments

  • sosodev 16 hours ago
    GSX seems interesting but I don’t understand why it depends on the node ecosystem. I just want to use Go for everything.
    • jackielii 14 hours ago
      because Vite is great. It only uses it in dev. In prod, no node involved. Try the gsx init. You'll know why. The dev experience you'll want.

      EDIT: highlights are:

      - live reload: it only reloads after new binary is built. also has /healthz check integration. I believe this is better than air, wgo etc

      - dev panel & error overlay: see generate, build status: on syntax error, you get an error overlay explaining where the error is;

      - status for slow builds: if you're working in a big project, you can see the building progress & log in the dev overlay

      • SamInTheShell 7 hours ago
        I'm kinda in the camp of wanting nothing to do with node if I'm building in Go. We have our own stdlibs for serving.
        • pjmlp 46 minutes ago
          I am on the Java/.NET camp for the most part, however I do share the sentiment.
        • throw1234567891 1 hour ago
          I’m in the other camp. I switched to node backends from go because of vite.
        • indemnity 7 hours ago
          Same, hard pass on remote shell as a service that is Node and its ecosystem.
          • jackielii 2 hours ago
            I'm not sure I follow. Node is not on the production path
      • saurabhmudradi 5 hours ago
        Cool! was looking for go based frontend options for local data heavy dashboard usecase, this seems perfect.
  • nzoschke 15 hours ago
    How does this compare to templ and templui? I see from the docs that gsx is templ compatible.

    And why does this depend on node / npx? Something to do with the JSX syntax and parsing?

    I wish go std templates were more ergonomic for components.

    Past that I wish projects like templ or GSX have a simple go generate pipeline, and support html and text/markdown output including whitespace.

    Until then I have a Frankenstein of a bunch of templating.

    • jackielii 14 hours ago
      It doesn't depend on node for runtime. Only for dev: the vite dev server, and js bundling, nothing else.

      Also I've been a long time templ & html/template user, also used templui. gsx is born out of my ergonomics desire from templ. gsxui is similar to templui, but makes bundling possible. Also borrowed pipeline filters from html/template. But you're right, this does involve a _build_ step. But I think it's worth it.

      Later I'll add the bundler free version. But really, vite has been so useful. Just treat it as another tool.

  • gen3 16 hours ago
    Looks good. I normally package a webui up with vite and serve that but I'll keep this in mind
  • skontraandrija 15 hours ago
    does it work with htmx?