Thursday, January 15, 2009

Qt Going LGPL: The Java Angle

(One of Many articles on Qt allowing LGPL licensing). Assuming that this includes the Jambi components (Java/Qt bindings), which I can't find any reference to positively or negatively, but since it's part of the language bindings and not the value-add tools I can't imagine they wouldn't, I think this is a great move for the Java community in terms of rich GUIs.

No, I'm not going to talk JavaFX. Ignore that as a distraction at the moment.

Right now, if you want to roll a thick/rich client (and yes, there are still a lot of applications that are (shock! horror!) not delivered through the browser, and that's going to stay that way) in Java, you've got a few choices:
  • Swing. Gag. Even with Nimbus (only available if you've got 6u10 pushed to the desktop), it's ugly, and no matter how good the Windows L&F gets, it's never going to look native in any way. Swing is also an example of precisely why Java needs closures.
  • SWT. SWT would be much better if JFaces was more advanced (I don't want my apps to look like ass, but I don't want to go back to AWT-level programming either), and SWT was more documented, and there were really people using it for things other than Eclipse plugins. Yes, I know there are some other uses, but not a ton to be fair, and so not a lot of example code to copy.
  • Qt/Jambi. Very well done MVC programming model (signals and slots, but with no preprocessor, so it's all Java toolchain friendly), looks native. Oh, and you can embed WebKit.
Honestly, I think this is a really positive thing for Java to have a rich GUI framework that's easy to work with, and looks good. Lord knows we've been waiting long enough for it....
blog comments powered by Disqus