Hey everyone,

I would like to officially announce the project I'm working on for a while 
now.
It's a binding for the Qt framework + some tools to help you with 
development and deployment of your Qt applications.

The most interesting feature of the Qt framework for the Go community is 
probably that it can be used to develop native looking GUI applications for 
various platforms without the need to make platform specific changes to 
your code.
Beside the GUI modules Qt also includes: a webengine (chromium), several 
multimedia functions, access to bluetooth + nfc, access to various hardware 
sensors, gamepad support, access to position informations and much more ...
The Qt article on wikipedia: https://en.wikipedia.org/wiki/Qt_(software)


There are two caveats for those who intent to use the binding:

1. You code won't be pure Go anymore, as this binding heavily relies on cgo.
2. The binding dynamically links to Qt's libraries, which results in 
25-50mb (depending on the platform) uncompressed libs that have to be 
deployed along with you binary.
(But it's also possible to link against the static Qt libs and remove this 
need. And there is also work being done to reduce the size of the dynamic 
libs in the upcoming versions of Qt.)


For the pro side, I should probably mention that:

1. The deployment to most platforms is pretty trivial (that includes cross 
compiling). (And there will be even more supported platforms in the future)
2. That the binding is almost complete and already supports most Qt modules 
(30+).
3. There are a lot of examples to get you started. (And porting over 
existing C++ examples should be super simple)


If someone is interested in testing it out, it can be found here:
https://github.com/therecipe/qt


Or if you just want to take a quick look and test the examples on Linux and 
you are familiar with Docker.
You could use one of the images as well: `docker pull therecipe/qt:base`
And simply run `qtdeploy build desktop` in one of the 
`$GOPATH/src/github.com/therecipe/qt/internal/examples/` sub-sub folders. 
(inside the container)
There will be a new folder created called `deploy`, which should contain 
everything that is needed to run the application on a regular 64-bit Linux 
system.


Please let me know what you think.
Any feedback is welcome :)

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to