← Back to context

Comment by rendaw

1 day ago

Throwing in my vote... I've been doing everything with wasm-bindgen/web-sys, i.e. just doing my UIs in html, and for 99% that's what I'd want anyways. Web UIs are portable, remotely accessible, and don't require installation on each client.

For the small percent that's left where speed is critical, I've just been using wgpu and wgsl-bindgen directly.

I can't think of what I'd want a native UI solution for. And then having to deal with porting it to iOS, Android, Windows, Mac etc, dealing with app stores (3+?) submissions, developer fees, rejections... vs just using HTML which works on all platforms. I don't think I'd use a native UI even if there was one. Not that HTML is great by any stretch...

(I made Sunwet, this is what my stuff looks like: https://github.com/andrewbaxter/sunwet )

Web UI is fine for web applications, obviously.

But for desktop applications it is bloated, a big attack surface.

HTML/CSS is made for online documents, and using it for applications is a bit hack that happen to work, but hides a huge ton of complexity behind frameworks and frameworks of frameworks with leaky abstractions and each their own caveat.

> wgsl-bindgen

Oh I didn't know about this, it looks great! If it works as well as it seems to, that would be a huge ergonomic boost to using wgpu. Currently all my wgpu code has those fragile feeling pipeline layout definitions scattered around and changing the data layout is always a pain.

  • I wish there were even more checking here still, but I think wgsl-bindgen is a huge improvement. I definitely recommend it!

Universal technologies are increasingly becoming more desirable for devs the more I read about them.

Sunwet looks like a lot of fun! I've put it on my TODO list to play with. Maybe I can use it to organize my ebooks in an undo-friendly way

I can't think of what I'd want a native UI solution for.

A proper first-party LLM app for ChatGPT/Claude that doesn’t buckle under the weight of large threads.

> I can't think of what I'd want a native UI solution for.

So that your software is actually pleasant to use for your users. UIs built on HTML universally suck compared to native UIs.

I am not much of a GUI user, or programmer, but I have used a lot of GUI tool kits, mostly debugging and/or extending other's work

HTML5 is the sanest for me. I can actually find where code executes, tooling using browsers (Firefox or Chromium) excellent and the declarative layout works well

The hours and hours I spent chasing the executing code in Dart/Flutter and, oh my aching head, in SwiftUI made me hate those with passion

I get that it is unsuitable for desktop programmes, for many good reasons, but it is so much better to modify.

> I can't think of what I'd want a native UI solution for. And then having to deal with porting it to iOS, Android, Windows, Mac etc, dealing with app stores (3+?) submissions, developer fees, rejections

Not everything is yet another shitty b2c "app".

There are whole industries where cross-platform support is irrelevant, as paying customers just keep using Windows.

saving this comment, this echos my own thinking, html is not great but its better than dealing with all those things you listed.