| HTML isn't really meant to be a UI platform. It's a mature hypertext platform, but for UI it isn't ideal: • Very few core widgets. Everyone has to supply their own. • Poor/non-existent support for menus. • Poor support for keyboard accelerators. • Rich text editing is ropey, and you have to supply your own UI. • No table views, tree views, or virtualized list views. • Multiple incompatible DSLs all of which get wrapped in practice. • Only accessible from one programming language. • Only recently got any built-in notion of components. Electron is convenient because lots of people know HTML and because it lets you incrementally upgrade a pre-existing web app. But if you know you'll be on the desktop anyway there are toolkits that solve the above problems, some of which meet your requirement of being lighter whilst still using stuff like CSS or SVG. Qt fits the bill and if you're not a C++/Qt person, JavaFX also uses a dialect of CSS (which can be compiled to binary even) whilst still offering a fairly complete widget set out of the box. It can be compiled down to a fully native binary these days, and even streamed over the web (see https://www.jfx-central.com/ for a demo). So once you leave the browser you have a far greater array of UI options available to you. Power users in particular tend to appreciate the productivity of standard desktop UI paradigms. And they're all equally easy to distribute these days. Conveyor will ship anything, it just has some sensible defaults for Electron/JVM/Flutter apps. Fully native apps work too, though. |