This week's book giveaways are in the Java EE and JavaScript forums.
We're giving away four copies each of The Java EE 7 Tutorial Volume 1 or Volume 2(winners choice) and jQuery UI in Action and have the authors on-line!
See this thread and this one for details.
The moose likes Swing / AWT / SWT and the fly likes Scott:  The Desktop Rich Client Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of The Java EE 7 Tutorial Volume 1 or Volume 2 this week in the Java EE forum
or jQuery UI in Action in the JavaScript forum!
JavaRanch » Java Forums » Java » Swing / AWT / SWT
Bookmark "Scott:  The Desktop Rich Client" Watch "Scott:  The Desktop Rich Client" New topic
Author

Scott: The Desktop Rich Client

Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15299
    
    6

There have been a lot of talks, especially recently do to a blog on java.net, about why developers aren't shipping Swing clients to customers. I was wondering what you felt is keeping Swing held back and does your book address any of the current concerns about rich clients in general and how to overcome those hurdles with respect that everyone seems to think webapps are best these days.

Thanks.


GenRocket - Experts at Building Test Data
Scott Delap
author
Ranch Hand

Joined: Apr 05, 2005
Posts: 73
There have has been a lot of blog posts in recent weeks (Joshua which you mentioned on Java.net included). I think a number of things have contributed to Swing and rich clients in general being where they are today. Swing got pegged with the stereotype that is was slow. This is just now starting to shake off. The .com buzz combinded with J2EE etc made web applications the hot thing in terms of developer mindshare the last few years. Finally, desktop frameworks didn't rise to the top the way Struts, WebWork, Tapestry, etc have on the web side. Right now I think things are changing for the better. Companies are realizing that they can't easily get interactive functionality they need with a browser based application.

Now as far as what is holding Swing back / moving forward.

1. Deployment - Webstart is making inroads in this department, but I think it needs to simply just work for users. Until that point you can't use it for massly deployed commercial apps especially. In a corporate enviroment you have some room due to standard configurations on PC's, etc.

2. JRE - Related to deployment is the JRE. The only way to guarantee that things work is to ship your own JRE. I've seen some blog posts where people have gotten this down to 7mgs or so with compression and removing unneeded classes. Sun needs to make a commitment to getting Java on machines and upgraded with new releases.

3. Evolution of Frameworks - There is still a lot of code that is written and rewritten on the desktop side. I'm hopeful that projects like JDNC and Spring Rich will cause desktop developers to start reusing and enhancing libraries more so there is less total work in getting a Swing client started and working.

The book addresses a number of areas where developers typically have struggles with Swing. The first few chapters go into detail about easing the issues of laying out components. Using the JDK included layouts, placing components is more difficult than creating HTML. I go into things like creating reusable builders to cut down on the code created to build a form. Chapter 5 (which I think is going to be the sample chapter) is a detailed explaination of desktop threading. Finally, chapters 6 and 7 cover Data Binding and Validation using the JGoodies frameworks. These two frameworks can greatly improve application construction time and code simplicity.

The game plan at the moment is to write a sample application in the first few chapters after the 1.0 release. Then I plan on coming back around chapter 10 and doing an entire chapter on client/server communications issues. This chapter should be of particular interest from a rich client perspective.
Ko Ko Naing
Ranch Hand

Joined: Jun 08, 2002
Posts: 3178
Originally posted by Scott Delap:
Chapter 5 (which I think is going to be the sample chapter) is a detailed explaination of desktop threading.


Hi Scott,
Will the sample chapter be available during this book promotion so that we can scan thru the chapter and shoot some questions on you? Chapter-13, JDNC is also interesting to make it as a sample chapter for us to have a look at... Or is it the main chapter that will raise the sales of the book? Thanks...
[ April 05, 2005: Message edited by: Ko Ko Naing ]

Co-author of SCMAD Exam Guide, Author of JMADPlus
SCJP1.2, CCNA, SCWCD1.4, SCBCD1.3, SCMAD1.0, SCJA1.0, SCJP6.0
Zulfikar Dharmawan
Ranch Hand

Joined: Feb 01, 2002
Posts: 74
Originally posted by Scott Delap:

3. Evolution of Frameworks - There is still a lot of code that is written and rewritten on the desktop side. I'm hopeful that projects like JDNC and Spring Rich will cause desktop developers to start reusing and enhancing libraries more so there is less total work in getting a Swing client started and working.


I totally agree with you. I myself used to be a desktop application developer. It was quite a struggle to develop one deliverable application for client. However, it's not the case when we switch to web development. Struts make sure that our previosly done project can still be applicable for other client's applications.


Zulfikar Dharmawan
SCJP1.4, ICS DB2, ICD Websphere
Axel Janssen
Ranch Hand

Joined: Jan 08, 2001
Posts: 2164
Hi Scott,

I find your plan very interesting. Book appears to be directed towards writing swing applications using frameworks like the JGoodies Validation and Data Binding (something I wanted to play with some time yet).
Also using spring on the desktop sounds promising.
Not yet another discussion of a swing api (a lot to discuss for sure).
What I am missing is deployment. Will there be a chapter about deployment with java webstart or other?

Axel
Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15299
    
    6

Originally posted by Axel Janssen:
What I am missing is deployment. Will there be a chapter about deployment with java webstart or other?


See here
Scott Delap
author
Ranch Hand

Joined: Apr 05, 2005
Posts: 73
There will be a chapter focused solely on deployment. There will also be a JDNC chapter at some point after 1.0. It isn't just for marketing purposes either =). JDNC includes a number of components that extend standard Swing that are worth covering. Examples of this are the JTable highligher pipeline structure and the calendar component. I'd also like to compare and constrast the binding and validation framework in JDNC vs JGoodies.
 
wood burning stoves
 
subject: Scott: The Desktop Rich Client