by Brian Kotek
Tidbits and news from the Java world
JavaFX is Oracle's attempt to allow better RIA development on the Java platform. In some ways it is interesting, but in typical Java fashion, it can also be overly complex to set up and use. Just getting the plugin to work was a battle unto itself. In any event, some clever Groovy folks have released GroovyFX, an API that wraps JavaFX and makes it easier to work with. I'm not sure that I would drop Flex or GWT over JavaFX, but this improved Groovy-based API seems like a step in the right direction.
Speaking of Groovy, some folks may not be aware that work is well underway on Groovy 2.0. Beta 3 is set for release some time this month (March, 2012). Static type checking, one of the new features in version 2.0, underscores the ongoing effort to attract additional Java developers. It looks like a fair number of Java developers have been enjoying the power that Groovy brings to the table, but aren't as taken with its dynamic features and the risk of runtime errors. The static type checking AST will let them leverage Groovy's high productivity while still allowing for strongly typed code. This seems like an interesting compromise and I'm curious to see how it affects adoption among Java developers.
This beta release brings many features of the latest version of Ext onto the GWT platform. Highlights of GWT 3.0 include support for more powerful XTemplates and UIBinding and the use of GWT's new RequestFactory. An important addition to GWT, RequestFactory creates EntityProxy objects that mirror server-side domain objects and automatically tracks changes to these on the client. When data is sent back to the server, only the changes are sent, which can result in large performance improvements.
If you've heard of the Grails framework but haven't found the time to dive into it, here's one resource that might help: screencasts. The folks at SpringSource have a growing library of screencasts on getting started with Grails. These are quite thorough, beginning with a walkthrough of installing Grails and going through controllers, views, and models. These screencasts directly target people new to Grails, so it's a perfect resource for beginners or those looking for practical information on what Grails can do.
If you use Eclipse, you might find the Saros plugin interesting. It focuses on remote pair programming, using XMPP to synchronize multiple workspaces between developers and transfer live updates to each developer?s IDE. In other words, while I type, someone else sees my changes on the fly. It also provides intuitive ways to keep track of what other participants are doing (what file they're editing) or to jump to another developer's current location. You can use "follow mode", where one developer "drives" and the other essentially watches (and hopefully makes comments or suggestions). Or each developer can go off and do their own thing (which isn't really in the spirit of pair programming, but, to each their own). If you've ever wanted to pair program but aren't in the same office, or even if you just need another pair of eyes to help you debug some pesky code, this plugin works surprisingly well.
The main portions of the Spring stack (Spring Integration, Spring Security, Spring Batch, Spring Data, Spring Mobile, and Spring for Android) are all now using version 3.1 of the core Spring Framework. That's good news for people using Spring, since the Spring Framework is the foundation for just about all of the other SpringSource projects. The list of features added in 3.1 is too extensive to list, but see the docs for the highlights. Along with the version update announcement, SpringSource also published some findings from Evans Data. The results don't surprise me that much, as pretty much every Java developer (and even .NET developer) I know uses Spring (or Spring.NET). But it's always good to have concrete numbers to back up claims of popularity and productivity.
Brian Kotek is an Associate at Booz Allen Hamilton. He's been developing applications for over 14 years, using ColdFusion, Flex, Java, Groovy, C#, and other technologies for a range of government and commercial clients.