A browser-native classic Visual Basic VB6 IDE

wieslawsoltes.github.io

390 points by wiso a day ago


franga2000 - 8 hours ago

Makes it that much more absurd that tooling on modern platforms isn't anywhere near this level of discoverability and developer-friendliness.

I'm not sure if that's the right term, but by discoverability I basically mean having things like pallettes, property editors, visual builders, codegen... Basically that I can look at the pallete of widgets, drag a button onto the screen, click on it, see and rich-edit all the possible properties about the button, one-click codegen an event handler for any possible event of the button... No documentation, no guessing the names of properties of events, everything is just there right in front of me. I miss that from VB.

badsectoracula - 15 hours ago

Looks good functionality wise, you can even "compile" an app to a HTML file. This is exactly how something like this should work :-).

However, appearance-wise it looks very noisy/distorted with some crooked elements (especially window buttons) and missing visual parts (mainly bevel edges). I made a screenshot with comments for it[0].

I guess this was made with AI which isn't that great at making stuff pixel-level unless you explicitly told it to check reference images and be pixel level precise, so i'd recommend firing up a VM with WinXP in classic theme mode (or even better, 86Box running Windows 95 or Windows 98) and grabbing a bunch of screenshots.

Also i found some bugs:

1. You cannot click on non-visual controls (or disabled controls) to select them (e.g. timer). You can still use the rect selection to select them and drag them around by resizing via the handles but clicking on them selects the form.

2. Adding a control doesn't update the controls list in the editor unless you double click a control without a handler (i.e. the form, as long as you remove the Form_Load handler). Even after the controls are updated, if the event list has only one event, you cannot have the editor add by selecting it (i guess because it is already the selected item and you don't receive an event about selecting it).

I tried to make a simple pong game but it seems no key or mouse motion events are implemented yet so all i did was to make a bouncing OptionButton :-P.

[0] http://runtimeterror.com/pages/iv/images/5ffbf1494821c77a3fe...

waldrews - 16 hours ago

The property grid control is still the greatest general purpose UI of all time. Define your classes with some attributes and it just works. It was all downhill from there with web and mobile.

jit_tech - 15 hours ago

VB6 compressed a lot of the software development loop into one environment: change a property in a control, attach a behaviour and run.

I am wondering if newer avatars of coding agents can bring that back. Two reasons 1) Code generation is getting faster 2) More and more code is becoming a detail that is expected to work

Imagine a RAD where we have a VB6 like experience and can dive into real code (agent-generated) when the abstraction breaks.

avallach - 13 hours ago

From the same author: C# browser ide inspired by the modern visual studio https://github.com/wieslawsoltes/SharpForge

He has 500+ open source repositories including very advanced stuff like GPU powered gui framework and game engine components ( https://wieslawsoltes.github.io/Home ). It's very impressive and almost hard to believe that a single person could make all of this, even with help of modern ai agents.

Dwedit - 20 hours ago

Best part of VB5 was that when you hit F1, you instantly got help for whatever was under the cursor. VB6 changed it to use some much slower MSDN help system instead.

aryx - 11 hours ago

For the old coding environment nostalgic out there, I've made one for TurboPascal here: https://aryx.github.io/ocaml-elm-playground/apps/#programmin...

jordanscales - 10 hours ago

> border-color: var(--vb-light) var(--vb-dark) var(--vb-dark) var(--vb-light);

This creates 45 degree corners on the borders which are an uncanny valley to me [1]. Feel free to lift any CSS you need from https://jdan.github.io/98.css/, it's MIT licensed. I used a box-shadow hack to get the "staircase" look.

> box-shadow: inset -1px -1px #0a0a0a,inset 1px 1px #fff,inset -2px -2px grey,inset 2px 2px #dfdfdf;

[1] https://notes.jordanscales.com/98-css-reflections#when-butto...

sijmen - a day ago

Slick! Thanks for bringing back some memories of how i got into programming; by automating math-homework in visual basic.

vjvjvjvjghv - 18 hours ago

Wow, this feels almost like the real thing.

Is there something similar for the web now? Easy UI editor but a fully featured language behind with direct database access.

Narishma - 19 hours ago

These kinds of browser recreations of old native apps always fails at text rendering.

frankcort - 2 hours ago

You can even make changes to the code while debugging and stepping line by line through the code. That was one of the best parts of VB6! Albeit a little dangerous.

stsch - 13 hours ago

Childhood resurrected, awesome! 30+ years later, I'm still super fast in it, lol. Thanks!

asadm - 5 hours ago

VB6 was my first "language" back in high school and how I earned money ie. making software for local folks. It was great!

That and Flash is what I miss, we don't have the tools anymore. Lost in hunt for "optimal" or "responsive" apps.

fg137 - 10 hours ago

From the title I thought someone managed to emulate VB6 in the browser which would be quite a feat. Turns out it's a retro version of wix and produces html and JavaScript, more or less. Can't say I'm excited.

sajithdilshan - 12 hours ago

This is nostalgic. Although I think VB didn't have anti-aliasing back then. However, I remember creating an app with a UI and MS Access to store data with VB and it felt like magic to me.

vunderba - a day ago

Nice job - definitely consider implementing at least a little bit of the Win32 API layer! For kicks I tried importing an old highschool VB6 map editor at it which uses BitBlt but sadly it didn't work.

theblazehen - 13 hours ago

Good times! My first programming language :)

