At least there was a distinction between web of documents (WWW) and shipped apps with custom canvas. Rendering apps with web’s DOM is stupid. It makes websites a mess and relies on everyone using the same monoculture of browsers (like we now have Chromium, WebKit and Gecko, all nearly identical).
If browser does not support one feature (like CSS’s transform), the whole house of cards breaks. It’s like making ASCII art in notepad and then expecting everyone to use the same notepad app with the same font and style, to not break our art proportions.
We need to split web into websites and webapps, with webapps being browser dependent or full custom canvases and websites being immutable human-readable and editable format.
With Java at least, that was by design and arguably a good thing. Instead of the bastardized “web apps” we have now that try to shoehorn an application into a web page, Java Web Start was designed to run a full-featured desktop application (complete with Swing UI that mimicked the native OS’s UI) with its own windows and such, just launched from a hyperlink instead of needing to be installed.
The only real problem with it was that “AJAX” style tech hadn’t been invented yet, so it had to download the whole thing before it could run instead of streaming parts of the app on the fly, and (I think) tended to interact with server-side code with RPC calls instead of the REST style APIs that folks prefer these days.
In other words, it failed mostly because it was ahead of its time, and Electron apps/PWAs are merely a poor reinvention of it.
AJAX is a JavaScript specific technology, Java applets had access to full network stack so it could do whatever it wanted in this regard. Java supports natively custom classloaders which could dynamically load classes from the network, but it’s not widely used and I don’t know if applets leveraged that.
Java applets had access to the full network stack, so you could use REST style calls or RPC styled network calls if you wanted. Java applets also had native RPC capability (with network being transparent), perhaps that’s what you mean. But all this is an implementation detail invisible to the user and not a reason why applets sucked.
I disagree. They sucked, because they were kinda something between desktop app and web app, largely combining disadvantages of both.