Live data from Hacker News

How Does One Create A Gtk+ Application?

blogs.gnome.org

61–70 of 103 posts

Re: How Does One Create A Gtk+ Application?

#61
post #59

Earlier quoted context omitted.

> On the other hand, as a C++ library it really couldn't be worse, with its flagrant reinvention of the standard library, pervasive UTF16, complex object hierarchies, raw pointers, extensive use of macros, etc., etc. Have you given Qt a serious try? Most of the above arguments don't hold good at all. * c++ std lib is total crap. Anyone arguing for it has no idea what a good API is. Have you used Qt container? It's as…

Calling the C++ standard library crap is acknowledging the Wheel was Not Invented Here. Glazing over the fact that Qt has an incredibly complicated object hierarchy by saying "they're good for you" is not acknowledging the fact that it's complicated and difficult to learn or work with. You didn't even mention, e.g., MOC - Qt's incredibly complicated Meta-Object Compiler. And people call GObject complicated... Ignorin…

I honestly don't get these arguments.

Not sure how you concluded this is about NIH. Qt's container are very developer friendly and as an application author that's the first and most important thing that matters.

Saying moc is complicated is like saying dalvik or ART is complicated. These are just tools that work in the background. Just like you don't need to know ART internals, you don't need to know moc or the code it generates for you.

Arguing about string encoding is so 1990's, I won't comment.

Re: How Does One Create A Gtk+ Application?

#63

If you need GTK for something, really, don't bother. It's a bag of hurt. Qt, WxWidgets, or even something else. I'm so glad the Web and Modern Browsers reinvented "desktop applications".

> I'm so glad the Web and Modern Browsers reinvented "desktop applications".

You might be the first person ever to say that.

Re: How Does One Create A Gtk+ Application?

#64
post #17

It's unfortunate that Linux and/or Linux distributions have not yet solved the problem of supporting parallel versions of dependencies. Even Node's package manager supports that. The end result is that rolling release distros break stuff often, as applications can't be tested and executed in isolation of each other. The "solution" to this is releasing everything every 6 months, when you can actually test everything t…

This is insanely important.

The goal of an operating system is to run applications. The installation and packaging of software should be as simple as possible.

For whatever reason, the Linux desktop community does not see this as an issue.

If I want Vim 7.4, 7.3 and 7.1 installed at the sametime, your package manager should support it. What if 'X' plugin is only compatible with 7.1 and 'Y' plugin is only compatible with 7.4. This is a valid use case.

Lately, I have been using Docker to work around this, but it's not fun setting up GUI applications in a container.

Re: How Does One Create A Gtk+ Application?

#65
post #17

It's unfortunate that Linux and/or Linux distributions have not yet solved the problem of supporting parallel versions of dependencies. Even Node's package manager supports that. The end result is that rolling release distros break stuff often, as applications can't be tested and executed in isolation of each other. The "solution" to this is releasing everything every 6 months, when you can actually test everything t…

Well (I think) part of the whole point of a package manager is to reduce space by sharing dependencies. Npm seems to actually store a copy of the dependency individually for each package that requires it . I really think that is inefficient and a step backwards.

This is where most Linux package managers do a really good job.

However, the system should be designed in a manner where I have a choice.

This here: https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

Makes no sense in a world of dynamically linked libraries and 6 month release cycles.

Re: How Does One Create A Gtk+ Application?

#66
We loved GTK. It let us do great things for so many years... it was a necesary step while there were no other LGPL libraries.

But we got rid of it, changed all our code to Qt, which run circles around GTK Never looked back, best decision we could ever make. It works beautifully in all platforms, it integrates OpenGL, pdf output, printers support.

The only problem about Qt is that not all open source programs use it, so you use Inkscape(GTK) in Mac and works so badly, you can't even copy vectors(it copies pixel images instead!!).

GTK should die.

Re: How Does One Create A Gtk+ Application?

#67

ABI compatibility should not be a huge problem for distributions. They can just recompile all the packages linking against GTK+ when they update it. The crazy stuff is having your window decorations disappear when running a GTK application under openbox because somebody thought it would be funny to screw with gtk+-3.12 [1]. [1]: http://redmine.audacious-media-player.org/boards/1/topics/11...

> ABI compatibility should not be a huge problem for distributions.

That's just fine, until you want to release a binary application that targets more than one distribution...

Re: How Does One Create A Gtk+ Application?

#68
post #50
post #12

This state of Gtk sad, but I'm really glad we (VLC) moved to Qt, a few years ago (2006), before many applications did the switch, and when it was an unpopular move. Before that time, we were using WxWidgets and had many issues, notably with Unicode and Windows support. WxWidget APIs and behaviors were changing too much between releases (even minor ones). When we moved, we were in the early Qt 4.1/4.2 days, and most V…

Around that time I worked for Trolltech and got a good view of how that project was run. The trolls took compatibility very seriously. From devs that were running KDE 3 using the current nightly build of Qt 3 to swapping out the Qt library of various Qt applications with the next Qt release to find any regressions ourselves, keeping things working was important. Dogfooding with KDE, internal tools etc was expected by…

Thanks for linking to that PDF! Very interesting read!

Re: How Does One Create A Gtk+ Application?

#69
post #12

This state of Gtk sad, but I'm really glad we (VLC) moved to Qt, a few years ago (2006), before many applications did the switch, and when it was an unpopular move. Before that time, we were using WxWidgets and had many issues, notably with Unicode and Windows support. WxWidget APIs and behaviors were changing too much between releases (even minor ones). When we moved, we were in the early Qt 4.1/4.2 days, and most V…

I hope someone revives Firefox's Qt port. Jolla seems to have made progress there but not sure it's enough to have the XUL based interface.

Re: How Does One Create A Gtk+ Application?

#70
post #28

Earlier quoted context omitted.

> Even Node's package manager supports [parallel versions of dependencies] I feel like your emphasis is backwards. It's not surprising that NodeJS, a new project, has solved some of these problems. NPM has the luxury of decades of experience from dozens of linux package managers and package managers from other languages. Plus, they're not tied to the legacy use cases the same way that (e.g.) apt is.

Do you have a link that would educate me about some of these problems? Package management interests me because I might find myself developing a package manager in the near future, but I don't know much about it. Not supporting multiple versions of the same software is something that I identified as a problem though.

You might be interested in Nix: The purely functional package manager [0]

[0] - https://nixos.org/nix/

Post reply on HN