Having read a bit more about WebGL today, it’s clearly not something we can ignore. It may not be the answer today, but with this amount of buzz and backing it’s hard to imagine it not catching on really fast.
What has Java on the browser got going for it? sadly not a lot. Abandoned by Sun and crippled by Apple. The really sad thing is, it would only take a bit of effort to make it what it should have been. I guess that’s why we hang in pinning our hopes on things like pluggin2, newt, etc. But lets be realistic, thanks to flash, browser java has just gone out of fashion, and FX has already damaged what little reputation Java browser apps had left.
So the game has already changed. If we want to focus on desktop then I guess we can continue fighting with plugins and webstart. But the concept of plugin-less content is going to win out in the end…
Then we need to think about hardware. Where do you want your app to be run. It’s no longer a choice of which desktop OS’s, but also which devices. For me it’s currently the iPhone, but I’m not going to spend months working in objective-c, then switching to java for upcoming Android devices. Then back to objective-c for the tablet or whatever comes next. But my point here is that Apple have changed the game by not supporting Java on the iphone. And you could argue that even Android isn’t really supporting Java, they compile down to their own VM. A full JVM is just too heavy weight… although eventually this could change, but who is driving that?
If you want OpenGL content across all hardware (Desktop and Portable), then the only option is starting to look like WebGL. So from that side I can fully understand the buzz. Most of these devices already support ES and JavaScript out of the box, upgrading webkit or other browsers is automatic for most portable devices, and desktop users tend to catchup eventually.
So where does this leave us? Sadly, we are looking at a bleak future for Java+OpenGL. I’d love to be proven wrong, but at best it’s going to be a niche market in the end (maybe it already is). For a brighter future we’d need to see manufacturers boasting about Java support in upcomming devices, but I can’t remember that last time I saw that as a selling point on anything.
For me the above conclusion is grim. I loath Javascript as much as every other programmer I’ve ever worked with.
My only hope is that Google will absorb WebGL into GWT and allow me to to program against WebGL via Java.
Peter
[update] And so it begins… http://www.engadget.com/2009/12/03/nokia-n900-impressively-demos-webgl-3d-graphics/