Live data from Hacker News

Cross-Platform GUI Toolkit Trainwreck (2016)

blog.johnnovak.net

171–177 of 177 posts

Re: Cross-Platform GUI Toolkit Trainwreck (2016)

#171

Earlier quoted context omitted.

Can you link us to your blog? I'd like to read that angry post if and/or when you post it.

I don't have an angry blog post about the size of cross-platform libraries. Instead, I took the (longer) time to hand-tune Qt source and qconfig.h. My cross-platform desktop builds are under 2MB in a single executable, which appears to be something the OP wanted in the first place.

Oh, I think I misunderstood your original sentence. I thought you were saying there's an angry post that needs to be written about how to make a Qt app smaller by statically compiling the app and stripping the libraries. I was saying I would like to read the post detailing how.

But, now that I've thought about it for a few minutes, it does sound pretty straight forward. Unless Qt makes it difficult for some reason?

Re: Cross-Platform GUI Toolkit Trainwreck (2016)

#172

Earlier quoted context omitted.

I don't have an angry blog post about the size of cross-platform libraries. Instead, I took the (longer) time to hand-tune Qt source and qconfig.h. My cross-platform desktop builds are under 2MB in a single executable, which appears to be something the OP wanted in the first place.

Oh, I think I misunderstood your original sentence. I thought you were saying there's an angry post that needs to be written about how to make a Qt app smaller by statically compiling the app and stripping the libraries. I was saying I would like to read the post detailing how. But, now that I've thought about it for a few minutes, it does sound pretty straight forward. Unless Qt makes it difficult for some reason?

No, Qt doesn't make it difficult. We just live in a different era where it's more convenient to complain about frameworks than to dig in to the source/config files and modify them to suit your needs.

It's a Stack Overflow world, baby, we just live in it.

Re: Cross-Platform GUI Toolkit Trainwreck (2016)

#173
Hi all, one option might be HaxeUI (full disclosure, im the author!) :)

Its essentially a UI abstraction that delegates certain things "backends"

site: http://haxeui.org/ github: https://github.com/haxeui/haxeui-core discourse: https://community.haxeui.org/

It uses the Haxe language (haxe.org), here is a very small/simple/dumb sample of it "in action": https://www.youtube.com/watch?v=cijUTbMKMHI

It can use native components (wxWidgets, android, html5) but you can fairly easily extend it to use other "backends" (like Qt for example - i havent written that backend yet, but its something ill almost certainly do)... It can also handle drawing the components in a variety of methods (so called "composite backends").

Im currently aiming to get it out of alpha asap, and most work goes into "new-component-method" branches (these will become master shortly). Documentation is pretty slim at the moment, but something im actively working on, two examples that i just wrote up today in fact are:

https://github.com/haxeui/haxeui-guides/blob/master/custom-c...

and

https://github.com/haxeui/haxeui-guides/blob/master/modules....

Let me know if you have any questions! Ian Harrigan

Heres some other links / screens that may be useful:

https://twitter.com/IanHarrigan1982/status/11113481164338503...

https://twitter.com/IanHarrigan1982/status/10905353905980416...

Re: Cross-Platform GUI Toolkit Trainwreck (2016)

#174

Earlier quoted context omitted.

I'm working on something that might do #4 and #5: https://vlang.io/#ui An example of a small GUI app: https://github.com/vlang/v/tree/master/examples/users_gui The app is about 100 KB on all platforms with zero dependencies and uses native toolkits (WinAPI, Cocoa).

V looks pretty slick, though your 'comparison' to nim ( https://vlang.io/compare#nim ) is incomplete. i.e. you don't actually write comparable code. Instead, you just lambast how slow the compiler is.

The comparison is very biased. Various claims are not true or provided without context.

Re: Cross-Platform GUI Toolkit Trainwreck (2016)

#175

So many sub-debates hidden in this "cross-platform native GUI": 1) I want to write a GUI code once 2) I want to ship something that works on Windows / Linux / MacOS 2.1) I want to ship something that looks the same on Windows / Linux / MacOS 3) I want to ship a binary that works on Windows, a binary that works on Linux, a binary that works 3.1) I want to ship a small and efficient binary 4) I want to ship something t…

Don't forget the implicit:

6) Using my preferred programming language.

Re: Cross-Platform GUI Toolkit Trainwreck (2016)

#176

Earlier quoted context omitted.

I ship nontrivial PyQt apps. PyQt can basically do anything Qt can do. Multiple inheritance of QWidgets can be dicey, but desired results can usually be achieved by defining mixins that don't subclass QWidget. It works brilliantly, far from "the point of uselessness". For me, cross platform GUIs are a solved problem, and I really can't wrap my head around all the noise to the contrary, or the claims that electron is…

Python QT bindings are poorly documented, much of the documentation is out of date. Also it appears to me, far too much churn.

I don't use PyQt's documentation (wasn't even aware it really existed), it's such a literal wrapper that you can just use Qt's documentation.

And the only churn was a change about five years ago from a less pythonic API (using wrapped Qt types for most things) to a more pythonic one (using Python's native types where it makes sense). And that wasn't even that bad. Other than that it has no more churn than Qt itself does.

Re: Cross-Platform GUI Toolkit Trainwreck (2016)

#177
post #174

Earlier quoted context omitted.

V looks pretty slick, though your 'comparison' to nim ( https://vlang.io/compare#nim ) is incomplete. i.e. you don't actually write comparable code. Instead, you just lambast how slow the compiler is.

The comparison is very biased. Various claims are not true or provided without context.

If you say what exactly is wrong, I'll update the page.
Post reply on HN