Hacker Newsnew | past | comments | ask | show | jobs | submit | Levitating's commentslogin

If you want to learn more about Xilem's architecture I recommend Raph Levien's blogpost: https://raphlinus.github.io/rust/gui/2022/05/07/ui-architect...

The way Vello/Masonry/Xilem are split projects is partially what got me interested in it (and in turn caused me to post it to HN), as well as the reactive architecture of Xilem.

I do believe a garbage collected interpreted language would work best for UIs. Something like Vala (for gtk) but with a runtime/vm.

python-qt has shown to be a very strong combination. My issue with such solutions is that packaging a python application to the end-user can bloat binary size.

I also think GTK should get some credit in that space, because due to GObject introspection it's easy to interface with GTK with any language.


I've been using oh-my-pi, for the simple (and possibly naive/stubborn) reason that it doesn't try to get me to install it as global npm dependency in /usr.

I am not a web developer, I don't need npm and I don't want it clobbering my /usr (which is immutable on many modern distro's anyway). Doesn't exactly inspire confidence in the project to me.

oh-my-pi's installer installs a bun bundled binary in my users .local folder. That's much more user-friendly.


I use mise to install it in a manageadble way (and basically everything else on my computer).

They're friendly for the user audience that doesn't care about these things. The location is a minor issue compared to many of the capabilities they come with. For the slightly more tech savvy, they should really be running these harnesses in a contained environment with net cap dropped, for instance.

You can add that via an extension: https://github.com/carderne/pi-sandbox

The price of flexibility is, pi is not opinionated about adding sandboxing out-of-the-box, it gives you options on how you want to do it. You either do it with linux containers, with a dedicated VM, or just bubblewrap. It is nice that it gives you a way to hook into it in a very easy way though.


You can get npm to install into `~/.local`.

Put this into `~/.npmrc`:

```

prefix = ~/.local

```

Bam, `npm install -g` contstrained to your `~/.local`


pnpm installs to ~/.local as well

> they reject PRs because they're not strictly related to Zed

What kind of PRs? Like new widget components or what?

Maybe https://github.com/longbridge/gpui-component would be more keen on accepting PRs like that?


For example https://github.com/zed-industries/zed/pull/42905#issuecommen...

So there is now a fork: https://github.com/gpui-ce/gpui-ce/ But I don't know if that's sustainable.


That's disheartening, though also understandable from Zeds point of view.

I hope the community fork could gain traction. I believe there's a lot of potential in GPUI.


This set of components is a nice compliment to GPUI: https://github.com/kiruhq/wgpui-component

Xilem is more like Iced but with it's own patterns and underlying graphics library.


It's sometimes hard to package a scripting language project to the end-user. Rust compiles to a binary. That's one benefit for me.

How so? It renders to a window buffer using your GPU API and interfaces with your OS for event handling. Electron renders using an embedded browser and uses said browser for input/events. Isn't that quite different?

I recently added SDL3 to that page

Native in the sense that it renders using the GPU directly (or rather via WebGPU) instead of relying on a webview.

On Linux you're right to say it's basically choosing between gtk and qt.


An hour before the "deadline", by the way

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: