August 26, 2007

OpenLaszlo vs Flex

When talking with some colleagues on the subject: Java Swing rich client vs rich web-client RIA, we came across the new Flex2 and Flex3 technology as alternative to Web2.0 AJAX styled RIA.
I first came in touch with Flex at the JavaPolis event last year, but I wasn't too excited, being more of a desktop application guy. But when you start to think about it, it makes sense in such a comparison. It seems to improve productivity, is widely available on all common platforms, is configurable, styleable, ... what not!?
So in my search for a good comparison of Flex vs other technologies I came across another contender: OpenLaszlo - 'the premier open-source platform for rich internet applications'. After seeing the demo applications I was amazed by this framework. It's so easy to do many of the most common things and the best part is that it generates both Flash and DHTML so it's not only dependant on your Flash plugin. Flex also has a lot of nice demos, somehow feels a little smoother and now has a free SDK. Now it's just a mather of trying them out to determince which one is the best to work with. To be continued...

June 28, 2007

Swing application architecture

In my previous post I talked about a presentation I'm preparing, related to this and a course i'm teaching in advanced desktop Java development I'm thinking about 'the best practice' architecture for a Java Swing 'rich client' type of application. More specifically I'm looking for an all round solution to separate business and GUI layers, pass around events, prevent EDT blocking, (asynchronous) tasks.
After having read Desktop Java Live by Scott Delap (great book by the way) I'm not entirely convinced by his RSS Reader example., I do things differently, not necessarily better. After a talk with Karsten Lentzsch (JGoodies.com) I'm still somewhat in the dark. It looks like there is no correct answer, just some guideline into the right direction. Use PresentationModel's and an application-level model to interconnect larger graphs of PM's together. Maybe the EventBus could come in handy here, but I still haven't tried it.

May 30, 2007

Desktop Java on dope

It's been a while since I wrote here, mostly because I'm occupied with a new task besides my daily consultancy job at the client. I'm preparing a presentation on Desktop Java. More specifically focussed on Rich Client Java Apps with Swing. So the past few weeks I've been going over and over all JavaOne 2006, 2007 and JavaPolis 2006 desktop related presentations to make sure I didn't miss anything.
So far Java 6 seems promising for the Desktop developer, but as always it will take 3 or 4 more years until the businesses start adopting it. Heck I would love to just be able to start using Java 5, but the client I'm working at is still stuck at 1.4 :-( Too bad, no annotations, no generics, no SwingX or other cool components based on Java 5... I've actually been back porting quite a lot because of this. May this be a call out to all Swing component writers... preserve 1.4 compatibility for just a little longer please!

It's somewhat remarkable that desktop Java is making a serious come-back, all the UI bug fixes and improvements put into Java 6 and the promising upcoming JavaFX , Swing App. Framework, Beans Binding. Desktop Java is finally evolving rapidly, and that's good news but for now using JGoodies SwingSuite can get you started today with the technologies promised for Java 7.
Another thing I noticed is that Eclipse platform is also gaining momentum, so I'm expecting some more EclipseRCP / SWT projects in the near future.