7 ms·
I feel like Delphi, along with maybe VB6 and WinForms, have been the pinnacle of easy UI development, and things have gone significantly downhill since then. Es
by FeistySkink 2y ago
I feel like Delphi, along with maybe VB6 and WinForms, have been the pinnacle of easy UI development, and things have gone significantly downhill since then. Especially on the web side, where even a single view sometimes requires having multiple unrelated dependencies (packers, builders, transpilers, etc.), often implicitly-configured to produce output, in head-space. And due to this dependency hell, when porting a project like this to a new platform, or just getting it to run, a slight change in the environment silently breaks the build.
- okanat 2y agoIt is the result of cheaping out by the entire tech industry. Responsive design to support multiple resolutions and pixel density was extrapolated to use a single framework (HTML+JS+CSS) for every single device that exists. Except for a few, most businesses deploy Web based apps on browsers, desktop apps and mobile phones. Usually from the same monorepo. Add developer laziness and unnecessarily tight deadlines, we end up in the current situation.
- tracker1 2y agoThese days, I'd say Flutter is the closest alternative to something like VB6 or Delphi. While I get the aversion, HTML+CSS is a pretty good combination for layout and there are efforts towards application tooling for other languages. That said, I don't dislike JS/TS nearly as much as some on here. It's a highly expressive language that's flexible enough to get things done in a number of ways. And yeah, the overhead is kind of crazy, especially when devs bring in massive dependency chains. As a whole, it's still one of the better options for getting an application "everywhere".
- jksmith 2y agoOne reason for this is when the big players move their business models over to taking your data and renting it back to you, there's no profit motive in pushing state-of-the-art ux when they just give their apps away to act like honeypots. MSFT gives their stuff away if you get on Azure. Atlassian charges 14 bucks a seat if you use their cloud. Lots of people who use this stuff have a laptop plus a bigger monitor their company bought to get their work done and it's like staring into an empty desert every day.
- pjmlp 2y agoIncluding being high level, low level systems programming, and compiled ahead of time. It is incredible that given its heritage, we have had to wait 25 years for .NET to finally provide a similar experience, and there are still some rough edges. While it offered a way to perform AOT compilation, NGEN was only meant for fast startup and nothing else.
- klipt 2y ago> It is incredible that given its heritage, we have had to wait 25 years for .NET to finally provide a similar experience It's even the same person: Microsoft poached Anders Hejlsberg, creator of both Turbo Pascal and Delphi, to architect .net.
- pjmlp 2y agoThis myth keeps being repeated. If anyone poached Anders Hejlberg, it was the ex-Borland friends working at Microsoft, under the usual referral program many companies have. Actual history behind on what happened, "Anders Hejlsberg: A craftsman of computer language" https://behindthetech.libsynpro.com/001-anders-hejlsberg-a-craftsman-of-computer-language https://behindthetech.libsynpro.com/001-anders-hejlsberg-a-c... And yes that is why .NET not having proper AOT in 2001 was such a disappointment.
- deleted 2y ago[deleted]
- Ao7bei3s 2y agoDelphi and Visual Basic 6 were definitely not the pinnacle of UI development. For example, all layout was pixel based. Making windows resizable required much complex ad-hoc code, and internationalization was hard as well. Very early in my career, I have spent person months clicking through every single screen in a large desktop application to find words cut off due to words having different lengths (measured in pixel) in different languages. I knew what "Ok" and "Cancel" meant in half a dozen languages. At the time, Java was really breaking ground with container based layouts in Swing. Delphi and Visual Basic caught up only in the .NET era.
- sigzero 2y ago"easy UI development" Java never really got that part right.
- pjmlp 2y agoYes it did, IDE tooling was the answer, and Netbeans still provides its Matisse, WindowBuilder on Eclipse, and as does InteliJ. Back in the day, JBuilder offered a Delphi like experience. What I would agree is that the thing that actually made Swing hard are the defaults, which required books like "Filthy Rich Clients" as gate into making wow Swing applications.
- RDeckard 2y ago> Delphi and Visual Basic 6 were definitely not the pinnacle of UI development. > All layout was pixel based. I'd say that was a very reasonable trade-off at the time, when most screens were somewhere between 640x480 and 1024x768 resolutions at 72 DPI. This simplified UI design sufficiently enough that VB/Delphi provided an optimal solution that, yes in hindsight, would most accurately be described as a "local maxima" for the environment and the time. > Making windows resizable required much complex ad-hoc code I remember there were ActiveX controls one could drop onto their form that would attempt to derive the layout based on initial positioning of controls, i.e. that a lower row of buttons should be anchored to the bottom of the window, while textboxes are took up a larger area would automagically resize with the window.
- 2y ago
- theamk 2y agoAgree, Delphi was extremely nice way to do UI development.. I've made many small GUIs for everyday tasks back when I was using it. Unfortunately "dependency hell" was very real -- it was super-easy to download ActiveX controls, install on the system, and then depend on them in the apps. Worse, Windows had a single ActiveX database per computer, and an control installed by a completely unrelated app would appear in the Delphi's palette, ready to be placed on a form. After having a few apps that would not work on friends' computers, I've mostly gave up on ActiveX components completely.. luckily third-party Delphi components were better - at least the compiled binaries would work. Source code still required system-wide install though... If you think that "pip install", or "npm install", or even "apt-get install" on a Linux system is bad, you haven't seen what Delphi world was like. But to be fair, it's not really Delphi's fault - all Windows development was like that, full of bespoke settings that need to be set on each PC. For a complex software, it was normal to spend a few days just setting up the system so you can do initial build. Another Delphi-specific issue was that by default forms were specified in pixels, and were hard-coded to specific font sizes; and color pickers had hardcoded colors (as opposed to system theme colors) prominently displayed. Unless you were very careful, it was very easy to make an app that could not handle different font or screen theme. And many apps that would benefit greatly from being resizable were non-resizeable instead, just because it was easier.
- badsectoracula 2y agoFWIW ActiveX specifically was really more so that Delphi is able to use the Visual Basic stuff than something native to Delphi. Components made for Delphi specifically are (usually) compiled as part of the final executable without needing ActiveX. In fact AFAIK ActiveX support in Delphi was implemented by generating a wrapper component that converted the ActiveX control stuff to what Delphi "naturally" speaks. For forms, even in Delphi 2 you can use the "align" property in several controls to automatically position them inside a container using the top, bottom, left, right and client area. The areas also stack so you can, e.g., position several controls at the top area and you'd get an effect similar to what a VBox container would provide in other toolkits. Though the initial versions of Delphi did not have this available everywhere, it was added to various controls over time. Later versions also added "anchors" so that you can drag-drop stuff visually to the form but also have them resize automatically based on the parent's size. Lazarus (sort of open source Delphi-like IDE) extended this to allow anchoring stuff related to other control (so, e.g., you could have a button's right side a few pixels from another button's left side and that button's right side be a few pixels from the container's right side, or have a label be placed at the middle of an input box, or other stuff like that).
- antonyl 2y agoIsn't Retool (https://retool.com https://retool.com) like modern-day Delphi?
- airstrike 2y agoI can't answer, because that website is so incredibly disorienting I had to close it after scrolling for a few seconds
- tomcam 2y agoThat comment seemed a little bit snide to me, so I visited the website just to prove you wrong. Unfortunately, it was so disorienting I had to close it after scrolling for a few seconds :0
- kelafoja 2y agoI was so in love with Delphi 7 (didn't care much for Delphi 8, didn't try any version after). I don't think I've ever been more excited about a programming language/environment as when I was easily and quickly creating desktop applications with Delphi 7.
- johanstokking 2y agoAnd these programs, compiled in the ninetees, still run today on modern Windows with a functional UI. Microsoft, Borland and others then built developer tools and platforms to last. I think that cross-platform (including web) and touch changed the game because it wasn’t a simple and controlled ecosystem anymore. All of Microsoft’s successors to Win32 seem to be replaced sooner or later by something else, even in the Windows ecosystem, with Win32 still being supported. Let alone the web frameworks. I also feel like this created a kind of positivity at the time rarely experienced today. I remember these Delphi conferences I used to go to as a teenager with my dad with many of the names Marco mentioned in his acknowledgments present, including himself. It was really rapid application development (RAD) without many of the stuff that parent mentions that brings so much struggle today (frontend) software development. People were having fun building software. I’m happy to see that most of these names still seem to be able to make a living off Delphi. There’s probably still a lot of critical Windows enterprise software being maintained that needs consulting and support. Including my dad’s software he wrote 30 years ago which is still being maintained and used daily.
- bluedino 2y ago> There’s probably still a lot of critical Windows enterprise software being maintained that needs consulting and support. At my old company, it took 2 years and $2 million to re-write an application in Java. That's the cheapest project that Accenture would take. So as long as you keep your legacy service contracts under that, you're fine. It might even be $3 million now with the new Java licensing terms.
- mrweasel 2y agoI worked for a company, back in 2007, who had two products, one written in C++ and WxWidgets, and another written in Delphi. The Delphi product was an online publishing platform, running on IIS. They started hiring like crazy to create a new Java based platform, they must have spend millions only to scrap the whole thing a year or two in. I left just as that was happening, as did many others. Nobody wanted to go from working on the new hotness to working on the ageing Delphi platform. I think they kept it running for another five years or so, then pivoted to an online ad platform and then bankruptcy. For online I don't think Borland, or whoever owned Delhi back then, really had the resources to keep up with everything else. Even today it's pretty expensive to buy the tooling from Embarcadero to keep projects alive, but probably cheaper and less risky that porting to another language.
- Mister_Snuggles 2y agoI would love something like Delphi/VB6, but made for web development. My day job involves working with PeopleTools, which basically does this. Draw forms (and build all of the supporting objects), save them, and they're accessible through a web browser. You don't need to know HTML, CSS, JS, etc (though it can help), and you can knock out a very based CRUD form in no time without writing any code. I think the Microsoft Power Platform has features similar to this as well. But neither of these options are very accessible to regular folks. Something that has the ease of development of Delphi, the deployment simplicity that comes with presenting the application via a web browser, and is accessible to regular folks would be incredible.
- wdb 2y agoThere was Delphi for PHP
- Mister_Snuggles 2y agoIs https://delphi.fandom.com/wiki/Delphi_for_PHP https://delphi.fandom.com/wiki/Delphi_for_PHP the one you're thinking of? This is truly interesting, and the description on that wiki page suggests that it might be exactly what I'm looking for, but it seems like any concrete information about it has vanished.
- aforwardslash 2y agoIts a very old product, and afaik it was discontinued (many) years ago. It was reasonable for crud applications, nowadays you can do rougly the same with any oss airtable clone. Could have been a great tool, but unfortunely poor marketing and lack of vision killed the product.
- 800xl 2y agoXojo Web aims to do exactly what you describe. https://xojo.com/products/web.php https://xojo.com/products/web.php I haven't really used it - I'm just a hobbyist coder who enjoys the VB6 style development of the desktop version of Xojo.
- billy99k 2y agoI remember a product called PHP builder, that was out for awhile. It was supposed to make it easier to create and deploy PHP apps. It failed within a year or two.
- LelouBil 2y agoI have barely 2 years of experience in software development, so I wasn't around doing Delphi and stuff (I vagely remember seeing a Pascal book at my grandparent's). However I feel like the current paradigm of declarative ui, with automatic re-render, like React (and what I actually use: Compose Multiplatform) is very good for producing maintainable applications and encourages UI decoupling. I agree that the dependency hell and project setup parts on the web are horrible, but I wouldn't say it's part of "UI Development".
- burgos_thrw 2y ago> I vagely remember seeing a Pascal book at my grandparent's). First time someone used “grandparent” and I could relate :-)
- tomcam 2y agoMy grandfather, on the other hand, was a gold miner in Alaska, then returned to Seattle in the 1920s just in time for the Great Depression. So I’m just a bit older than you ;)
- wejick 2y agoIs there kinda gui builder for web?
- phendrenad2 2y agoYep. I tried to find something similar. I tried Lazarus, Visual C#, Qt Studio. It's all a sad imitation of what we had with VB6 and Delphi.
- lelanthran 2y ago> Yep. I tried to find something similar. I tried Lazarus, Visual C#, Qt Studio. It's all a sad imitation of what we had with VB6 and Delphi. What's wrong with Lazarus, compared to Delphi?
- phendrenad2 2y agoLazarus is a good attempt to mimic Delphi, but it suffers from GUI jank. It uses the GTK GUI library, which in my experience is hard to get good performance out of. For example, when dragging things around it hitches and lags, instead of a smooth drag action. Another thing is the toolbar buttons are far too small for 2025. Maybe there's an option somewhere, but I couldn't find it. I also noticed that Lazarus has more buttons and options on-screen than Delphi did. This could be seen as "features" but it's also "clutter". And the extra features on-screen are not that useful, at least to me as someone who used Delphi a long time ago.
- int_19h 2y agoLazarus uses LCL, which has many backends, of which Gtk is but one. But you can also use e.g. the Qt version: https://wiki.lazarus.freepascal.org/Qt5_Interface https://wiki.lazarus.freepascal.org/Qt5_Interface. On Windows, they have a native Win32 implementation of LCL, same as Delphi did in VCL.
- baranul 2y agoLazarus real problem, looks to be that they refused to embrace using it for mobile development. Which is odd. Almost as if Delphi's owner wouldn't allow it. Lazarus seems to handicap itself, for unknown reasons. They finally and kind of have an Android solution, from an independent contributor, but it doesn't blend so well with the desktop solution.
- mattl 2y agoInterface Builder for NeXT stuff let you build a UI and test it quickly
- JodieBenitez 2y agoI'm not going to minor the merits of Delphi, but this... > Especially on the web side, where even a single view sometimes requires having multiple unrelated dependencies (packers, builders, transpilers, etc.), ... is only true if you jumped on the SPA bandwagon. Things don't have to be this complicated.
- ilirium 2y agoI was several times required to build simple web apps, and it wasn't hard. I used Python, Flask, Jinja2, Bootstrap, and maybe one or two functions from jQuery for AJAX. It was very easy, and I know only Python and basic HTML and CSS. I don't know any JS/TS because I'm a Computer Vision Engineer. These web apps show tables with data, images with figures, and some controls to request calculations or data from a server. jQuery is used to update the drop-down list according to previous choices.
- Jzush 2y agoIndeed, if you attempt to look for modern windows/mac UI development tools it's either Visual Studio/C# or nothing. It's like development in that direction has ceased. Modern languages require complex tooling to get from zero to a UI, IE Rust/Go/Python, etc.
- neonsunset 2y agoRider supports AvaloniaUI and Uno. And both also ship extensions for Visual Studio Code. You are not tied to Visual Studio or Windows (as in, you can target Windows and Linux when using macOS, or Windows and macOS when using Linux). Rust is generally anemic if you need a visual editor. Go and Python are in even worse state (there are no production-ready frameworks for Go to do cross-plat GUI app dev). The biggest alternative so far is Flutter.