4 ms·
The writing has been on the wall for applets for a few years, as browser developers have become actively hostile toward anything plugin-based and Oracle have sh
by Chris_Newton 11y ago
The writing has been on the wall for applets for a few years, as browser developers have become actively hostile toward anything plugin-based and Oracle have shown little appetite for supporting them. However, those plugins, whether Java, Flash, Silverlight or otherwise, have served a valuable purpose for a long time and they have developed a maturity far beyond any of the trendy modern technologies that are supposedly ready to replace them.
So, I have very mixed feelings about this. On the one hand, as someone who’s spent significant parts of the last decade developing UIs that included a Java applet, the experience has become horrible as it has become more and more troublesome to actually run Java code in a browser. It sucks for developers, and it sucks for users. None of us will miss that hassle.
On the other hand, except for when browser developers or Oracle have actively changed something, I’ve had applets doing interesting visualisations in GUIs where the code has worked fine for many years, with no changes needed other than bona fide new development. Such longevity is generally desirable, but it really matters if the GUI in question is served from an embedded device where taking something out of service to update firmware is an exercise measured not in minutes but in months.
Unfortunately, browser-native alternatives such as SVG just aren’t ready to replace those Java-based visualisations with the same degree of portability and longevity yet. I could write down a list of confirmed SVG bugs I’ve run into just in this week while building a new generation of one of those systems, and it would fill half my screen. I could file some bug reports, but it turns out that sometimes people already have, and they’ve been dismissed with WORKSFORME despite several other people reporting similar problems. And that’s just functionality that is theoretically supported, where the browsers tick all the summary boxes on sites like caniuse, before we even get into things like having at least three completely different techniques for doing animation but none that works everywhere. It’s also ignoring areas where even though the technology “works”, the performance is so bad when you scale things up that some browsers can’t cope.
I am not looking forward to the amount of time I’m going to be wasting over the next few years working around the endless browser incompatibilities and breaking updates, where the old plugin-based code would probably have just carried on working if no-one had undermined it. They’ve done it with Flash giving way to HTML5 media elements. Now they’re doing it with Java giving way to the likes of canvas and SVG. And yet I can’t help feeling that these are backward steps for those of us whose job is to build working web sites and apps, and will continue to be until these new technologies are a lot more mature and standardised than they are today.
- mintplant 11y agoIs Java Web Start at all an option for you? That will continue to be supported.
- Chris_Newton 11y agoIt might have been once, but at this stage the trust is gone and we’re essentially considering Java a dead technology. The two strategies we’re typically considering for current/new projects are continuing with browser-hosted UIs, hoping that the newer features stabilise within a useful timeframe, or switching to native applications on multiple platforms and dropping the web front-end entirely, which has obvious downsides but now seems worth considering for the more stable run-time environments and much wider choice of languages and libraries.
- renaudpawlak 11y agoLongevity has a cost. It ends up with outdated support and APIs. Software lives and has to evolve. That's why now all software has CI and code coverage test to allow agile development, which was not really the case at the time of applets. IMO, it is a good thing to deprecate things (even to remove them) it forces programmers to be more agile. Some corporate should try to start thinking this way.
- Chris_Newton 11y agoHow is breaking useful, working software ever a good thing? If being “more agile” means that instead of making software that still does its job several years later, I make something that needs constant attention to stay working, then I’m OK with keeping my uncool, old-fashioned ways of doing things.