Home > devoxx > JavaPolis 2007 – Day two

JavaPolis 2007 – Day two

Second day in the JavaPolis 2007, first talk in the morning was about Flex and specifically Thinking in Flex with Bruce Eckel (when did he joined Adobe, really?) and James Ward. In general Flex was introduced because they wanted to improve the web and user experience interacting with it. As soon as the presentation started we had a problem with the internet connection and the speakers couldn’t get any demos running so we skipped the demos right to the next slides.

The basic idea behind Flex is to build web applications that don’t make the user wait and make the interaction smoother, as well as better UI experience. At this point the internet came back and we delved straight to the web demo consisting of form validation (very impressive I have to admit). After that we saw an advanced application connecting to the database and reading/writing data from/to it. Since flex was designed with the idea of user interface in mind both demos were impressive, cool graphics, nice transitions from one state to the other, smooth colours… I now understand what all the hype is about.

Next was a desktop demo (as opposed to the previous web demos) which was an application that was connecting to ebay and was interacting with it. Again I don’t have any bad comments here, it seems that Adobe did a tremendous job on the client, not only graphically but with regards to responsiveness as well. No surprise if you think that flex has native support for several components (like events for example). I am really thinking trying Flex even if I am a server side developer myself.

All these demos were build using Flex builder plug in for Eclipse (unfortunately it’s not free although there is a two months trial version) and the free SDK. All SWF produced can be freely distributed with no license restrictions.

Before the break the speakers showed us two more application built with flex, Buzzword and Flow (very addictive game).

Second part of the presentation and the presenters went straight into explaining that flex can interact with Java web services and the web by using either HTTP or SOAP protocol. Then they went thrgough some code and showed us examples of an MVC application and one more demo applications. Actually this demo application was the first Photo Web Application designed for desktop this time. Near the end was time for Q&A. Some of the information I managed to write down:

  • There are flex plugins for UI testing.
  • The main differences between Flash and Flex is that the first is targeted to designers while the latter to developers.
  • There is a flash-lite version for mobile devices but they are still working on that.
  • Flex SDK is free but not open-source yet. We are to expect it to be open-sourced next year.
  • There is officially not maven support but some people managed to get maven working with flex.

Second talk was about JavaFX in action by Jim Weaver. I didn’t want to miss this one since I had been in the flex session and I wanted to compare (or contrast) these two babies. So, JavaFX it was for my second session. Jim was very thorough in his presentation although many people asked to see more code behind the scenes. The presentation started with some slides explaining the family of products of JavaFX (Mobile, Desktop, Web -Applets- and other) and that the JavaFX is the JavaFX script which can either be interpreted or compiled. The interpreted version of JavaFX is very stable and reliable while the compiled version has some issues which Sun is working on (the compiled version doesn’t seem to be fully working).

Then we went through the Freebase demo which is exclusively written in JavaFX and it’s basically a desktop application that connects to wikipaedia and reads data from it. In a few words you can bring wikipaedia in your desktop. This application works using the JSON protocol to connect to the web.

JavaFX is using layout widgets and binds the UI to a model. It can use triggers declaratively and uses sequences (arrays) as the main data structure. It does not support localization yet but they are working on a spec on it. There is also exception handling and it’s more like Java’s exception handling. It supports three types of data, primitives, objects and sequences (arrays). It also has several features of the Java language like foreach loop and in general the syntax is very familiar. It supports block expressions (code that is enclosed by curly brackets and separated by semicolons. The value of the block is the last statement in the code).

So what is the best thing about JavaFX? It’s all about Java. At the end of the day what you get as a compiled executable is essentially Java bytecode. So JavaFX can work with any of the existing Java libraries out there in every JVM. If your computer supports Java then it also supports JavaFX. Think about JavaFX as an easier way to write Swing applications. You abstract all the Swing source code, you write it in the JavaFX script and you compile it into bytecode. Nice one (although I have to admit it’s not as impressive as Flex yet. It needs more time to mature).

Next talk was about Apache Ivy by Xavier Hanin. In a few words Ivy is a dependency management tool. It was created in 2004 and it is currently in the 2.0 beta version (just released, in December 2007). It provides several features for a project like recording the dependencies, resolving them, reporting, publishing etc. It integrates tightly with Apache Ant and it’s also compatible with Maven 2 repositories. There are also several implementations for Ivy and not only for Java. Some more things about Ivy

  • There is an Ivy plug in for Eclipse.
  • Ivy can be used with cruise control but needs customization.
  • Ivy is not to be considered as a light version of maven. Maven is a build tool while Ivy is a dependency management tool.

Third presentation was Task focused programming with Mylyn by Wayne Beaton. Mylyn is a plugin for Eclipse that is task oriented and reduces information overloading thus making multi-tasking easier. It was written in order to make it easier to read code (the presenter said that developers only spend 10% of their time actually writing code). There is one task list in Mylyn plug in which manages all tasks in a single personalised view. It integrates well with web based task repositories and also provides off-line editing and access. By using Mylyn you don’t waste time looking through files that you don’t need since it monitors the interaction you have with the files and “remembers” what you are doing creating a degree-of-interest model. All changes are automatically grouped by task and commit messages are automatic.

There is also the option to filter tasks and only show them at specific dates (very handy for TODO comments). Mylyn 2.0 is included when you download Eclipse Europa as well as with Eclipse IDE for Java/J2EE/RPC and Plug-in developers (unfortunately it is not included with Eclipse for C/C++). The creator of Mylyn has a company called Tasktop which has extended Mylyn to work with windows specific files.

Categories: devoxx
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: