Kirill Grouchnikov wrote a nice article on the subject of Swing Debugging. This is still a dark area for newcomers to Swing application development. Blocking the EDT (Event Dispatch Thread) or updating Swing components off the EDT are common problem areas for newcomers and contribute to the fact that people think that Swing is crapy or slow.
Fortunately some people have contributed tools to verify against these violations, you can find 2 classes for debugging Swing here (CheckThreadViolationRepaintManager and EventDispatchThreadHangMonitor).
September 12, 2007
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...
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.
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.
Subscribe to:
Posts (Atom)