University of Cincinnati logo and link  
GUI
 

 

Graphical User Interfaces (GUIs) in Java

 

In Java, we use Swing to create GUIs.  Swing is often associated with fat clients (aka smart clients or rich clients).  These programs are often stored on the user's computer and invoked via Start-Programs.  

On the other hand, thin clients, or web-based programs, are often accessed over the Internet.  Little, if anything, is actually stored on the end user's computer.  These programs are centrally maintaned on a server, and invoked with a URL in a browser.

There's a significant amount of debate over which is better - thin clients or fat clients.  Java fans often argue for thin clients, while Microsoft fans often argue for fat clients.  What might their motivations be?  What are advantages and disadvantages of thin clients and fat clients?

The debate will likely contine for some time, but the lines are blurring.  At one time, we defined a thin client as a browser-based product.  But now, with browser-based software that uses heavy ActiveX, and may be browser and operating system dependent, many fat clients are finding their way to the browser.  The browser itself is no longer an independent piece of software.  In many Microsoft operating systems, the browser and the operating system are one.