-
Notifications
You must be signed in to change notification settings - Fork 17
Frequently Asked Questions (FAQ)
- Why another QML binding ?
- How does it compare to
therecipe/qt
? - What is the status for this binding ?
- Is this binding actively maintained ?
As far as I know, there are only two QML binding exist for Go: go-qml
and therecipe/qt
. Right now, go-qml
is not actively maintained anymore, and it's not working anymore since Go 1.7. On the other hand, therecipe/qt
is still actively maintained, however it uses LGPL license which make it not exactly suitable for proprietary app. So, I've decided to create a new one.
Before I've created this binding, I extensively uses therecipe/qt
. This is why there are some similarities between qamel
and therecipe/qt
. For example, both uses similar syntax for declaring a new QML component. In qamel
, it's done by embedding qamel.QmlObject
while in therecipe/qt
it's done by embedding quick.QQuickItem
.
On the other hand, there are some differences between qamel
and therecipe/qt
:
-
therecipe/qt
is binding for ALL Qt's modules, whileqamel
only binds several Qt's classes that used for creating a simple QML app, i.e.QApplication
,QQuickView
andQQMLApplicationEngine
. - Because
qamel
only binds the small set of Qt's class, most of the time the build process will be faster thantherecipe/qt
. - In
qamel
, the binding code is manually written, which make the binding installation process really fast. On the other hand, intherecipe/qt
the binding code is generated when you run the setup. This makes the installation time quite long, and there are no godoc available. However, this way, it could supports all Qt's modules, no matter what version of Qt that installed on your system. -
therecipe/qt
supports many deployment targets, i.e. Linux, Windows, macOS, Android, Sailfish, Ubuntu Touch, WASM, and iOS. On the other hand,qamel
only supports deploying app from and to Linux and Windows. I don't have any Mac device, so I haven't test it there. However, theoretically it should work as well. -
therecipe/qt
is released under LGPL license which make it's not really suitable for proprietary app. There are plans for commercial license, but until now there are no final words from @therecipe. On the other hand,qamel
is released under MIT license, which AFAIK means you can do whatever you want with this binding.
The bottom lines are :
- If you want to create a proprietary app which only uses QML instead of all Qt's modules,
qamel
might be enough for you. - For other purposes, you might be better with
therecipe/qt
.
This binding is still in development. However, it's quite stable and I've been used this in production for several months without problem. Your mileage may vary.
First of all, I've created this binding for my job, so yes, it's actively maintained.
However, since I created it for the sake of the job, if the issues are not critical and doesn't affect my job or workflow, it might take a long time before I work on it. Therefore, all PRs and contributors will always be welcomed.
It should works on all modern PC or Notebook. Make sure OpenGL driver installed on your system, because AFAIK QML uses OpenGL to render the view.
This binding is already tested and confirmed works with Qt 5.11 onwards.
Just like other open source projects, you can make a contribution by submitting issues or pull requests.
If you like this project, you can donate to me via PayPal. If you don't want to donate money, but have any spare key for Linux game on Steam or GOG, I accept those as well :).