Hacker News new | ask | show | jobs
by simonw 955 days ago
Tastes clearly differ then, because I've found the opposite. I find visual editor's really difficult to figure out, and I'm much happier when there's a quick to iterate on code-only way of laying out a GUI.

Probably comes from having more experience with web frontends than native GUIs.

4 comments

GUI visual editors fail when they ignore problems that Borland Delphi and C++ Builder solved brilliantly well over 20 years ago creating an incredibly quick and productive workflow, and yes, they can become an absolute mess because of this. I can only dream of the day Lazarus (FOSS reimplementation of Delphi) will work with other languages beside Object Pascal.
Which problems are those?

One problem I usually have with GUI builders is that they generate huge and messy data files for the layout which can't be meaningfully diffed. Visual Basic is even worse because the form files are binary blobs. Lazarus seems to use fairly concise and readable plain-text files for its forms, although there's also some sort of binary resource files.

You'll have the same issue even with hand written code? I'd say the solution is that we need semantic diffing to show GUI changes.
I think people who prefer and use GUI builders (generally "old-school" native devs) and those who write GUIs in code (generally web devs) design GUIs in different ways.

GUI-as-code makes dynamic layout easier, so those GUIs have more hiding and expanding elements. The GUI-as-data approach leans towards a static UI, disabling the elements that don't make sense right now. Dynamic elements exist only via hand-coded widgets, making GUIs more formulaic.

I may be seeing causality where there is none, though.

Which visual editors have you tried?

I've had pleasant experiences with Lazarus, Delphi and Visual Basic, and unpleasant experiences with Qt Designer, Glade and some others.

Borland RAD tools were pure gold! In my high school years I've sweared by Delphi and C++ Builder.
Mainly the Xcode one.
Seconding this, I outright avoid any GUI layout editor at this point.