this post was submitted on 09 May 2026
66 points (85.1% liked)

Programming

26901 readers
243 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS
 

Desktop web-apps won. Simply because native UI libraries never evolved past their 90s days. Either the UI is defined in some DSL, that's loaded (or compiled) and then you spend most of the time writing getElement(pathToElement) and wiring it up, or you have to boilerplate create each element and parent.addChild(element).

And wiring it up is also a pain. Send a signal or event, add a listener or slot, or whatever fancy name each framework comes up with, and if you have to modify another element, it means querying for it, or having a singleton, or passing a reference/pointer, or whatever. It's so friggin-old school.

In the meanwhile, the web discovered reactivity, components, declaring the UI and having the logic in the same file, live debugging, tight development loops, and so much more.

Is it just too difficult for native frameworks? Is it a sunken cost issue or fear of breaking backwards compatibility? Why can't native UI development be as easy and approachable as web dev?

Don't get me wrong, I need webdev like a child needs cancer, but I've tried Slint, imGUi, Qt, Gtk, wxWidgets, and more and the experience makes me want to blow my brains out every single time. I dread writing any native GUI that I got desperate enough to try writing a TUI but that's unbelievably worse!

It's gotten so bad, that Tauri and Dioxus are now on the menu. I never wanted to mix web dev into my native applications, but it feels like the abominably anachronistic state of native UI development is just forcing not only me, but anybody who wants to have a good experience writing native UI apps (especially those that are multi-platform), to use a fucking web view! A memory-hogging web view!

you are viewing a single comment's thread
view the rest of the comments
[–] folekaule@lemmy.world 37 points 3 days ago (2 children)

As a developer who has mostly worked with web, but also dabbled in some native app work: It's not that the web UI frameworks are so much nicer. The native libraries I've used, at least, are actually much nicer to work with. I've worked with Delphi, Java Swing, various Windows frameworks, etc. React and friends are a chaotic mess in comparison and HTML was not designed for app development. You want a button? Here's a div, go ahead and style it. Thanks, let me add 500 npm packages to my project.

No, the main reason I prefer to develop web apps is because they're effortlessly cross-platform and automatically updated and distributed. No maintaining multiple versions. Updates are basically instant and happen across your user base. No code signing or paying to compile code on a Mac. No asking for install permissions on stupidly locked down enterprise workstations. Just deploy and go.

I can count on one hand the number of times I've needed to create a native app due to some restriction like local file access or device access. Most of the time you're just entering values into a database, so that can just be a website. PWAs are a pain to develop but they are much easier to deal with once they're in the wild.

YMMV of course.

[–] MonkderVierte@lemmy.zip 5 points 1 day ago* (last edited 1 day ago) (1 children)

and HTML was not designed for app development. You want a button? Here's a div, go ahead and style it. Thanks, let me add 500 npm packages to my project.

While i agree with the sentiment, please don't use for . And also please use html form elements for forms; no need to duplicate the browsers' capabilities in worse and brittle.

[–] folekaule@lemmy.world 4 points 1 day ago

Thank you for highlighting that. The example was intended to show the (maybe exaggerated) pathological state of web development and certainly not an example to be followed.

In seriousnes: yes please use a11y friendly markup. It helps your SEO, but more importantly it helps your visitors that use accessibility tools.

It doesn't have to be hard. I use component libraries that abstract it out and adds the necessary aria attributes and semantic markup for me.

As a bonus my web app development is closer to using the rich component libraries I enjoy in desktop apps. Just be aware of the absolute mess of npm packages that come with it.

I recently needed to delete a node_modules directory for a relatively small app. 20 minutes of my life on that shite 💀