4 ms·
> There was a time, when I was young, backwards compatibility was a big part of our job. To me, it seems every other day QT and GTK makes a point of ignoring ba
by hgs3 4y ago
> There was a time, when I was young, backwards compatibility was a big part of our job. To me, it seems every other day QT and GTK makes a point of ignoring backwards compatibility with their releases, making Application Development hard.
Which is odd because desktop user interfaces haven't fundamentally changed in the past two decades. Theoretically you could generate UI code for Win32, Qt, GTK, and others from a common markup format.
- robertlagrant 4y agoRIP XUL[0]. [0] https://en.m.wikipedia.org/wiki/XUL https://en.m.wikipedia.org/wiki/XUL
- chungy 4y ago> Theoretically you could generate UI code for Win32, Qt, GTK, and others from a common markup format. Lazarus's LCL components pretty much do that. One source, can target Win32, Qt, GTK, and Cocoa.
- kitsunesoba 4y ago> Theoretically you could generate UI code for Win32, Qt, GTK, and others from a common markup format. In theory yes, but the attempts I've seen at this run into issues with things like widgets present on one platform not being present on others (e.g. Win32 has no miller column widget like Cocoa's NSBrowser) and the UI toolkit chasing identical behavior between platforms. For this sort of idea to work, I think an approach that fills gaps (following previous example, providing a Windows implementation of a miller column widget to mirror NSBrowser) and doesn't try to fight the behaviors of the UI toolkits it's built upon is what's ultimately required. Without that, an approach that reimplements everything from scratch is probably better.
- ptx 4y agowxWidgets [1] and SWT [2] are probably the most successful attempts at striking this balance (using native widgets). But usually the apps look slightly off on every platform. [1] https://www.wxwidgets.org/about/screenshots/ https://www.wxwidgets.org/about/screenshots/ [2] https://www.eclipse.org/swt/ https://www.eclipse.org/swt/
- smoldesu 4y ago> Win32 has no miller column widget Neither does GTK, Qt or pretty much any other toolkit I've used. It's not exactly a great example of a standard widget. We could also limit our definition of modern UI toolkits to only ones that support the Touch Bar and POWER9, but it's kinda silly. The vast majority of interaction metaphors are the same between systems. If your OS has a different or unique function that the vendor wants to see used, it's up to them to expose it well.
- formerly_proven 4y agoIt ain't pretty but does exist in Qt https://doc.qt.io/qt-6/qcolumnview.html#details https://doc.qt.io/qt-6/qcolumnview.html#details
- smoldesu 4y agoIndeed, I stand corrected. Maybe Qt 6 will give it a glowup befitting of a non-early-2000s Autodesk tool.
- yjftsjthsd-h 4y ago> to only ones that support the Touch Bar and POWER9 I'll give you the touch bar, since that very much does interact with the way GUIs work, but if your graphical toolkit needs to care about the CPU architecture at all I feel like something has gone terribly wrong. The closest thing that seems reasonable is to allow graphical acceleration, but requiring even that is a great way to ensure that things will break on a regular basis.
- dikei 4y agoQt, Gtk UI is already cross-platform, and now you want another layer of (leaky) abstraction on top of it :)