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

Visual Basic (and other 90s visual GUI builders) were great simple options for making GUI apps, but those GUIs were rather static and limited by today's standards. People have now gotten used to responsive GUIs that resize to any window size, easy dynamic hiding of controls, and dynamic lists in any part of the GUI; you won't get them to come back to a platform where their best bet at dynamic layout is `OnResize()` and `SubmitButton.Enabled = False`.
 help



> Visual Basic (and other 90s visual GUI builders) were great simple options for making GUI apps

Yes, they were comfortable and easy to set up (and use), particularly when compared to web development.

> a platform where their best bet at dynamic layout is `OnResize()` and `SubmitButton.Enabled = False`

This is a great description of what web coding looked like for a very long time, _especially_ when it started replacing RAD tools like VB and Delphi. In fact, it still looks like this in many ways, except now you have a JSX property and React state for disabling the button, and a mess of complex tooling, setup and node modules just to get to that base level.

The web won not because of programmer convenience, but because it offered ease of distribution. Turns out everything else was secondary.


> This is a great description of what web coding looked like for a very long time

React is over a decade old, and as far as I remember, desktop apps using embedded browsers (Electron) started becoming dominant after it came out.

The ease-of-distribution advantage is huge, but web technologies are big outside the Web too, where it doesn't apply.

(Besides my main point, idiomatic web UIs don't implement resize handlers for positioning each element manually, but instead use CSS to declaratively create layouts. Modern GUI libraries with visual builders can also do this, but it was decidedly not the norm in the 90s. Also, modern dynamic GUIs generally don't use a static layout with disabled parts, but hide or add parts outright. That kind of dynamicity is hard to even conceptualise with a GUI builder.)


Microsoft invented AJAX when building Outlook for the web back in 2000. GMail was released in 2003 and Google Docs in 2006. Around this time, even enterprise giants like SAP started offering web UIs. This is the shift from RAD to web I'm talking about.

The current idiomatic way of doing web layouts was, back then, almost entirely theoretical. The reality was a cross-browser hell filled with onResize listeners, in turn calling code filled with browser-specific if statements. Entire JavaScript libraries were devoted to correctly identifying browsers in order for developers to take appropriate measures when writing UI code. Separate machines specifically devoted to running old versions of Internet Explorer had to be used during testing and development, in order to ensure end user compatibility.

In short: The web was not in any way, shape or form more convenient for developers than the RAD tools it replaced. But it was instant access multi-platform distribution which readily allowed for Cloud/SaaS subscription models.

Electron happened more as an afterthought, when the ease of distribution had already made web UIs, and hence web UI developers, hegemonic. Heck, even MS Office for the web predates React, Electron, and something as arcane as Internet Explorer 9.

Things have gotten much better, but we're still having to reinvent things that just existed natively in VB6 (DataGrid, anyone?) - and at the cost of increasingly complex toolchains and dependencies.




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

Search: