Hacker News new | past | comments | ask | show | jobs | submit login

> But if you’re going to build an app for professional content creators, it definitely helps to be using the framework that powers Autodesk Maya and many other tools that they’re already familiar with.

Qt isn't that sort of framework though, it is just a GUI toolkit[0] and there is nothing special about it that makes it better than Gtk for an application like Krita.

The reason Krita is so successful is because of what orbital-decay wrote, they connect and listen to the users, not because of Qt. Obviously Krita is built on the KDE frameworks and the KDE frameworks are built on Qt, so Krita relies a ton on Qt to the point where if you consider on replacing it you might as well just rewrite the program from scratch. But Krita could have been written on, say, Java Swing, wxWidgets, Gtk or whatever other mature GUI framework and it'd still be as successful.

After all keep in mind that many other popular digital content creation tools use custom toolkits instead of Qt (e.g. Blender which is way more popular than Krita).

[0] ok, it has more functionality than GUI, but that's the main functionality and everything else can be found in many other libraries




In my experience it's not that simple. I certainly don't believe Krita written in Java Swing would be as successful.

There's a lot of complexity in GUI frameworks, and they are not interchangeable because they end up making different design choices. An application like Maya with very complex user-manipulated data structures will expose weaknesses in the framework, and the fixes and design improvements end up in the framework. A competing framework whose primary users are lightweight consumer-oriented apps doesn't get those benefits.


> In my experience it's not that simple. I certainly don't believe Krita written in Java Swing would be as successful.

I disagree here, i'm certain it would be as successful because the GUI framework is not the reason for Krita's success, it is the functionality it provides and how the developers interact with the community. The GUI framework does not have any image manipulation specific functionality (all of that is implemented by the Krita developers) and the community interaction isn't even a technical thing in the first place.

> There's a lot of complexity in GUI frameworks, and they are not interchangeable because they end up making different design choices.

I did not claim that they are interchangeable (though they can be, depending on the program's design), i even explicitly wrote that taking Qt out of Krita would mean almost rewriting the entire program as it relies heavily on it.

What i claimed was that Qt is not the reason for Krita's success and it could have the same success with other mature toolkits. There is nothing special about Qt aside from being around for long enough time to have its functionality "battle tested". This is not unique to Qt though.

> An application like Maya with very complex user-manipulated data structures will expose weaknesses in the framework, and the fixes and design improvements end up in the framework.

This is the case with any toolkit or really any library that has a lot of applications written against it, assuming the developers do not ignore all bug reports and issues the users of their libraries report.

Also since you brought up Maya specifically, Maya used to be based on the Motif toolkit until Maya 2010 (it was changed to Qt in Maya 2011), which by the same logic would mean that up until 2011, using Motif would be great for professional content creation applications since Maya used it too.


You forget about the desktop integration. At the company I work for we also selected Qt, why, because it has very good integration with many desktops. GTK is terrible in this regard (even support for other desktop on GNU/Linux apart from GNOME is not the best, let alone other OSes). And yes also Qt offers a lot more and is also more intuitive to work with and man the documentation it has, just superb. So yes, listening to user feedback is the most important but the role of a great toolkit to build on is also very important.


> You forget about the desktop integration [...] the documentation it has, just superb. So yes, listening to user feedback is the most important but the role of a great toolkit to build on is also very important.

I did not forget it, Qt has great integration and documentation but this was not a comparison of the specific features Qt and some other toolkit like Gtk may have. My claim was that Qt isn't something special that would make Krita successful while using anything else would make it less successful.

I didn't bring those things up because they weren't really relevant for my claim. Also FWIW desktop integration for Krita isn't as important as it'd be for some other types of applications - consider that Krita even comes out of the box with its own themes that it uses instead of trying to "blend in" the underlying desktop looks.

In terms of what Krita does, there isn't any functionality that it uses from Qt that couldn't be found in other toolkits like Gtk - or other libraries. It wouldn't be the same way and certainly not with the same code, but Krita could have been written using a different GUI library and framework and even in a different language and still had the same success because the GUI framework it uses is not why it is successful: it is the functionality the program provides (which was written by the Krita developers themselves) and the communication the developers have with the users (which isn't even something technical).


Qt is very special because it has excellent, "vector" fractional scaling (in a way, similar to Windows), compared to Gtk which has awful "bitmap" fractional scaling (akin to MacOS).


> Qt is very special because it has excellent, "vector" fractional scaling (in a way, similar to Windows), compared to Gtk which has awful "bitmap" fractional scaling (akin to MacOS).

This isn't unique to Qt though, other widget toolkits can provide that functionality. In fact LCL/Lazarus provides such fractional scaling even for Gtk itself by doing the scaling "manually" when using the Gtk backend.


True, but Lazarus is not widely used alas.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: