Favorite GUI library?

Chris wendlec at tcd.ie
Wed Apr 25 09:49:30 UTC 2018


On Wednesday, 25 April 2018 at 03:00:13 UTC, Nick Sabalausky 
(Abscissa) wrote:

> Yea, Chrome is kind of notorious for random breakages compared 
> to other browsers. Google seems to still be a fan of that "move 
> fast to break everything" fad that (unsurprisingly) has been 
> biting Facebook in the ass.

> Honestly, I find that if my web sites exhibit 
> browser-compatibility issues, it means I've over-engineered 
> something. Even in Chrome, the HTML/CSS basics are pretty 
> stable. It's only when you start getting into the "newer is 
> better" bleeding edge "this week's version of webdev best 
> practices" stuff, and toolkits and the like, that things start 
> falling apart.

I recently had this issue with Chrome [1] and it is honestly 
annoying. I found out that it had been reported several times and 
what do Chrome devs say? Issue closed, it's an effin feature. To 
me it looks like they were over-intellectualizing the issue and 
came up with a "feature" that is counter-intuitive.

The thing about (Google) Chrome is this: unlike IE, it used to 
comply with web standards. No surprises, no stupid work arounds 
required, no two sets of code. IE went down, Chrome went up, and 
justly so. But now Chrome is becoming the new old IE (Mind you, 
even MS copped it that they had to comply with the standards!). 
And not to mention the built-in data "leakage". But like IE back 
in the day, everybody uses Chrome by default.

Imo, HTML+CSS are still good ways to build interfaces fast. I 
think there should be more UI frameworks (native or not) that 
provide this option instead of each framework cooking its own 
stew.

As for JS, I agree with TheGag96, you simply cannot write 
beautiful code in JS. There are two scenarios. 1. You can use JS 
for the mere basics and have it communicate with the server, say 
vibe.d, and the real cool stuff happens on the server in D. 2. 
You need to keep things flexible on the client side and process a 
lot of stuff (e.g. data you get back from the server) with JS, so 
you don't need to change-and-recompile vibe.d and others can 
change things according to their needs. It will get a bit messy, 
it's JS after all. To keep things simple follow these rules, if 
you have to use JS:

1. Don't try to be smart, don't try to write flashy or beautiful 
code. JS will thwart you.
2. Use the same dumb routines all over the place, it's easier to 
copy-and-paste and it will prevent breakage.
3. Stay away from the latest features that seem to work but are 
officially not "implemented yet"
4. Wait. JS engines are getting better and better.

Having said this, _vibe.d can also as a GUI client_. Cf. D Web 
Development, Kai Nacke.

[1] 
https://stackoverflow.com/questions/20367046/onclick-event-firing-in-firefox-and-ie-but-not-in-chrome


More information about the Digitalmars-d mailing list