The trade-off was/is that building software as easily as late 90's desktop applications is extremely difficult to do on the web; in fact, we're still not there. Surprisingly, no-one has made a Delphi (or Access) clone that runs on the web. It seems like we're getting there, but incredibly slowly and only asymptotically approaching that experience.
On the bright-side, webapps have invented some novel and useful ways of writing applications that are in some ways superior to the old ways - the ideas behind React (in particular, rendering application state as a single function), or Redux (modeling application state as a monolithic, immutable object against which reducers run) may not have arisen if not for this shift. I'd also credit JavaScript with making functional programming mainstream, a great example of "worse is better".
Another part of the issue may be that younger programmers are simply not aware of the DX of building with tools like Delphi or Access. And in turn, older programmers have forgotten the headaches of dealing with closed-source tools and the distribution headaches that came with them. (And the ones who are aware are themselves unaware of the DX of building with Smalltalk.) You cannot miss what you never experienced or do not know about.
There have been a couple attempts but they were all closed source from small developers that died (the projects) once the developers couldn't convince anyone to pay for them. Ironically one of these attempts used Pascal too (IIRC it was using a fork of Free Pascal).
There was also Microsoft's Web Forms which kinda did something similar in the early 2000s or so, though AFAIK it wasn't as "drop an exe and have it work" as programs made in Delphi for the desktop were.
I have a different perspective. I see it more as a question about runtime environment. We still have 20y old Delphi applications in production, and distribution is trivial, corporate machines have software that just installs the apps the users need based on their roles, and they autoupdate etc. My team still hates them and want to replace them with webapps, even with no distribution or ownership issues.
For us the big issue is the "it's not working for me, what could be wrong?" cases where you have to dedicate half a day or more of expert time trying to figure out which absurd corner of microsoft windows is causing issues on the particular intersection of that one application on that one entirely unique computer configuration (even after corporate management of software/policies etc), and of cause that one particular user, because what could they have done?
Web apps have the benefit that they don't run on microsoft windows, they run on chrome (even if you use edge), and chrome is a much better operating system than windows will ever dream of being. It even fulfilled java's pipedream of being cross platform (well effectively from a user perspective anyway).
I left web development and have been having the time of my life. Web dev is nothing but stress and pain. The first relatively pain free web dev experience I had was using Vue3 (not counting Laravel ten years ago).
Distribution is easy. It's just that in many companies it is hard to convince IT to distribute your software, while it is perfectly fine to have a web browser on the computer.
Isn't that the definition of hard?
No, that is the definition of "a different problem":
- distribution: easy
- convincing an organization: hard
I like to make my software single html files whenever possible. People can just save them and run them locally. Havent met anyone who cares yet though.
It means owning the code and the data. With webapps, the code and data are hosted and owned, the users do not own the code, cannot run it independently. This is a clear dileneation between owner and user, and the owners can use that clear line to create artificial scarcity of various kinds. (The most popular being the subscription SaaS model). It's also easier to defend your IP since end users never see your binaries.
> I like to make my software single html files whenever possible. People can just save them and run them locally. Havent met anyone who cares yet though.
I like that idea a lot, and I care. I think others care, but yes, it's a niche interest. Take a look at https://tiddlywiki.com/ for an example of a fairly successful project that uses the single html format running locally. However it suffers from limitations on File|Save which often requires a separate runtime of some kind to support.
Another project that approaches this ideal is https://redbean.dev/, @jart's tiny, performant, featureful single-file webserver. In this case the "single file" is a server executable + zip whose state must be updated on the command-line, but I think hits a sweet spot in terms of practicality, and a global minima when it comes to minimizing dependencies. (Redbean bundles SQLite and Lua so it's also possible to do through-the-web state updates as in a traditional webapp.)
My own project, Simpatico, aspires to be something along these lines.
renamed later to RadPHP and then abandoned.
I had tried it out briefly, but dropped it because it was too buggy.
Later they killed it.
Yes they have, but many aren't willing to pay for their tools, so only big corps get to see them, see OutSystems.
Also WebForms and now Blazor, are pretty much it.