3 ms·
Show HN: Base-GPUI: A GPUI port of Base UI headless components
- jauntywundrkind 3mo agoWait, what?! These examples run in the browser? This rust library is atop GPUI which is already well used for native apps, but outputs primarily / only (I'd guess only?) web apps? And they are real web apps, with html, unlike the Flutter abomination? This is sick. This is so rad, heck yes.
- tracker1 3mo agoYou might also find Yew, Leptos an Dioxus interresting... they're web UI frameworks for browser applications written in rust... with some options for native(-like) application targets.
- jauntywundrkind 3mo agoOh definitely! It's remarkable to me that this web toolkit is atop GPUI, which is a native app rust toolkit! We don't have a ton of cross native/web libraries, afaik! https://gpui.rs/ https://gpui.rs/ Flutter does both, but Flutter does it by being a giant canvas with its own drawing engine. It's awesome-sauce to see such a more harmonious path. Different topic but I'd done a little playing around with trying to write a HTML front end that could drop in to opencode 's opentui library. The cross-modal UI is a fun idea to me!
- autodidacc 3mo agoYep! GPUI added WASM compilation targets in Feb! https://github.com/zed-industries/zed/pull/50228 https://github.com/zed-industries/zed/pull/50228 Someone also seems to have added mobile support too https://github.com/itsbalamurali/gpui-mobile https://github.com/itsbalamurali/gpui-mobile
- autodidacc 3mo agoas for compiling to HTML, it unfortunately renders in a HTML <canvas>, which was how Flutter rendered in the web :( but I can only hope it compiles to that in the future!
- jauntywundrkind 3mo agoAhhhh shucks. The Base UI base made me think "oh they are basing this off of well known web componentry stuff, CSS systems, nice!". Thanks, & mea culpa, my bad for jumping to conclusions.
- yencabulator 3mo agoThis is interesting, but isn't it kinda scary to write a lot of code on top of GPUI that's effectively only serving Zed? https://news.ycombinator.com/item?id=47003569 https://news.ycombinator.com/item?id=47003569
- autodidacc 3mo agoyou're not wrong, but honestly this didn't come in mind when I chose to make this. I just really liked the API surface of gpui, base-ui, and wanted to make something that I could use for myself, and that other people might find helpful there is also a small growing circle of people interested in maintaining and extending gpui from what I see, which is nice!
- yencabulator 3mo agoDon't get me wrong, I love the idea of having this, in Rust, in a form where the hierarchy of nesting is type-enforced instead of `Node` or `Element` everywhere. I really do wish GPUI grew to a level where it had more users than just Zed, and an independent existence, but the Zed people sort of explicitly warned everyone to not rely on that to work out well, and that only Zed-relevant features would get merged.
- autodidacc 3mo agoYeah i get ya... In any case, I will continue spreading the good word of gpui, hopefully more people try it out