News for hackers. Stuff that matters.
Re:Qt Binding for Go with Support Desktop, Mobile and Embedd... by derefr on Monday November 25, 2019 @05:38PM (#21633565)
It looks like this binding has a compile option where Qt itself is statically linked into the resulting executable. That gives this stack (Go+Qt) a very unique deployment story.

There are a lot of people (I'm looking at you, console home-brew community) who build all their little tools to go along with their projects as native GUIs, usually with C# + WinForms—not particularly because they have Windows-specific functionality, but more because they have at least some native functionality (so Electron is out) and C#+WinForms allows them to just make releases as a standalone .exe you can "just" download and run (at least on modern Windows), without needing to first install some external runtime.

This could be a good multiplatform alternative to the C#+WinForms stack, with all the same advantages. (The only con being that statically-linked Qt is pretty dang large.)

Re:Qt Binding for Go with Support Desktop, Mobile and Embedd... by htfy96 on Monday November 25, 2019 @05:50PM (#21633680)
One thing to notice is that the open-sourced version of Qt is under GPL/LGPL, which means if you statically linked it into the executable, your application is then infected by (L)GPL.
Re:Qt Binding for Go with Support Desktop, Mobile and Embedd... by kej on Monday November 25, 2019 @06:03PM (#21633824)
Your application is "infected" if you use Qt without a commercial license, regardless of how you link it. It's a little harder (but still possible) to comply with the LGPL requirements when you statically link, but you are bound to those requirements either way.
Re:Qt Binding for Go with Support Desktop, Mobile and Embedd... by groovebits on Tuesday November 26, 2019 @04:47AM (#21636839)
Pretty sure having it dynamically linked is ok with the open source licence
Re:Qt Binding for Go with Support Desktop, Mobile and Embedd... by kej on Tuesday November 26, 2019 @10:34AM (#21639133)
Right, my point is that static linking is also okay with the LGPL, albeit slightly more difficult in terms of what you have to make available to end users.
Re:Qt Binding for Go with Support Desktop, Mobile and Embedd... by therockhead on Tuesday November 26, 2019 @02:27AM (#21636266)
I believe the parent post is correct and mechanism used to link effects the licence.
Re:Qt Binding for Go with Support Desktop, Mobile and Embedd... by nickserv on Tuesday November 26, 2019 @03:08AM (#21636423)
If you want to ship closed source code based on other people's hard work, then you should pay. In this case by getting a Qt commercial license.
Re:Qt Binding for Go with Support Desktop, Mobile and Embedd... by jksmith on Tuesday November 26, 2019 @10:02AM (#21638796)
Maybe, but keep in mind FreePascal/Lazarus has generally been supporting at least three of the platforms natively for several years. Complier, visual design, everything as expected from a delphi-like product. One of my FPC projects includes a desktop client with one window using multiple size controls and everything re-sizes near perfectly (know how to use panel controls). Recompiled on Linux and behavior was almost identical and no compile errors, according to expected behavior of a multi-platform toolchain. Funny enough, the client calls into a Golang rest backend I wrote. Nice, efficient solution that is easy to add additional devs to when needed.
Re:Qt Binding for Go with Support Desktop, Mobile and Embedd... by MayeulC on Monday November 25, 2019 @06:17PM (#21633934)
Well, you can do this with C++ and Qt as well, but as a sibling commented, you are subjected to LGPL, so your app has to be under a compatible license, or provide a way to replace the Qt part (not sure if you were to provide one such mechanism while statically linking, like SDL2 does with its dynapi[1]).

[1]: https://hg.libsdl.org/SDL/file/default/docs/README-dynapi.md

Re:Qt Binding for Go with Support Desktop, Mobile and Embedd... by longstation on Monday November 25, 2019 @07:39PM (#21634525)
Would you elaborate on the size of QT? I searched and found this link ([1]) that suggests when done right, the QT part is about 20MB.

I am asking this because sometimes people have different idea on what is accounted for being big.

[1]: https://stackoverflow.com/questions/25426895/qt-static-build...

Edit: grammar, link style

Re:Qt Binding for Go with Support Desktop, Mobile and Embedd... by derefr on Monday November 25, 2019 @08:22PM (#21634838)
20MB is still large in this case; we're talking about people who frequently use as their download host a phpBB forum with a 5MB download limit, and who usually manage to achieve sizes far less than that (usually ~150KB) because it's literally just CRUD + parsing + filesystem access + some layout XML for the dynamically-linked GUI toolkit to chew on.

Think: "would software pirates write their little keygen GUIs in this?"