Following Java technology news is a little like trying to herd garter snakes. Java is deeply entwined with many different aspects of technology today. It impacts and is impacted by all of the changes going on in the cloud, mobile and related spaces. We've picked an assortment of Java trends that will be of interest to in-house developers, software architects and enterprises. We hope you enjoy our very own ServerSide blend…
Oracle should have seen this coming
Oracle has chosen a moniker that indicates precognitive abilities; so perhaps they should have known that it was only a matter of time before taking "ownership" of Java would mean taking responsibility for the gaping holes in versions 7 and earlier. Security exploits, including the infamous FlashFake botnet and RE 1.7/Java 7 zero-day exploit, severely damaged Java applet credibility in 2012. Oracle responded quickly to these threats with patches and instructions for device protection. However, many users have already abandoned Java and others are being advised to "switch off" Java in their browsers unless they know they really need it.
In 2013, Oracle will probably spend as much time trying to patch up relations with end users as they do patching up the holes in the Java environment. With HTML5 making many plug-ins obsolete anyway, it will get easier for browser users to dump Java applets down the drain like yesterday’s coffee. Will the backlash against Oracle lead the company to delay rolling out Java 8 as expected in late 2013? We won’t hazard a guess. Will Java 8 still have security holes no matter when it is released? Absolutely; there's no perfect solution and it's really not fair to expect one. However, we do think there will be increased scrutiny that may help Oracle spot and resolve problems faster.
Java faces the competition
Java isn't just facing challenges on the Web. The language itself is getting a run for its money from newer players, including HTML5 and Scala. By now, everyone's heard about the pros and cons of HTML5 and what improvements are needed/expected in the future to make it even better. But Scala is something of a dark horse. It started out of the gate as a tool to simplify testing during development. Once people got used to working with it and started enjoying Scala's take on functional programming, type systems and implicits, they started deploying it to the production environment as well.
Java has done a lot to recommend it (the Scala back end is actually a Java virtual machine), but the lure of a language that does a lot of the work for the programmer is undeniable. Joshua Suereth, a senior software developer at Typesafe and author of the programmer's guide, Scala in Depth, said Java developers can be very tempted to "cheat" on Java with the cute programming language next door. That's a natural attraction that enterprises may actually wish to encourage in 2013. "Scala offers a lot of good defaults that simplify things from a Java perspective. If your developers are starting to think with the mindset of Scala, you'll see a lot of benefit from it almost immediately." If Scala doesn't become a bigger trend in 2013, businesses may miss out.
Making nice with HTML5 for mobile
Oh yes, HTML5 is catching on in a big way. At the recent AnDevCon, keynote speaker Ethan Evans took the stage for almost an hour to talk about how Java and HTML5 work together for mobile. As Amazon's director of the Appstore for Android and Fire at Amazon, Ethan and his team paved the way in 2012 for other enterprises to follow in 2013. In other words, they did a lot of stuff that didn't work before finding out what did. While Amazon's best practices won't translate to every use case, they do provide a great set of dos and don'ts for the rest of the Android community. Hybrid Android is likely to be a big deal in the developer community in the coming year with HTML5 for the user interface and the back end handled by Java.
HTML5 offers app developers the ability to update dynamically without requiring users to update software on their device. Outside of the interaction-intensive world of gaming, it also offers quite a respectable look and feel for the user interface. Java native code does a great job behind the scenes to handle concurrent work in more than one thread and boost performance. Since fast and furious is the only speed that users accept these days for smartphone apps, leveraging the best points of Java and HTML5 to give customers what they want is a smart move.
Ethan said he is excited about what 2013 holds for the Amazon team now that they’ve improved application performance substantially, "We're now asking if we can move stuff to server side rendering. It’s self-evident that servers have bigger CPUs and faster access to our other cloud services. Can we do everything in the cloud and just push very simple, pre-composed final pages down to the device for display? That would take some of the burden off the device CPU." Right now, server side often means Java, so that could change the balance between HTML5 and Java again.
Java skills still in high demand
Whatever else 2013 holds, developers with "mad" Java skills don't have to worry about finding a job. According to ComputerWorld, 60% of IT executives are looking to hire developers in the next 12 months. Not surprisingly, they are looking for individuals with Java/J2EE skills. So, while Java programmers should probably keep an open mind about other languages, it may pay off more to take an education course that stays closer to core Java. Java in the cloud, Java embedded, Java mobile, and Java enterprise are all areas of specialization that should keep developers in the black far beyond 2013.