What Features Should A GUI toolkit have?

via Digitalmars-d digitalmars-d at puremagic.com
Mon Mar 9 01:13:45 PDT 2015


On Saturday, 7 March 2015 at 07:33:03 UTC, Russel Winder wrote:
> I meant a user interface not using a browser as the 
> infrastructure.
> Cocoa, Qt, GTK, JavaFX, etc. are all there already, and have 
> everything
> browsers are still trying to get.

All I can say that you can cut down on development time, get 
better portability, greater reuse and greater flexibility by 
using HTML5. The only downside has been performance and toolkits, 
but that is changing over time. Shadow DOM is an essential 
component to that, by encapsulating GUI elements, and reactive 
frameworks allows you to tie them together with effortless 
two-way binding.

> but it's only real positive is that it is (supposed to be) 
> pre-installed
> and the same on every machine. Sadly though, from what I can 
> see, vast
> amounts of code and time is spent dealing with the differences 
> between browsers.

That's in the past. The time spent referencing caniuse.com (about 
once every 15 minutes for me) allows you to use new features 
without having to reimplement for another browser. I spend less 
than 1% on cross browser issues now that I am on IE10+. Before 
that, 10-20%.

But that is not relevant here, since we are talking about 
building Chromium into the app, as in statically.

> HTML and Javascript may have an edge on ease of deployment, but
> regarding the other dimensions, I fear you must have imbibed of 
> the Kool-Aid.

No Kool-Aid, just a fair knowledge about usability, GUIs and the 
cost of doing native development as well as what browser engines 
now provide. Going native costs you twice as much in GUI work 
than a design that fits HTML5.

HTML is by far the most stable and portable platform over time... 
Because it is backed by an adopted standard. Without a standard, 
it would be worth nothing. Low risk implies adoption.

Flexibility is also important for creating good UIs. Complex 
applications never reuse much from existing GUIs, they create 
their own for all the critical tasks. That applies to just about 
all applications where screen estate and workflow matters: 
audio-visual applications, CAD etc.

> Clearly
> new technology and new application require new things, but 
> simply
> ignoring already known stuff is just wrong.

I am not ignoring anything. I am pragmatic, and I also know the 
UI theory and what the portable UI frameworks has offered since 
the 1980s.

HTML5 is an adopted agreed upon standard with backwards 
compatible enhancements that works cross platform. Everything 
else is not. Therefore HTML5 will grow more over time. Just like 
C++ will grow more than D...


More information about the Digitalmars-d mailing list