12 ms·
I'm a longtime user (15+ years) of wxWidgets in a commercial application. It's served us well during that time but lately it's been feeling more and more like o
by eco 7y ago
I'm a longtime user (15+ years) of wxWidgets in a commercial application. It's served us well during that time but lately it's been feeling more and more like our software looks outdated. Native UI is long touted as a pro but more and more software is eschewing the native look to stand out. Even Microsoft has been abandoning the win32 look in their win32 applications (Office, VS, etc.).
I found the linked page a few months back and was disappointed that there was no clear winner for someone that wants a nice, modern looking interface. JUCE looked nice but is weirdly focused on the niche audio applications field (and their website is so full of marketing copy it's hard to even get a feel for what it's like to use and how things fit together).
I'm a fan of the concept of IM GUIs in general (though pure immediate mode UI probably isn't appropriate for us for a variety of reasons) but Dear ImGui and most of the others just don't do the right UI paradigms to fit an application like ours (a thousand floating windows would drive our users insane).
We're at this weird place were game UI libraries look great (or can be made to) but aren't appropriate for information dense commercial applications, the available libraries designed for that use case look awful, and the big companies that have great UIs aren't sharing them with anyone.
- c-smile 7y ago> the big companies that have great UIs aren't sharing them with anyone. Here are some "big companies" https://sciter.com/#customers https://sciter.com/#customers and the library they use for their UIs.
- 13415 7y agoIMHO, only Evernote stands out in this list. Most of the other companies seem to have trivial user interfaces requirements. The GUI for an antivirus product could be built with just about any framework.
- c-smile 7y ago"The GUI for an antivirus product could be built with just about any framework" Not "any" as Section 508 is mandatory for example. That really limits your options to Qt and Sciter from that list (if to consider style of their UI). Qt is too large for them and not that convenient as they need. Yet DirectX (hardware accelerated) rendering is the must for high-DPI support. And check this: https://sciter.com/from-skeuomorph-to-flat-ui-evolution-of-one-application/ https://sciter.com/from-skeuomorph-to-flat-ui-evolution-of-o... . That is about 12 years of one application that is transitioned from Skeumorphism to Metro style UI without changing native code of UI.
- BubRoss 7y agoJuce works pretty well, their examples are just for niche audio applications. What is wrong with Qt for this scenario?
- seba_dos1 7y agoCan you now write a JUCE app that doesn't wake up every 16 miliseconds or so, even when idling? It's horrible for any battery operated device.
- BubRoss 7y agoIt is a GPL library in non commercial form so I would guess the answer is yes. That's good to know though.
- seba_dos1 7y agoWell, if we count "fixing it yourself" as an answer, then of course - but at this point you could just write your own toolkit anyway ;) I have actually tried to take a look at what JUCE does there and it looks like their whole rendering path is strongly tied to constantly running timers. Reworking JUCE to sleep more doesn't look to me like a small patch - it's more likely to be some kind of architectural rework. BTW. I know this only because the Pocket C.H.I.P used JUCE for its default launcher and I tried to investigate why does the launcher eat 5-8% CPU all the time even when idling in background. At the end I've "fixed" it by putting something like "max(200, duration)" instead of "duration" in the code inside JUCE that schedules timers. This makes the UI pretty laggy, but at least the device sleeps around 10 times longer than before :P
- overgard 7y agoWhen I was at Autodesk we used QT for a lot of things. (I think Maya was built with it, and I know FormIt is). There's definitely some downsides to QT, but one of the nice things is that thematically it's very customizable with QSS. So you can get a nice blend of native w/ more modern customizations, or there's even the "quick" route which I never used but it looks like it's meant to be super modern.