I sometimes miss the good old days of visual basic and delphi when I could create a gui that just worked in seconds, help pages via F1 and quick access to all events possible through simple gui clicks.
A few days ago I tried getting a simple PyQtWebengine example working using pyqt6 and failed miserably. It was a frustrating experience for sure
Tcl/Tk was fairly amazing for getting a simple UI going.
Back in the dialup days, my modem was plugged into a homebrew Linux firewall/router so that I could use the Internet from multiple machines at once. Which outside of a large business or college campus, was considered pretty much advanced wizardry back then. The problem was that I had one phone line and couldn't tie it up all the time. I wanted to be able to open a program on the desktop of another computer, click a button marked "connect to internet" and have that talk to the server to start the dialup process. And then also a "disconnect" button to hang up later. With a little text box to show any errors and whatnot. There were some half-solutions to this in existence at the time, but nothing that fit my exact use case.
I had been beating my head against various Perl experiments which weren't getting me anywhere until finally someone on IRC said, "oh, have you tried Tcl/Tk?"
Tcl was so easy to learn that I had a working proof of concept by the end of the day. Another couple of days to tidy it up. Used it daily for a few years until DSL came to my area.
I agree with this. I whipped up a small tcl/tk project, used it for years, worked everywhere. Every time I tried some other framework in Python, I always ended up stepping on rakes. Nothing ever felt right.
These days, if tcl/tk doesn't suffice for my project, then I just move onto another environment entirely.
This is a constant ask every time a thread about desktop UI design comes up. Everyone wants a new Visual Basic, nobody wants to use the alternatives. The VB language itself likely doesn't appeal to people nowadays but the building blocks the UI provided is still unparalleled and everyone has fond memories of how easy prototyping applications is with it.
1990s PC economics produced Visual Basic. Microsoft was able to write off the development cost of the Visual Studio suite as an investment in the further entrenchment of Windows -- something no third party devtools company could directly profit from. So VB was designed to be the lowest of the low friction paths to developing software that locked users and businesses into win32. The single platform focus (supporting other platforms would have defeated the purpose) also helped keep the IDE lean and speedy.
Former VB devs pine for the usability and speed they once enjoyed. But most tech ecosystems that are self-contained enough to benefit from focused/lightweight devtools can't support a player large enough to develop them. And the ecosystems that are big enough are managed by megacorps that are more interested in brokering consumer data than streamlining the developer experience. I too would love to see a renaissance of RAD but I can't figure out who would pay for it.
I have recently tried JavaFX again, and while it definitely involves some getting used to, it has SceneBuilder as a drag’n’drop GUI editor, and that is hard to beat. Plus it will run on every platform and you can choose from plenty languages.
It is a niche (let’s be honest, desktop development is also one), but it has a surprising amount of libraries available as well.
The "good old days" is now: Electron makes it easy to make a UI as expressive as you want - responsive, with beautiful animations, with whatever UI elements you'd like - and you don't have to learn anything new - just HTML, CSS, & JS (which all web devs know enough of to get by).
This has got to be one of the funniest opening lines, especially in response to visual basic.
I would begrudgingly accept electron if it had the same "open program, click button , draw a button, double click button, write code" experience that VB had
I think the problem is that devs believe they need to create a unique snowflake app every time, each with it's own special sauce.
Visual basic was different because there was only one way to create a button, so no way to over engineer a new button component. All apps looked the same and nobody cared.
Visual Basic had control styling and the ability to even create custom components as well. For example, I created a textbox control with built-in validation logic in a matter of minutes and was able to drag/drop the control like any other native control onto forms.
I never cared much for VB as a language - but the IDE around it and the ability to very quickly create complex GUI applications was phenomenal.
"The problem" might be that people in this thread and others get frustrated because others have different goals than them.
Of course Electron is overkill for a single-button application. But Visual Basic is absolutely going to be a headache if you want a custom GUI.
Pick the tool that's right for the job!
I build this with Electron: https://videohubapp.com/
Good luck having infinite scroll in a gallery that is butter-smooth using something else (that also doesn't require months of learning new tools) and is cross-platform(!!!).
Making a GUI that is based on HTML and CSS and JS is also an... experience.
I have some (ancient) experience in RAD. Once per year I try picking up React/Vue/Angular or whatever is the current fashion, but I get stuck. It's just so _insane_.
I'm working on a project and have been thinking along the same lines. Are there any modern cross-platform tools any language that are good for building like the good old days?
A few days ago I tried getting a simple PyQtWebengine example working using pyqt6 and failed miserably. It was a frustrating experience for sure