The State of the GUI
Abdulhaq
alynch4047 at gmail.com
Thu Oct 25 19:28:44 UTC 2018
On Wednesday, 24 October 2018 at 06:20:05 UTC, Adam Wilson wrote:
> I was reading the hijacked JAXLondon thread about GUI's and
> started replying but decided against hijacking the already
> hijacked thread again.
>
> I've been working with UX toolkits since the earliest days of
> my career and it was one of the first things I looked for when
> I started using D in 2011. Needless to say I wasn't impressed.
> As a result I've done some fairly extensive research over the
> years on, not just the effort required to bring one to D, but
> also on what people are actually using.
I think I can contribute something useful to this too. I've
worked with MFC, Visual Basic from 1.0, Paradox, Delphi (1,2,3, I
actually paid for this with my own money, and it was worth it),
SQLWindows, Oracle*Forms, ActiveX/COM/OLE2, Swing, Qt Widgets
(not QML) (C++ and Python), wxWidgets, JavaFX,
DHTML/Javascript/CSS, Android UI and probably others I've
forgotten.
>
> At this point in time HTML/CSS/JS is by far the most prevalent
> UX toolkit in use today and not a single modern website uses
> the native widget theme. The bare minimum is Bootstrap.
Yes, because the web is close to a universally available
platform, running everywhere. No one who knows Qt or JavaFX would
choose the dogs breakfast of accidental software
DHTML/Javascript/CSS/Ajax etc. if Qt or JavaFX was equally
universally available/distributable on all platforms.
>
> I think this is a key point. The theme itself is now part of a
> brand and using the native toolkit would be a branding
> disaster. American Express, Facebook, or Google aren't in the
> business of showcasing Microsoft's, GNOME's, or Apple's
> branding, they want their apps to showcase their own brands.
>
What has a companies brand got to do with a widget theme? Anyway,
it doesn't matter. BTW JavaFX has excellent CSS based
widget/scene graph node themeing.
> Somewhat unusually for Microsoft they recognized this shift in
> industry early and starting with WPF in 2006 they have allowed
> you to completely customize the look of widgets. WPF actually
> began as an (however misguided) attempt to improve on the UX
> capabilities of HTML/CSS. They continued this direction with
> Silverlight and most recently, UWP. UWP is intended as the
> long-term replacement for the Win32 UX API's and Microsoft is
> no longer developing the Win32 API's, it's
> just bug fixes now.
Many many years of MS chopping and changing their recommended UI
development platform (Silverlight is a great example) have taught
me not to build on MS's latest and greatest UI platform -
whatever that is this month.
>
> I've never used GTK or QT, but my understanding is that both
> have retrofitted some amount of theming into their toolkits but
> neither approach the capabilities of WPF or HTML/CSS.
>
> So why doesn't D have ANY useful bindings UX library bindings?
>
> The answer, I think, is that almost every case, the UX toolkit
> in question was designed for a specific language, Qt->C++,
> GTK/MacOS/Win32->C, SWT->Java, WPF->.NET, etc. and these
> toolkits are often deeply integrated with the languages they
> are implemented in.
Qt works brilliantly from python too, not just C++. It could
easily be used from D and other languages too, if there was a
binding. How come no one has mentioned Calypso in these two GUI
threads? The Qt binding is just about complete with Calypso, as
far as I can tell.
Russel also suggested creating a binding a la sip/PyQt. I started
something based on the same architecture as PyQt in 2014, it's
probably crap, but it's not that far off providing something that
works. I stopped because Calypso looked so good.
>
> The way I see it. We either pull together around a unified
> vision for a UX toolkit written in D from the ground-up or we
> wait (im)patiently for a benevolent corporate benefactor to
> appear. It's that simple.
>
No, Phil Thompson wrote PyQt on his own. Something similar for
D/Qt is not impossible, I have (had) a working core to prove it.
Calypso is much better, but frankly, no one seems interested.
It's more fun to bikeshed about writing an entire UI toolkit from
scratch.
> I do have a vision for a non-native, WPF-like, UX toolkit
> written entirely in D. I estimate that it will take a minimum
> of three extremely dedicated, multi-disciplinary, individuals
> about three to five years to complete with the help of a
> constellation of secondary contributors. I have a rough design
> sketched out and I'd be happy to post it here but this message
> is already getting to long.
>
> I firmly believe that a non-native, cross-platform, UX library
> will open D up to a whole new market of users that are
> desperate for something better than what they have now.
If you seriously want a good UI toolkit for D then write a
wrapper for Qt. It's very feasible. it would be tremendously
useful. Writing something even half as good as Qt? I admire your
ambition but there is simply no chance of it happening. None.
BTW, an aside, I was very surprised that for a large family of
applications, JavaFX is even better than Qt. Just an aside for
those who have C++/Python/Java as potential options for their
next masterpiece.
Abdulhaq
More information about the Digitalmars-d
mailing list