Hacker News new | ask | show | jobs
by jalfresi 4013 days ago
I've not tried this but I thought I'd mention that I've been using the QT QML packages for building desktops apps and the results are amazing!

https://github.com/go-qml/qml

Even better with the Material additions from here:

https://github.com/papyros/qml-material

Building Google Material themed apps easily with a Golang back end? Lovely!

I really hope the Golang team are considering the QML package as part of the standard library in Go v2, it would an absolutely awesome GUI kit to have as standard!

4 comments

Qt is an amazing framework which got many things right!

The combo C++ QML QtQuick made my life so much easier for a cross-platform OSX/Win app.

I was able to develop most of it on Linux, and it even looks nifty!

What else can you wish ? :)

I also prefer Qt but starting with Qt4 it imposes a minimum memory overhead of 25MiB to 30MiB for even a simple single window application with nothing in it. QML is likely higher. I don't like Gtk3 but they don't have this particular disadvantage. It's too much overhead and I haven't found a fix.
Yes that's one of the downside. Also, the binaries can get fat really quick. Especially when you link statically with some of the Qt components.

I guess it's a fair trade-off when you target today's desktop systems. Otherwise, it might worth looking at Qt for Embedded Linux.

Anyone else has experience with this combo (golang + qt qml). Is it worth giving a shot for production quality cross platform app (win,osx,linux)?
I don't have experience with this specific Go-QML bridge, but I've developed a number of applications with a QML front-end talking to a Go background process via HTTP and/or WebSockets, packaged together to appear as a single app. Works very well.

Qt is obviously very solid, definitely "production quality," while QML is solid in the sense of not buggy and the UI looks/feels/performs quite well on Windows/Mac (haven't tried on Linux). But QML can be slightly to considerably irritating to use because it's not always clear or intuitive how to accomplish something or why something isn't working the way I expect, and I usually don't find many examples/tutorials when I turn to Google. That said, it's far, far more enjoyable to build an app with QML than with HTML/CSS/JS; I'm way more productive and the result is an actual application rather than a weird facsimile.

Yup[ thats exactly how I'm using it: a simple Golang program that just wraps the QML program and the websockets, JSON-RPC features to make calls and receive events from a Golang backend process.

SOOOO much nicer than HTML/JS/CSS trainwreck that is modern web development.

I am still on Qt 4.x. How is widget/control support in QML these days? Do they feel as native as the old Qt widgets? This looks really promising:

http://doc.qt.io/qt-5/qtquickcontrols-gallery-example.html

Any screenshots?
Very nice! How is the performance/feel?