5 ms·
Its crazy to me how much more difficult its become to "whip up a quick GUI". Back in the 90s, using fairly lackluster tools like Visual Basic / FoxPro / Delphi
by _red 8y ago
Its crazy to me how much more difficult its become to "whip up a quick GUI".
Back in the 90s, using fairly lackluster tools like Visual Basic / FoxPro / Delphi, you could design and create a basic GUI a few minutes. No one needed to install 2GB of dependencies to either create no run these programs.
Now, just getting an IDE setup to handle creating a "quick GUI" is a mission. I'm at a loss at why technology moved so backwards with regard to something as essential as this...
- meredydd 8y agoThe short answer is, "the Web happened". The Web platform is a stack of approximately five[1] different programming languages (SQL/Python/Javascript/HTML/CSS). Each layer generates source code for an adjacent one, creating a level of cascading complexity which makes it impossible to create a workable a WYSIWYG GUI editor like (eg) Delphi's. We cut the Gordian knot in Anvil (https://anvil.works https://anvil.works) by replacing pretty much everything in that stack with one language (Python). You need to get rid of that complexity if you want to get anywhere close something like Delphi. Anvil got pretty well reviewed on HN a few months back: https://news.ycombinator.com/item?id=15584124 https://news.ycombinator.com/item?id=15584124 -- [1] - You can quibble about the exact number of languages, but they all have syntax and they all have source code you need to edit and run to see a result. And a successful injection into any of them is usually game over.
- jimnotgym 8y agoI like Anvil, but the use case is different. I sometimes have to write little enterprise apps to do little things around an ERP What I want is to do that little thing and build it into an installer that my IT team can just install.
- meredydd 8y agoHonestly, if you're looking for a local (Windows) executable, those old 90s tools (VB, Delphi, Xojo [aka RealBasic], even C#) are still great! They're just as good as they were in the 90s; it's just that demand has moved to the web (or mobile). If what you want is a 90s-shaped experience (installable desktop app), then the best of 90s-era dev tools still kick ass. (It's sad that open source stuff hasn't caught up, but that's mostly because everyone's been focused on...the web.)
- mlevental 8y agowhat's the best cross-platform solution of that bunch?
- fredsanford 8y agoLazarus is very similar to Delphi and is Open Source (L/GPL) If you're looking for the '90s GUI experience, you likely cannot find better. It works on Windows, Linux and Mac and possibly the BSDs. https://www.lazarus-ide.org/ https://www.lazarus-ide.org/
- jimnotgym 8y agoJust imagine a Lazarus but for Python. It would be the worlds most popular application.
- Data_Junkie 8y agoBoa-Constructor. We had that years ago but it never got popular for whatever reason, at the time it seemed spectacular. Think it's in the Debian repository. http://boa-constructor.sourceforge.net http://boa-constructor.sourceforge.net
- jimnotgym 8y agoThanks for that, I found some later work on bitbucket. I would love to understand what held this back from success. I suppose no-one would take it seriously now unless it used Qt. https://bitbucket.org/cwt/boa-constructor/overview https://bitbucket.org/cwt/boa-constructor/overview
- jimnotgym 8y agoI don't really see it as a 90's shaped experience. Business applications (ERP in particular) are still very much based around a desktop client. In fact many of the attempts to move ERP to the browser have been significant compromises, or the web client becomes the cut down version. Part of that is the eco-system of Windows. Most businesses are running Office, and the ERP's come with close integrations with Excel in particular. And before anybody says it, the web version of Excel and the Google equivalent are very significant compromises for power users like accounts staff. I think the desktop application remains the gold standard of enterprise software. Most of the 90's stuff transitioned from VB to VB.NET and C#.NET and along the way lost some of their ease I feel. I couldn't code in any of those old favorites due to compliance issues demanding up-to-date software. So it is back to Visual Studio and WPF...
- geezerjay 8y ago> fairly lackluster tools like Visual Basic / FoxPro / Delphi, you could design and create a basic GUI a few minutes. Those techs were designed specifically to help users whip out a quick GUI, but aren't very good at anything else. Qt is a cross-platform GUI toolkit developed for C++. To make a reasonable comparison, compare the Qt examples with MFC, which is still a thing that creates jobs and careers.
- jimnotgym 8y agoI don't take op comments as a criticism of Qt. I think he was just lamenting that there isn't as easy a way to build a GUI app as there was in 1999! I agree, and have to say that a Delphi-for-Python would be hugely successful in the SME getting-things-done space. I wish I was skilled enough to write such a thing.
- jimbo1qaz 8y agoSadly Win32/MFC has no support for hierarchical/structured layouts, only static widget positioning. As a result I refuse to write my own apps in Win32 GUI out of principle.
- pjmlp 8y agoThat is what WPF and UWP are for.
- androidgirl 8y agoFor just "gui-izing" a command line app written in Python, there's the package Gooey, which creates a Ui from an argparse object.
- glandium 8y agoDoesn't Qt creator fill this need for Qt? (real question, I've never used it)
- franga2000 8y agoTo me, Qt Creator seems more similar to Android Studio than Visual Studio. The GUI creator for VB was effectively MS Paint for widgets. QML has a layout system, data binding and loads of other great features that are a godsend for 'proper' apps, but are hard to avoid for the 'buttons, inputs and hot glue' approach I remember from my VB days. GNOME Builder seems to be one step closer to VB in that regard, but I've only done a bit of testing with it.
- enygmata 8y agoYou don't have to use QML/QtQuick. Qt Creator inherited Qt Designer code so you can also use it for traditional interfaces.