Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The problem isn't responsive design, GUI builders were able to do that just fine. The problem with making it work on the web was that the dominant design paradigm for web apps was (and to some extent still is) templating, in which there's no clean split between UI layout code and UI controller code and no proper notion of encapsulated components. PHP, JSP, ASP and the <script> tag all mix UI layout with code that works with the database or controls the UI itself. Yet all VB-like platforms require this to be split, because the GUI designer has to be able to edit the GUI code without breaking your app logic too badly, and they really need a strong component model.

How they do this does vary, I don't remember how VB did it but Delphi had a binary file format for describing forms, Java Swing used IDEs with code generation inside magic comments that you weren't supposed to touch, JavaFX and WPF have the cleanest approach with an XML dialect for describing the UI and then the event handlers and controller logic are implemented as classes that are bound to the UI using reflection, Android has something similar, macOS uses NIB files and so on. And they all have a notion of a component being something you can install and treat as if it were one of the built-in widgets. On the web there's no equivalent to this. React sort-of brings components but they don't provide sufficient metadata to be used in a visual designer, and it still mixes code and data together in such a way that visual editors would struggle to not corrupt the user's code.

Ultimately the web came to dominate not because it's a good way to do GUIs. It mostly tossed out what was learned about making GUIs easy to use and develop, because it was never designed to do that in the first place. It came to dominate because it made distribution easy at a time when desktop OS vendors were totally dropping the ball on everything internet related. That's why classical VB-style development app development paradigms dominate on mobile: mobile OS vendors put way more thought into distribution, and that took away the web's primary competitive advantage.

On the desktop distribution can still be quite hard, which is why I put a lot of work into making a tool that makes it drop-dead easy and which gives you the option of web-style forced "immediate mode" updates (we call it "aggressive mode" but that's kind of a dumb name). See my profile for a link. It brings desktop way closer to the web in both UX and DX, which opens up the possibility of VB style development again. Not only for professional devs but also for people who benefit from a lower barrier to entry.



VB did it via VBScript and COM, later with Web Forms in .NET.

Outsystems picked up on this and created a visual programming language for the Web, still going strong 20 years later.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: