An enormous thing that has changed since the 1990s and those halcyon days of Visual Basic is the central role of design. Back then, overall consistency was a pillar of desktop UI. If your app's buttons looked like Windows buttons and you could use Tab to move through input fields, that was usually good enough. VB provided that kind of usability out of the box. The PC platform was fairly homogenous: you could assume that your user has at least a 800*600 screen, so you'd just make your application window that size and the MVP can ship.
Today's UI designs must deal with an enormous variety of physical form factors and display resolutions. But even if your no-code tool is able to deal with this and provides a consistent UI that scales from phone to desktop, it's not nearly enough. Commercial visual branding has replaced consistency as the central pillar of UIs. Now your buttons must never look like default buttons, and your UI must use a custom font even though the OS standard font would be more readable. This is simply what customers believe they want.
Unfortunately the web is a very poor platform for expressing UI designs in a consistent way, so literally everyone has their own haphazard UI framework. Basic components like pop-up menu buttons are commonly written from scratch. Nobody can agree on how to style a button. Et cetera ad absurdum. Your no-code tool should somehow integrate into this customer-specific private universe. On top of this mess, your primary input is visual designers who draw static pictures of applications in Figma and expect those to be translated into code. Often these designs are entirely lacking in structural thinking. (These designers typically come from a graphic design background, so they are very interested in fonts and padding widths but have never read the Apple Human Interface Guidelines or any other UI fundamentals. Hence they're mostly concerned with making sure any prototype application looks exactly like their Figma document.)
In my experience, the only reasonable way out of this trap is to focus on applications that are not of interest to the designers, i.e. internal business tools. Retool seems to be very successful here. I also use Retool in my day job and appreciate its no-nonsense design.
The Jetpack Compose guys are trying to do it the other way around - generate layout code from Figma files.
Personal Computers used to be a productivity oriented tool. VB6 was designed to handle business data. Today mobile phones are like sentiment manipulation devices or consumerism sinkhole. Could iPhone owners created apps on their iPhones? No. It's a ready-only OS.
1. They exposed metadata that let them be installed into visual designers and have their properties/events be controlled visually.
2. They could be compiled native code, which allowed people to integrate licensing and make a commercial marketplace for them.
3. They could be written in other languages like C++, allowing VB devs to rely on harder-core programmers to solve some gnarly library or algorithmic problem that was then exposed to them semi-visually.
The web has settled on React components for this but they don't satisfy any of those above features.
There's also a deployment issue. VB apps were "deployed" by just sending someone the EXE, or sticking it on a shared network drive, or maybe building an installer for them. There was absolutely no auto-update story whatsoever if you weren't using a Windows SMB mount which is why the web eventually displaced it, but it was really damn easy to get that first version to people, much easier than for a website (until PHP with shared web hosting got popular).
These days EXEs are much harder to make and send around due to safety features. There's code signing to contend with but also the expectation that you don't impose a choice of OS on users, maybe that you support mobile, that the app will update itself in case of bugs and so on. It's slowly coming back though. With Flutter you can make a mobile app using the app stores to do update, and then bring it to the desktop using Hydraulic Conveyor (my product) to do updates and packaging on the desktop with Codemagic or GitHub Actions to produce the binaries for each platform.