4 ms·
So? Why HASN'T anyone built Visual Basic for the web?
by lukasb 4y ago
So? Why HASN'T anyone built Visual Basic for the web?
- zubairq 4y agoWell "Visual Basic for the web" can mean many things. If you mean just an app builder online, then there are hundreds of options, the most popular probably being Retool or Bubble. Or do you mean run locally like Visual Basic and then output to an intranet web browser? Also, do you need basic language, or will Javascript be enough? For me, what is important is the spirit of Visual Basic, easy to use local applications that can be distributed as standalone apps, and an amazing component ecosystem
- est 4y agoThe web is a mess compared to text/binary data we had to deal with in the 90s and early 00s. 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.
- yCombLinks 4y agoYeah, but I can't even write a standard desktop GUI app nearly as easily as 25 years ago. Even a desktop first web app should be simple
- pavlov 4y agoI have some experience here and can share my frustrations... I wrote the original version of a product named React Studio (https://reactstudio.com https://reactstudio.com). It's sort of a "VB for the modern mobile-first web". Unlike VB though, it's runtimeless and exports regular React code (there's no closed blob or mandatory custom packages in the output). 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.
- mike_hearn 4y agoYou can also plot a middle path. JavaFX Scene Builder for example supports CSS, style sheets and custom themes, but also supports visual design and layout. However people with a graphics design background would still need to learn a bit of UI design like how to make responsive layouts, and they wouldn't be able to use Figma anymore. Animation also isn't that well supported. Still it can be done, it's mostly a case of investment. The Jetpack Compose guys are trying to do it the other way around - generate layout code from Figma files.
- bzzzt 4y agoLots of companies offer "low code" or "no code" tooling nowadays. Only no company has market monopoly power anymore to be a focus point like Microsoft was in the 90s.
- omnibrain 4y agoThere are several approaches to building Delphi for the web I talk about here: https://news.ycombinator.com/item?id=35046667 https://news.ycombinator.com/item?id=35046667
- piggybox 4y agoI don't know. VB is still 10x easier than React. The gap is so obvious.
- mike_hearn 4y agoBeyond the other issues like styling, components were a big part of the VB experience and they had several features that the web hasn't been able to match: 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.
- mwcampbell 4y agoMy recollection is that VB6 deployment got messy when you started stringing together lots of third-party components, since they had to be installed and registered system-wide. Windows XP introduced registration-free COM through SxS manifests, but a lot of us couldn't use that for years after XP came out, because we had to keep supporting 9x and maybe 2000.
- mike_hearn 4y agoYeah, once data files, OCX controls and more got involved you had to build an installer and Microsoft didn't provide any solutions for that until MSI came along. And InstallShield was expensive. So that hurt VB just as people were moving towards the web where you didn't have any dependency issues like that (assuming all the servers were online).
- vb6sp6 4y ago[dead]
- xet7 4y agoThere is Gambas. Some links here: https://github.com/wekan/hx/tree/main/prototypes/ui/gambas https://github.com/wekan/hx/tree/main/prototypes/ui/gambas