8 ms·
Every time I see something like this I think back to the glorious days of Borland Delphi with it's beautiful drag&drop GUI builder.
by Okkef 6y ago
Every time I see something like this I think back to the glorious days of Borland Delphi with it's beautiful drag&drop GUI builder.
- colde 6y agoYou don't even have to go back that far. XAML and C# developed with Visual Studio and Expression Blend is a fantastic experience, it almost makes me wish Silverlight was still around.
- tonyedgecombe 6y agoIt's much heavier than what we had with Delphi/VB, it feels like wading through treacle in comparison.
- pjmlp 6y agoWe still have, Delphi might not be loved by younger generations, but it is still around for those that care. Same applies to C++ Builder, which MS still hasn't been able to match. C++/CX was the closest we got on VS, but then politics killed it.
- GordonS 6y agoWinForms in Visual Studio is fast enough, but working with WPF and XAML certainly used to be painfully, painfully slow! Visual Studio would grind to a halt and memory usage would go through the roof. In fairness, I haven't done any Windows desktop development for some time, so the XAML designer might be less crap nowadays.
- canistel 6y agoLazarus(open source and cross platform) is there, alive and thriving, actively developed and used. https://www.lazarus-ide.org/ https://www.lazarus-ide.org/
- langitbiru 6y agoToo bad, Pascal is not really popular. If only there were similar thing (cross-platform GUI library) but for Go or Rust languages.
- integricho 6y agoPopularity shouldn't be the deciding factor for tools of any kind.
- kozhevnikov 6y agoFor personal projects. For engineering managers, popularity of a language or a framework is a significant consideration from resourcing perspective. It is the driving force behind many migrations off Perl, i.e. inability to hire Perl developers in sufficient quantity to continue supporting Perl-based backends.
- FpUser 6y agoIn my other life I used to manage bunch of developers while still developing myself. My criteria for hiring them generally was not their proficiency in particular tool but ability to grasp programming concepts in general and ability to grok any particular tool in short time. Practical experience in particular areas of course was a big plus. Over the time this strategy proved beneficial. My team ended up having the highest salaries and bonuses in the company along with being given most interesting projects (developing new products from scratch as a rule). I still went on my own after some time as I could not really tolerate that employer/employee style of interaction.
- dgudkov 6y ago>My criteria for hiring them generally was not their proficiency in particular tool but ability to grasp programming concepts in general and ability to grok any particular tool in short time. I'm curious how did you test candidates for this? Did you give them any specific tasks to accomplish and then evaluate their ability to learn?
- omegote 6y agoQt has both Qt Designer and Qt Creator to build GUIs with drag and drop.
- toyg 6y agoIsh - Designer is basically deprecated and unloved.
- GloriousKoji 6y agoIt's not just the drag and drop, it's the drag and drop and edit (single) callback. Like drag a button in the middle, resize it, change the text and then right-click and start coding what pushing it does. Now a days it's not push button but mouse over, mouse down, mouse up, press, long press, triggered, etc. etc. and I have to manually find or create the right source code file linking itself to the GUI form file.
- systemvoltage 6y agoOmg that sounds amazing.
- 72deluxe 6y agoThis drag & drop behaviour is still perfectly viable in WinForms eg. using C#. Never quite a polished as Borland's offering of yesteryear (the GUI editor always felt clunky) but it's perfectly do-able.
- nurettin 6y agoQt and it's designer is great until you try to deploy to mobile devices. That aside, I find the non-visual components of delphi/lazarus the easiest to use when doing GUI work for the desktop. You drag a data connection, a datasource, give it a table, some filtering, connect it to a grid and the grid handles all the CRUD operations for you. Even at design time! Hard to find that ease in Qt. PS: I really love Qt. It lets me do things no other framework can easily do. I love building performant, graphically heavy and fast user interfaces. It just wasn't built for mass-producing desktop forms that are connected to a DB.
- lvturner 6y agoAnd WinForms/Visual Basic There was just something so natural about the way you could quickly throw together a UI and then hook everything up to it.
- ollo 6y agoThe Events list in Visual Studio made everything extremely intuitive and painless.
- ericcholis 6y agoLooking for my Visual FoxPro people out there
- ptx 6y agoThere are some disadvantages, though. If you're looking at WinForms or VB UI with two buttons, e.g. yes/no, there are things you can't easily and naturally see at a glance. * What's the tab order? (Usually whatever order they happened to be created in, which is often wrong after the UI has gone through some changes.) * Are they really exactly the same size or only almost the same? * How do they behave when the window is resized? * Does one button have one of its many properties set slightly differently from the other one? (Have fun inspecting them all and make sure to not accidentally change anything while doing so.) * Did you just accidentally move one of the buttons one pixel while inspecting things? I prefer doing the UI in code, so that everything is clearly spelled out and not hidden in some properties panel. In WinForms it works pretty well with TableLayoutPanel. Petzold wrote about this approach: http://charlespetzold.com/etc/DoesVisualStudioRotTheMind.html http://charlespetzold.com/etc/DoesVisualStudioRotTheMind.htm...
- g105b 6y agoAh I came to comment this. Loved the GUI builder in Delphi, it's where I cut my teeth learning to program as a teenager. Since then, I've seen .NET within Visual Studio almost get to the same quality we had with Delphi in 1995, but still way off. Now that everything's a web app wrapped in something like Electron, it should be so much easier to have tooling like this, but yet we're all still building hugely complicated HTML rendering pipelines for something that was a solved problem a couple of decades ago.
- ilaksh 6y agoI personally think the real reason those types of tools seem less common and popular today is that people remember for example the reputation that Visual Basic programmers got (by the way, I was one). Basically, any really convenient RAD/GUI tool has an association with beginner programmers or even users. The last thing programmers want to be identified with is a user. Programming is manipulating cryptic colorful text. That sadly seems to be the definition we are stuck with. You start to get into anything that involves drag & drop, you are inviting other programmers to assume you are not good enough with cryptic text. Its just a stupid psychological thing. And I think it holds back software engineering.
- catalogia 6y agoI believe that reframing the matter in terms of user empowerment might be the way forward. To create tools that help casual users accomplish tasks they might otherwise have needed a programmer for is to empower users. Excel is a classic example of user empowering software, as it allows people with the self-image of "user, not programmer" to effectively write programs, even if they may not recognize it as such. I think this reframing might help because scoffing at "user empowerment" would make somebody look like a jerk.
- robertlagrant 6y agoI sell sharp knives as "surgeon empowerment" devices. Anyone can surg!
- alfiopuglisi 6y agoActually I started to develop Guietta exactly because using the QT GUI builder (Qt designer) was often too time consuming for simple applications. Designer works great for GUIs with complex layouts. Having an intermediate XML representation puts a lot of distance between your code and your GUI. Sometimes this is good, other times is not. I rant a bit about this at the start of the introduction: https://guietta.readthedocs.io/en/latest/intro.html https://guietta.readthedocs.io/en/latest/intro.html
- punnerud 6y agoWhat is your thoughts/wishes for further development?
- alfiopuglisi 6y agoIn no particular order: radio buttons still basically unsupported - no way of grouping them. Add optional astropy units for values, maybe extending the tuple syntax: ('__a__', u.km). More difficult than it seems, because one needs to parse input strings. But very useful in a scientific environment. 'with' syntax still very limited, in particular locals() and globals() refer to the Gui class scope so for example anything imported at the beginning of the script is not available inside the with block. Unit tests almost completely missing, also I have no idea how to properly test GUI code. Meta-level: add this list to github :)
- analog31 6y agoI like the concept. I spent nearly a decade with Visual Basic, and got sick of building GUI's on the screen. It was a lot of repetitive manual labor when I didn't all that much care what my layouts looked like. Most of my programs are for limited use -- glorified scripts. I'd rather just sling a few lines of code and have it generate an ugly but functional layout for me. One thing to add is a graph.
- alfiopuglisi 6y agoIt has matplotlib support: https://guietta.readthedocs.io/en/latest/tutorial.html#matplotlib https://guietta.readthedocs.io/en/latest/tutorial.html#matpl... or were you thinking of something else?
- david_draco 6y agoGlade was the best. Drag&Drop, creates a language-independent XML file, which your program loads and populates with events. * Don't have to change the program to change the UI * Don't have to change the UI to change the program behaviour * Easy to include in version control It was almost akin to HTML and progressive JS. I wish there was a GUI toolkit where you would specify what kind of interaction you need, and it builds the right GUI elements with the right workflow following best practices by itself. Sort of like what Ruby/ActiveRecord does for databases.
- gecko 6y agoPerhaps I'm missing something, but why the past tense for "Glade"? I thought that was still a completely viable thing to use these days, but I confess I haven't done any Linux GUI dev in several years.
- david_draco 6y agoHmm, yes, perhaps I was mistaken there.
- StavrosK 6y agoI remember equivalent tools for Python, e.g. Boa Constructor: http://boa-constructor.sourceforge.net/ http://boa-constructor.sourceforge.net/ It kind of popped up out of nowhere, fully-formed, or at least I became aware of it when it was pretty mature. It's basically Visual Basic for Python, and worked really well. I have no idea why it wasn't more popular.
- simonh 6y agoI played around with Boa Constructor and WxWidgets back in the day, in fact it was the first cross platform GUI library I seriously looked at for Python, but in the end settled on PyQt. It's a lot more complete and capable, with excellent documentation. I have always preferred to code my UIs though, rather than use a GUI designer. I just find the back-and-forth between graphical designer and code an annoying extra context switch every time. Also in code I can position elements exactly, or use sizers very fluidly where GUI designers are fiddly and imprecise. They can be useful to do an initial mockup, but not much more so than pencil and paper. YMMV, we all have different visual and mental cognitive models for these things.
- rambojazz 6y agodrag&drop GUI builders still exist today.
- golem14 6y agoSecond this! I was soo excited about the Google App Maker as the cloud equivalent, but of course, they shelved the product and will turn it of Jan 19th 2021. The alternative they are touting, "AppSheets", isn't really the same and geared towards "no code".