I remember sitting in class in school, writing out programs on paper for me to try out at home

karlkloss - 16 hours ago

3 - 3.01 = -0.009999999999999

That brings me back.

msephton - 9 hours ago

Super cool! Brings back so many memories. I wrote some very popular apps in VB back in the Windows 9x era: hot corners, screen savers, notes app, and many more.

hagbard_c - a day ago

The speed with which this thing launches in a browser should put shame on the faces of current IDE developers. While VB itself was nothing to write home about there certainly was something lost when hardware became more powerful. Imagine what current and 'recent' hardware were capable of if only efficiency was taken seriously again. Maybe generative AI can provide a boost where human developers would rather spend their time on chasing the latest fads, adding yet another feature or inversely removing even more functionality in an attempt to create the 'perfect' sparse application? Let the humans think up the features and write the initial implementation, then loosen the bots on the code to make it run as efficiently as possible on hardware which used to be current a few generations back.

pcdoodle1 - a day ago

Awesome! If only we could publish the programs as a PWA :)

nickstinemates - 6 hours ago

VB6 was peak programming and the nostalgia levels are insane.

Kuyawa - 20 hours ago

Oooh beautiful! Visual Foxpro was the same, only the language changed but their screen designers were almost identical

contificate - 10 hours ago

This really takes me back - not that far, alas, as my Scottish high school was teaching VB6 in 2016!

wiradikusuma - 18 hours ago

Debugging and IntelliSense don't work, and the deliverable isn't a .exe but an .html (though it works). Wondering if it can access ODBC lol.

john_owl - 13 hours ago

That's great! I used to love creating UI with VB6 when I was a teenager in high school.

sasakrsmanovic2 - 7 hours ago

Was this built with Uno Platform too?

webprofusion - 16 hours ago

Looks great! However using an active trademark from a mega corp seems like risky move even for a fun project.

pieter_mj - 13 hours ago

I promise I will not hack the project when OLE controls become available.

egonschiele - 20 hours ago

This takes me back! Right clicking works too, this is awesome. I miss property tables, that was a nice UX. Flash had it too.

mempko - 4 hours ago

I wrote my first programming language compiler on VB6. Yes, a strange thing to create a programming language. VB6 has a special place in my heart.

orthodonticjake - a day ago

easy way to trigger an Epic developer

BadBadJellyBean - 5 hours ago

The example code is bad. It doesn't even have "On Error Resume Next" on the top of the code. How are you supposed to skip all errors? SMH my head.

t1234s - 6 hours ago

I miss the old NT4 look. Its was very productive and no slop/nonsense.

Onavo - a day ago

How does it compare with

https://news.ycombinator.com/item?id=42105869

qxxx - 16 hours ago

really cool! brings the memories back.. I used to create few shareware products back then with VB3 - VB6.

imnotr0b0t - 21 hours ago

Wow, that's great. It brings back so many memories

dkga - 20 hours ago

My first <del>love</del>IDE…

JodieBenitez - 17 hours ago

Damn... brings back memories...

truetraveller - a day ago

Was this done with an LLM? Repo?

_blk - 16 hours ago

Uhoh, that'll bring back 1-based array indices

broast - a day ago

This is amazing

iririririr - 2 hours ago

I had forgotten how cool the lines breaking each methods where in the source code editor!

...Off to waste the day in my .vimrc *sigh*

diavelguru - a day ago

talk about a blast from the past!

Sarkie - a day ago

Intellisense?

Was that there?

mkrishnan - a day ago

Wow. very nice, it even runs the app

shevy-java - 12 hours ago

Kind of cool how far the browser as platform progressed.

We look back at people's computers, say, 30 years ago now.

And in 30 years the people will look back at us and wonder why we sucked so much. Or, AI skynet slop is winning, then we all look up to our AI overlords.

webbrainiac - 12 hours ago

[flagged]

486sx33 - a day ago

[dead]

964279964377 - 20 hours ago

[dead]

bitwize - 20 hours ago

OK, so I followed through to the author's GitHub page and the project's repository and...

no CLAUDE.md, no AGENTS.md, no SKILL.md, no .claude or .agents directories either.

Dare we dream? A project this ambitious, done without AI help? I'm getting that feeling like when I see a piece of really well done art come across my feed—and it was done entirely by a human!