After watching and re-watching the Windows 8 keynote, I kicked off a download (still in progress, damn u 512Kbps) to get the 32bit ISO so I can try out the software for myself. During this time of waiting and dreaming of what to build to test the platform, I’ve been considering our beloved Java, particularly JavaSE and where it fits in with the bold re-imagining of Windows.
In watching the keynote and seeing all the application and platform improvements demonstrated, Microsoft seem to be pushing the new “app” agenda similar to what iOS and Andriod are propagating , i.e. we don’t only need to have a “website” for a company product, we also need to have a mobile or desktop application to support that website and consume data via web services. Examples can be seen in the various Photo and RSS applications demoed in the keynote. That being said, Microsoft, Apple and Google all seem to be pushing for re-investment in “desktop” (including mobile desktop) application development, and the tools all seems to point to that fact.
Java Desktop application development has all but dwindled in the past year and the strongest applications are currently in house applications or IDEs like Netbeans. Most other general consumer applications are all but non-existent and the webosphere is seeing less and less talk of Java Desktop development. Coupled with this, is the fact that Oracle’s new moves to make JavaFX the new standard for Java App and Applet development seems to be taking longer than expected. Hopefully, JavaOne 2011 might change all that.
The big question now is where does JavaSE fit in all this bold re-imagining? Oracle/Sun have done a great deal of work over the past few years to get Java to work pretty well on Windows and become as natively integrated as possible, but with the re-working of Windows, Java will be confined to the “legacy” application section for the time being, and will not be able to play with the new cool kids in the “Metroverse”. I wonder what steps Oracle is going to take to make Java still a viable product in the new Windows 8 platform, or will they simple give up and require us all to move to platform specific programming again, like C#?
I particularly love Java because of the cross platform nature, but I personally fear I may just need to completely hang up my Java Desktop development boots completely in the near future in favour Visual Studio and HTML5. Perhaps moving forward, we may just need to completely write off Java as a consumer desktop application development language and stick to using it primarily for server side developments. After all, PHP has had that as its primary focus is is doing pretty well there, and there are now pretty strong contenders for Java Web App development in the form of the Play Framework and others like it.
This is all too soon to call, but the battle may already have been lost. Java in my opinion is beginning to have an identity crisis: it is extremely powerful and useful but I personally struggling to know what to build with it these days.