5 ms·
my understanding was that java was originally envisioned as a runtime for iot. i remember reading a lot about how they were expecting it to land in cell phones,
by a-dub 5y ago
my understanding was that java was originally envisioned as a runtime for iot. i remember reading a lot about how they were expecting it to land in cell phones, set top boxes and other internet connected devices.
they started with applets in the browser. at the time javascript was incredibly immature and used mostly for client side validation of form fields; but was hated by users and developers alike because browser support was inconsistent leading to spaghetti code and bad ux.
java applets were also frowned upon. the jvm was quite heavyweight and would struggle to start up on the pcs of the time. the immaturity of the technology made the uis sluggish and fragile.
i don't think anyone expected it at first, but using java in web backends became very popular. i suspect this was because performance was reasonable once a server was warmed up and it was sort of turning into an ecosystem that a lot of money was being poured into. the microsoft ecosystem for internet stuff at the time was buggy and terrible, with its "systems built to run internally on corporate networks" lineage showing. on the backend, iis was known to be insecure and hard to code for and on the front end, nobody wanted to aid microsoft lock-in with client side vbscribt and activex.
the geeks wanted internet native unix based servers and the well trod options there were java, perl and php (or bespoke options built on them). nobody wanted to do strings in c/c++, further pushing towards high level languages of which java could be a performant one for heavy workloads.
ironically, the java iot dream was eventually realized by google with android. even more ironically, it's probably the most complicating and complained about part of the platform.
- myth_drannon 5y agoI don't know the numbers but mid 2000's J2ME was a very popular mobile platform. Don't know why it fizzled out.
- a-dub 5y agoahh yeah. forgot all about the wapiverse. afaik there was really only one application, and that was the wap browser which was really simple except for ssl support. i think most people didn't even realize their phones had something browserlike back then and even if they did it was tough to use. i never used it. google's sms gateway was more useful for my purposes.
- TeaDude 5y agoNot a J2ME developer but I've heard time and time again that it had extremely poor cross platform compatibility and each different handset needed modifications to the source to get it to function. This was back when there were a million competing incompatible handsets. Not a fun time!
- native_samples 5y agoIt was basically sort of like the web but for mobile Java - a whole bunch of not entirely compatible and uniquely buggy implementations, to which adding features was a very slow committee driven process meaning every new feature got reimplemented in 4 different incompatible APIs first. Additionally at the time the mobile makers were totally in hock to carriers, who usually insisted on having their own app stores with totally developer hostile processes. So to even run on a lot of phones was a huge PITA because you had to get every carrier to sign the "midlet" and they had no easy process for this. So the issue was not so much Java the tech - Android proved that - but more the model around how it was managed. Android took the basic concept of J2ME, dropped the actual APIs and design-by-committee (triggering the lawsuit with Sun/Oracle in the process), created a robust open source implementation, gave it away for free and invested heavily in their app store tech. And that led to success.