As rich Internet application (RIA) technologies mature and become more widely visible to developers, inevitably they will cross with established technologies, like Java. A recent blog post from the game development company Sharendipitous Moments, entitled “We’re Moving to Flash. Here’s Why,” created discussion on whether Java is losing ground to RIA technologies, such as Flex.
The post starts by recognizing that Java is still a superior technology:
The Java language is way better than ActionScript and Java compilers are much more advanced. There are also more possibilities with Java. Moreover, even though Flex Builder is built on Eclipse, the Eclipse development environment for Java is years ahead. I say that with no bias, having just finished porting about 800 classes and nearly 60,000 lines of Java code to ActionScript.
The major reason for Sharendipitous Moments’ switch to Flash-based development (Flex) is the Java brand. In this respect, the post notes:
Java’s brand is failing. JavaFX has long been touted as the solution to Java’s woes, but it has been too long in getting released. In the meantime, Flash has continued to dominate. Silverlight has come on as a competitor, but it will be years before it has the same kind of market penetration as Flash.
According the post, the result of the brand failure is, “If you see the Java applet loading, you click every visible link that you can to get off the page.”
Many developers can’t agree with Sharendipitous Moments’ decision. As one developer complained:
None uses Flex for anything serious out there. But, the blog writers disagree for some reason. They all talk about how Java is bad, and Flash is really awesome. JavaScript JIT-capable browsers are hitting the market. Are you aware of that? It is not Java that Flash should be targeting but completely browser-based applications. At the same time, Java will always be there living either at the server or the client.
Nevertheless, some developers shared experience similar to those reported by Sharendipitous Moments. For example, Frank Sommers, a Senior Editor with Artima Developer, comments: “I also just finished migrating a large Swing app to Flex, and my experience has been very positive. The only thing I really miss is a good IDE, such as IntelliJ. Flex Builder 3 has a long way to go before it gives you similar productivity features.”
Blogger Ken Russell from Sun joined in as well:
It’s disappointing to hear that Sharendipity (one of the featured JOGL apps) is moving to Flash. We just completed a major rewrite of the Java Plug-In in Java SE 6 Update 10, which makes Java applet deployments more reliable, powerful and portable. 6u10 is available for Linux, Solaris and Windows now, and we at Sun are actively collaborating with Apple to bring it to the Mac. It is the first in a series of steps being taken to revitalize client development on the Java platform.
Martin Wildam, a software development consultant, takes a more moderate view:
I think your decision cannot be generalized. From the view of the default user, I can imagine that you are right that they might click away earlier when they see Java starting. However, I also remember Flash things loading for a longer time. Users might not be aware of that because different animated stuff is presented to them. If they always saw the same Flex-loading-logo, they would also be likely to click away.
Java World observed:
Meanwhile, Java Lobby has a helpful article that will help Java developers jump ship to Adobe's RIA platform. If that's not bad enough for poor JavaFX, Frank Sommers over at Artima Developer feels that the still infant RIA language is stealing valuable development time from Swing.
The author of the post, Dale Beermann, summarized the discussion, commenting,” I love this dialog. This is a huge decision, and I’m eager to hear what everyone has to say. Keep it coming.”