Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> For electron, because it is the only reasonable multi platform UI platform out there. I do not like that fact but it is true.

Why do people constantly repeat this? Did we all forget about Qt? Did Qt do such a good job of driving people away from it?



I think QT has two problems:

1. It's based on C++.

2. The licensing makes it very expensive for non-open-source applications.


Small correction: 2. The licensing makes it very expensive for non-open-source applications that are unable to comply with the restrictions of the LGPLv3.

As stated _many_ times: Qt can be used via LGPLv3 in commercial software. Only a few components like QtQuick3d are GPLv3 only.


Having used both QT and Electron, my subjective experience is that Electron is just more ergonomic to use. And it's not because I'm new to C++ either. I have more years logged writing C++ than I do in the JS ecosystem. It's also not because I actually like Electron very much (I have several big problems with it), but if I needed to build a new cross-platform UI app these days Electron would be my default.


> Did Qt do such a good job of driving people away from it?

Yes, they did, with their hostile licensing changes and the fact that you cannot customize it as much as you can Electron apps.


Lack of customisation should be seen as a good thing. As a user I want apps built to fit into my platform, not for the app to be consistent across disparate platforms. I understand why marketing does not like this, though.


Qt doesn't magically help you with this either.


Indeed, it’s not “native” many places, but at least does not tend to become a blank canvas for marketing to build something completely custom on. I’d take QT over electron any day, but would pay for a native app over using either.


> Lack of customisation should be seen as a good thing

It’s not.

> As a user I want apps built to fit into my platform

As a user, I don’t care that about that. As long as the standard keyboard shortcuts exist, as well as reasonable integration with the OS which Electron does perfectly, I’m all set.


Yes. Because the experience of building something with QT that looks good and work cross platform is like pulling your own teeth.


I'd substitute "looks good" for "looks like a web application".

Taking music players for an example, I prefer the way Amarok (Qt) looks compared to something like Amazon Music or Spotify.


I don't use Amarok, but looking at screenshots, it looks similar to other Qt applications on Windows that seem to sit in this uncanny valley of coming quite close to looking native, but just different enough to feel strange. I also don't use the Spotify app, but it seems from screenshots to do a better job of appearing like a native Windows 10 application to me.


Not with Qt6/CMake/QML. For example, I've been developing a cross-plattform live wallpaper app for the last 5 years alone: https://screen-play.app/


QT talent pool and ecosystem is a rounding error compared to what we have with the web ecosystem. If you want to make something with medias, graphs, a few custom widgets, a reactive layout and deep routing, it will take 10 to 30 times longer with QT.

I myself prefer the snapiness of QT apps, but budget and time to market will win.


Electron apps are always resource hogs, frequently slow and generally integrate extremely poorly. As a consumer I care not one whit for how large the "talent pool" for the web ecosystem is, I care about how terrible the application is.

As a developer I must say calling it talent is in most cases a huge stretch, as I do believe you can probably make something in Electron that performs passably, integrates passably and will still be a resource hog. The reason we see basically none of this is because people simply don't care to engineer these applications well. "It's just the browser", after all. Why look deeper?


Sure but most teams do the maths for the cost/benefit ratio and make the call.

In this context the argument is moot: a better app that is too expensive or slow to make is simply not going to be released vs the worse one that actually gets published.

That's all there is to it.

That's why people still use wordpress, excel or jupyter notebooks for important stuff.

You may want things to be different, and for good reasons, but it's still what's the market has decided.


What does "deep routing" mean?


Views, sub views, partial views and complex hierachic workflows. Url base routers are great for those, but QT controllers let you reinvent the wheel.


I assume either deep nesting or deeplinks.


Qt costs money and is as native as electron.




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

Search: