Skip to main content

Mind Games

Posted by editor on August 23, 2007 at 8:53 AM PDT

What are Java developers really interested in?

Our current Poll, which ends tomorrow, asks readers "How interested are you in learning JavaFX Script?". Javalobby's Michael Urban took a look at the results and concluded that since a majority was either disinterested or didn't even know what JavaFX Script is, that it's in trouble, a case he makes in JavaFX: How Much Interest Is There?

Despite the fact that JavaFX is receiving quite a bit of press in Java land, with how-to articles and such appearing on the Java desktop community site, actual developer interest, according to the poll (again, with standard disclaimers applied), seems fairly low. This raises a few interesting questions in my mind:

For my money, this is a massive mis-read of the poll results, something I banged out as a first post to the story. As I see it, the results show over 40% of respondents expressing some positive level of interest in JavaFX Script. And that's quite good for a number of reasons.

First, and probably most obviously, there's the fact that server-side Java developers outnumber client-side developers by a significant margin. Someone at JavaOne said the factor was around 10 to 1, and speaking subjectively, that sounds about right. Another way you could gauge this is job demand: lists 159 hits for "j2ee" in Atlanta, while only 8 for "swing". So, given the massively disproportionate focus within the current Java community on server-side and enterprise technology, finding that 40% want to learn more about JavaFX Script is actually a remarkable expression of support and interest. If the sample pool is in any way representative of the overall Java community, then there must be some server-side guys and gals looking over the wall to the client, and JavaFX in particular, and being at least a little interested.

Secondly, how many topics of any kind are going to draw a lot of interest from the Java community? We had a wide-ranging discussion on the O'Reilly editors list earlier this week -- all of which sprang from the innocent question "when is Java in a Nutshell 6th Edition coming out" -- that got into the questions of what the Java community wants from media companies and publishers and what kinds of products and services are viable. One of our book editors wisely pointed out that the Java community has seen massive fragmentation, with many frameworks and products competing in each of many spaces. This is good for the community because of diversity and competition, though it's challenging for publishers; it was easy to do a book on Struts, but how do you address Struts' successors when there are so many of them, and none commands more than a 30% share?

Now take this fragmentation, and understand that it is not only fragmentation within topics (Struts vs. Spring vs. EJB, Swing vs. SWT, a million different approaches to Ajax, etc.), but that the topics themselves range from enterprise concerns (web apps, SOA's, persistence, etc.), desktop GUI's (widget frameworks, multimedia libraries), mobile software, etc. The Java world is huge, and given that, what topics could you ever find that would be relevant to a majority of developers? Cooper pointed out the other day that the most solid Java books he's seen recently are on a few topics that are relevant to nearly all developers: concurrency, collections, and I/O. But how many more topics are there out there like those?

Tim asked if he could use our discussion as the basis of a Radar post, which may appear at some point soon. But for our current purposes, let's look back to JavaFX Script. Almost 60% of our readers say they aren't interested in it... fine. Given the fragmentation of interests within the platform and the diversity of Java pursuits, I think it's remarkable that an emerging user-facing technology can potentially appeal to 40% of the readership, and we will be looking into ways we can meet that need for that audience, as well as continuing to find material of interest to the other 60%.

Speaking of server-side developers looking to go user-facing, today's Forums features a post from someone looking to do just that. titanicemerges asks How to Decide on Product(desktop appl) Architecture.
"I am newbie here and also to desktop applications... All these time in my career been in the web services.Now in my company, we are trying to develop a product, clearly a desktop application .The main theme of the application is to MAINTAIN A LOCAL REPOSITORY AND A FRONT END FOR THIS... We thought about webserver for the local transactions and not able to decide on any thin web server. THE MAJOR PROBLEM IS MOST OF OUR TEAM ARE WELL VERSED IN JSP,SERVLETS AND OTHER WEB SERVICES AND NEW TO DESKTOP APPLICATIONS..... The fix we are in right now is what sort of architecture we need to stick to for our application. Could anyone help us out how to go about deciding a desktop architecture as a startup."

alanb has an update on some shutdown issues in the thread
Re: Ordered shutdown actions.
"I realize this is slightly off topic from your original post but there has been a number of attempts to resolve the deleteOnExit issues on Windows. The main issue, as you probably know, is that the have always (since jdk1.0) opened files without specifying the delete sharing option. It would be great, and trivial, to fix this but we always need to be careful about changing something that applications may be depending on. To avoid changing long-standing behavior, one of the prototype fixes involved a special shutdown hook that closed open streams before the deleteOnExit mechanism was invoked."

hgpimac explains ME security policies in the thread
Re: Signing midlet.
"The Sun Java Wireless Toolkit includes four protection domains: * untrusted - Provides a high level of security for applications whose origins and authenticity cannot be determined. The user is prompted frequently when the
application attempts a sensitive operation. * trusted - All permissions are granted to MIDlets in this domain. * minimum - All permissions are denied to MIDlets in this domain * maximum - All permissions are granted to MIDlets in this domain (equivalent to trusted.). When you press the Run button to run your application in the emulator, your code runs in the untrusted protection domain by default."

In Java Today,
a short JSF News item over on The Aquarium notes that Intuit has chosen Java and JSF for its landmark move to a web-based application. CNet's Intuit building Quicken Online reports that "Intuit is planning to release a Web-based edition of its leading personal finance application this winter, possibly early in 2008." Looking at a development version, they report that "the Java/JSF interface appears to mimic the desktop counterpart, highlighting current Money In, Money Out, and savings or debt by drawing from savings, checking, credit card, and investment accounts." Closed testing is underway and a limited public beta will begin September 10.

File upload is a basic function of today's Web portals. In the article Develop an Ajax-based file upload portlet using DWR, authors Xiaobo Yang and Rob Allan describe how to develop an Ajax-based file upload JSR 168-compliant portlet using DWR (Direct Web Remoting). DWR is an ideal Ajax framework for Java developers that dynamically generates JavaScript based on server-side deployed Java classes. You will learn how you can use DWR to retrieve file upload progress from the portal server.

A Government Computer News feature article looks at the March of the scripting languages on the JVM. "By giving Java programmers more options about what language to use, they can gain more flexibility within their preferred development environment. And by opening the JVM to other languages, non-Java developers can use the rich set of Java functions." A companion blog looks at scripting language performance on hte JVM and concludes that Ruby's easy but Java is quicker.

In today's Weblogs Gregg