Ask HN: What are the fundamental diffs between modern web vs. desktop UI models

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • pkg

    Discontinued Package your Node.js project into an executable

  • Here HTML does have us covered, as well as other basic controls like selects (drop downs), radio buttons, and checkboxes. But again if unhappy with the look you'll be reimplementing it with some light JS.

    I'm a frontend web dev for ~10y and have found this thread very interesting, thanks for sharing and discussing. On the web just don't have that standardized library of widgets like GTK+ or Qt, MUI is probably the closest, and that narrows you into a React app in most cases.

    As for the vocabulary, a few things come to mind.

    * Very low barrier to entry, just need Notepad and a browser, nothing to compile or install. One can find a beginning career without knowing much about coding logic at all. It wasn't until I moved into "modern" JS and "back of front-end" that I began to learn formal patterns and principles, and I still consider myself quite a novice in them.

    * GUI exists on the barrier between design and code, so is hard to formalize and document in general. Additionally the culture of web development is slightly different, in that the expectation is every little things can be styled and customized. This is at odds with the native approach, where a button look like a OS button no matter what. This culture of customization/branding contributes to things like Electron where web CSS can be directly reused.

    Thanks again for starting this thread, I've looked at making cross platform desktop applications before, but quickly abandoned it as it was so foreign to me. I usually opt for a small (pkg)[https://github.com/vercel/pkg]'d node server for my hobby applications.

  • react-select

    The Select Component for React.js

  • @drowe859's answer was excellent.

    The only thing I'd add is that there's _thousands_ of freely available React components, including dozens of implementations of the kinds of widgets you listed (treeviews, specific form input types, etc). Sometimes they're available as a one-off lib [0], a small focused lib with a few specific components [1] [2], or a giant kitchen sink lib with dozens or hundreds of components [3] [4] [5] [6].

    So, those _do_ exist, and in a similar sense to Qt or Gtk.

    [0] https://react-select.com/

    [1] http://jquense.github.io/react-widgets/

    [2] https://react-spectrum.adobe.com/react-spectrum/

    [3] https://mui.com/

    [4] https://react-bootstrap.github.io/

    [5] https://retool.com/blog/react-component-libraries/#blueprint

    [6] https://lmgtfy.app/?q=react+component+libraries

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • react-bootstrap

    Bootstrap components built with React

  • @drowe859's answer was excellent.

    The only thing I'd add is that there's _thousands_ of freely available React components, including dozens of implementations of the kinds of widgets you listed (treeviews, specific form input types, etc). Sometimes they're available as a one-off lib [0], a small focused lib with a few specific components [1] [2], or a giant kitchen sink lib with dozens or hundreds of components [3] [4] [5] [6].

    So, those _do_ exist, and in a similar sense to Qt or Gtk.

    [0] https://react-select.com/

    [1] http://jquense.github.io/react-widgets/

    [2] https://react-spectrum.adobe.com/react-spectrum/

    [3] https://mui.com/

    [4] https://react-bootstrap.github.io/

    [5] https://retool.com/blog/react-component-libraries/#blueprint

    [6] https://lmgtfy.app/?q=react+component+libraries

  • react-widgets

    Polished, feature rich, accessible form inputs built with React

  • @drowe859's answer was excellent.

    The only thing I'd add is that there's _thousands_ of freely available React components, including dozens of implementations of the kinds of widgets you listed (treeviews, specific form input types, etc). Sometimes they're available as a one-off lib [0], a small focused lib with a few specific components [1] [2], or a giant kitchen sink lib with dozens or hundreds of components [3] [4] [5] [6].

    So, those _do_ exist, and in a similar sense to Qt or Gtk.

    [0] https://react-select.com/

    [1] http://jquense.github.io/react-widgets/

    [2] https://react-spectrum.adobe.com/react-spectrum/

    [3] https://mui.com/

    [4] https://react-bootstrap.github.io/

    [5] https://retool.com/blog/react-component-libraries/#blueprint

    [6] https://lmgtfy.app/?q=react+component+libraries

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts