Saturday, February 16, 2008

I've recently been fiddling with a range of Java technologies with ideas involving the application of XWork and EventBus in the context of remote rich clients. With this in mind, I've been porting some of my older applications to the newer frameworks with renewed interest in seeing how much code I can delete using the most advanced features from the various tools.

Some of the tools I've covered are:
  • Hypersonic SQL
  • OGNL
  • XWork
  • Hibernate / EJB3 Annotations
  • Spring Framework
  • SWT
  • JGoodies
  • EventBus
  • MigLayout
  • XFire
  • JGoodies Binding
  • JIDE


Most Impressed With:
  1. Hypersonic SQL - Its ease to setup and has certain deployment possibilities that are not possible with another database.
  2. EventBus - The conceptual application of this is quite broad.
  3. MigLayout - Simplicity - It makes SWT and Swing layout simple.
Most Dissapointing:
  • SWT - Binding seems horrible and JFace seems annoying to use if you dont use Eclipse. Maybe I'm not using the correct data binding frameworks or using it incorrectly. The basic component layer is incredible but the binding is severely lacking.
Most Eager to Work With:
  • OGNL - This could be applied in quite a few areas.
  • EventBus - Conceptual application could simplify a few areas.
Most Mature:
  • Hibernate - Its come along way from when I last used it and the documentation is good.
  • Spring - It still does what I expect of it.
Most Flexible:
  • Hibernate - Its event listeners are mighty useful.
Most Lusted After:
  • JIDE - If only it were free. If I were developing commercial rich client projects this would be good value.
Most Complex:
  • JGoodies Binding - Admittedly, binding is a complex problem, especially when considering Swing. (After being exposed to SWT I feel that the SWT component hierarchy has a level of simplicity around which binding might be made slightly easier. I dont think it will be less complex but there would be at least one or two layers of abstraction less.)

Having listed the above, I'll go into more detail in future posts however. I still need to look at a few gaming libraries for Java (Java 3D, AI, Swing & SWT Theming, etc).


1 comment:

Anonymous said...

Dude,

I've got to drag you out of bloatware land of Java. Try out application frameworks on Linux platforms like Rails.

Goddam, even PHP is better than Java. ;)

Install Ubuntu and join the future.

Less is more.