I recently had a chance to evaluate and Gradle and I am impressed by the Groovy based scripting feature it provides. It is really possible to make sophisticated build scripts using scripting constructs like looping and if checks. The functionality to selectively disable parts of the build on the fly and make build decisions based on some condition really makes it a winner and a clear choice for Java based development. It has support for using Apache Maven and Apache Ant build scripts as well inside the Gradle build script which means current investment in Apache Ant and Apache Maven remains intact. I think I am going to give Gradle a serious try in my next project and if it performs as I hope for I am going to switch to Gradle for good.
I am die hard Apache Maven fan for all my Java based development and configuration need. In spite of all the criticism it has received over the years I have remained a staunch supporter of Maven. I delved in Apache Ant whenever I needed some extra punch in my Maven build scripts. The XML based configuration although at times felt very verbose but it did work and it was possible to write portable build scripts that worked everywhere. However if Gradle allows me to write Groovy based scripts inside my build script then I think its time to switch to Gradle.
When JavaFX was launched in 2007 I had thought that Sun had already lost the race of RIA and RCP platform to Silverlight and Adobe Flex. Plus the fact that JavaFX required the developer to learn a new scripting language was a big turn off. Although it’s not a big deal to learn something new but re-training an entire team on something new when a better replacement is available was simply a tough thing then. I could have designed some of my projects using JavaFX but I consistently used Swing as I felt it was the better framework.
Fast forward to 2011 JavaFX was re-launched and the need to learn a new scripting language is no longer there. It is possible to reuse developer’s Java knowledge and become productive in JavaFX. If I had to start a new Java Desktop based project I would definitely try JavaFX before delving in Swing. Agreed Swing is a proven and mature UI framework but there are limits to what Swing can do. Maybe JavaFX has a future now that Oracle is pushing JavaFX 8 later part of this year. JavaFX 2 to JavaFX 8 seems like a quantum leap in terms of version and maybe it might counter balance Swing in terms of performance and maturity, but again who knows the future 🙂
I personally think now that Silverlight is a stalled technology and it’s unbelievable that Microsoft was not able to push it to dominance. It is grimly evident with the news that Netflix ditched Silverlight in favor of HTML5. Adobe Flex looked like a clear winner 6-7 years ago but given the fact that now it is open source I think it is clear that Adobe is politely walking with away from Flex with some contributions from it’s end now and then from their ‘dedicated team’.
This brings us back to JavaFX and I must honestly say that I still find it unbelievable that it is still around and might become the UI framework of choice of Java based desktop application software. I don’t think JavaFX has a future inside browser but it might become a framework of choice for Java’s desktop requirements.
For browser based development nothing beats HTML5 I think. Love it or hate it I think it is bound to be around for considerable time to come. It however remains to be seen how well it is supported by different browser both on mobiles, tabs and desktop OS.