3 ms·
Yep, GUIs are always hard. I don't know what it is about the web, maybe because it's so accessible, that makes people assume its GUI abstraction should be easy
by hombre_fatal 6y ago
Yep, GUIs are always hard.
I don't know what it is about the web, maybe because it's so accessible, that makes people assume its GUI abstraction should be easy. Or that because web GUI is hard then the web's abstractions are basically a failed experiment. Or, HN's favorite, that we're somehow trying to build things with these completely anodyne GUI tools that they're somehow not meant for.
But it's hard because GUIs are always hard. And the things that make HTML/CSS hard are the threads that run through all other GUI abstractions and make them hard.
Notice how Android and iOS developers are never piling into HN circlejerks raving about how Google and Apple have really solved GUIs.
Here are six different ways to center a square in a box in UIKit with constraints: https://stackoverflow.com/a/26181982/511200 https://stackoverflow.com/a/26181982/511200 I've been an iOS developer for over five years and I still consult this regularly when checking constraint spaghetti to make sure it's not missing any bits of the magic incantations.
- hugi 6y agoI much prefer doing MacOS or iOS layout work rather than working with the absolute clusterfuck that is HTML and CSS.
- hombre_fatal 6y agoI vastly prefer web client development where there are much better abstractions and I have rather arbitrary freedom. I think web GUI tools are simply better and I think my StackOverflow is one example why. The web also has a full spectrum responsive solution. Even Apple is transitioning from 90s KVO tech to SwiftUI, a buggy experiment that looks like any of the reactive/observable weekend frameworks that the web has been experimenting with for 10 years. One thing I notice is how little cross-experience there is. The iOS developers I work with have barely built a web client, and web developers have barely built a mobile client. I bet 95% of our opinions including my own are driven by familiarity, and we just like to roleplay that it's some deeper technical calculation. That said, even if the iOS dev experience was 10x as good as it is today, I still wouldn't pick it for personal projects because polishing an application that only iOS users can use is a nonstarter. That downside got old so fast.
- rimliu 6y agoLet me guess, you did not do any iOS development? To claim that web has better abstractions is insanity. Even before autolayout to say that was a stretch. And I say this because I do have that cross-experience: working with web since 1998 (1996 non-professionally) and with iOS since 2010 (professionally since 2012).
- berkes 6y agoLayout for GUIs are hard. And HTML nor CSS weren't developed with layout in mind. The original idea was to mark up (the M in HTML) meaning and semantics and leave the rendering and display to the client entirely. If you consider that systems that were designed entirely around layout (Like QT layout https://doc.qt.io/qt-5/layout.html https://doc.qt.io/qt-5/layout.html), are complex and hard, you can imagine what happens when you try to do layout with a system that was never intended to handle this, must be backwards compatible, is a standard (not a lib or framework) and can be freely interpreted by renderers by definition.
- dash2 6y agoI guess this supports my point. It's a hard - and necessary - problem to address, and HTML and CSS are not very good fits for it.