4 ms·
I tried gpui recently and I found it to be very, very immature. Turns out even things like input components aren't in gpui, so if you want to display a dialog b
by atombender 8mo ago
I tried gpui recently and I found it to be very, very immature. Turns out even things like input components aren't in gpui, so if you want to display a dialog box with some text fields, you have to write it from scratch, including cursor, selection, clipboard etc. — Zed has all of that, but it's in their own internal crates.
Do you know how well gpui-component supports typical use cases like that? Edit boxes, buttons, scroll views, tables, checkbox/radio buttons, context menus, consistent native selection and clipboard support, etc. are table stakes for desktop apps.
- nu11ptr 8mo agoYeah, running just gpui is kinda like writing a react app without a component library. It is going to be on you to implement all your components. All of those are handled. Run the "story" app. It is very impressive IMO. Components list: https://longbridge.github.io/gpui-component/docs/components/ https://longbridge.github.io/gpui-component/docs/components/
- atombender 8mo agoThank you, that looks very promising indeed.
- the__alchemist 8mo agoI'm not sure about that analogy: HTML provides the basic components atombender laments are missing from GPUI.
- iamnbutler 8mo agoI do think gpui needs a native input element (enough that I wrote one (https://github.com/zed-industries/zed/pull/43576 https://github.com/zed-industries/zed/pull/43576) just before they stopped reviewing gpui prs) but outside of that I think it is pretty ok and cool that gpui just exports the tools to make whatever components you need. I could see more components being shipped first party if the community took over gpui, or for some crazy reason a team was funded to develop gpui full time, but developing baseline components is an immense amount of work, both to create an maintain. Buttons (any div can be a button), clipboard, scroll views (div, list, uniform_list) should all already be in gpui.