Comment by samiv

7 days ago

Cool.. I guess but I just wonder.. is writing the UIs in code an actual practice that people do these days?

I program (mostly) in C++ using Qt for my UIs and I just use the Qt Designer to visually drag and drop to build my UIs and the actual code gets generated by the tool.

Fast and simple.

As an end user, what's the licensing situation like with Qt? I was looking to build a cross-platform desktop application (down the rabbit hole...) and was frustrated with the number of options that were just a web view of some sort and some bindings to a JS/TS framework of your choice (I don't have one and don't really want to have to use one or bundle it with the application).

Qt looked interesting, particularly with the concise syntax afforted by QML and QtQuick, but the licensing was off-putting and even just getting access (for a non-commercial project for example) seemed to require an awkward sign-up and some kind of installer.

I crave the conciseness and simplicity of something like SwiftUI but the options for doing that in a cross-platform way seem limited.

  • It's double licensed. The Qt Company offers both a commercial and LGPL license but they do their best to bury and hide the LGPL option and use dark patterns to try to trick one to get the commercial license. They also want to push you towards getting an account with them for the installer.

    That being said the packages (without online installer) are also available for direct download when you know where to look... [see link below]

    If you're on Linux though the situation is much simpler since your distribution most likely already packages the Qt libs so you just use your package manager to install them and off you go...

    Regardless, for anyone looking for a native portable toolkit, I don't really think there's anything that comes close to Qt in terms of functionality and tooling (like Qt Creator and Qt Designer) and once you get over the idiosyncrasies and quirks its really quite good (for the most part).

    https://download.qt.io/official_releases/qt/

    • I'm on macOS a lot of the time so I did get to the installer part and immediately stopped as it felt like LGPL-licensed software should be accessible without needing an account, an installer (is it useful?) or anything except allowing the end user to access libraries and headers directly.

      1 reply →

Almost everywhere and everything I’ve worked on that had a UI layer has eventually - if it didn’t start there - landed on just managing the UI in code itself.

Most UIs are made with web technologies without WYSIWYG. And now quite a lot of UIs on desktop are made with web tech.