The Source for Java Technology Collaboration
User: Password:



Evan Summers

Evan Summers's Blog

World Wide sWing

Posted by evanx on July 14, 2006 at 07:24 AM | Comments (2)

I commented in Simon Morris' "In Defence of the Desktop", on how non-database desktop apps could use a database, for example for logging. Then queries could be performed using dates and severity, eg. for looking for exception stack traces after the fact. See my upcoming Plumber's Hack 2 article, where i undertake to demonstrate this :)

Maybe you venture onsite for a meeting, and get cornered in a corridor by a user complaining that the application crashes all the time. "No worries, lemme get my magic wand from the car, and wave it over your computer, so that it can telepathically tell me what went wrong, and i can telepathically fix it for you right away - how does that sound!?" Actually i wouldn't dare say that to a user... in case they believe me! ;)

Simon quite rightly reminded me that pure desktop apps don't log - they typically throw the exception up in a JOptionPane. Maybe with a "Details" button. Maybe with a "Email support desk" or "Send Error Report" button. Supoib!

Simon said, "Perhaps this just highlights how the desktop and web worlds are so very very different?" I say that perhaps this just highlights how the desktop world is so very very diverse!? :)

As John Reynolds points out in "Why Use A Database Instead Of", most "business" desktop apps capture, manipulate and/or present data.

In short, many Swing apps out there in the wild world are very much like web apps, at least in function - eg. your database front-end business app. I would warrant that these are the ones that keep most Swing developers out there employed.

Desktop Swing apps in the fields of graphics, visualisation, etcetera, and of course the "usual" desktop apps such as media, office/productivity, gaming, etcetera, make Web and Swing database apps seem like the siblings.

So what i'm saying is that as a Swing/database developer, i feel closer to most of the "web world" than to the rest of the "desktop" world. In function, if not in form. Incidently, what is the definition of a "desktop" application? Is it strictly a 1-tier client application, that runs on the desktop, for personal productivity, never connecting to a server on a network? No, it is any (graphical) application whose user interface is not a web browser. Certainly that is a diverse group of applications!

Interestingly, as the "web" continues towards "web services" and SOA, ie. where webservers dish up webservice XML for other programs to consume, rather than HTML for people's eyeballs to consume, this lends itself towards Swing front-ends, arguably more so than browser front-ends. Certainly more so than ever before in the "web world."

Which is another reason why EJB3 is gonna be so great for Swing programmers too! :) The Java Persistence API, JAXB2, Web Services, Messaging, and other components of EJB3 are surely gonna be used increasingly by Swing clients. Is a new world of "Swing JEE web programming" dawning?


Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment

  • I'm with you Evan,Swing clients are certainly capable of blowing the socks off of most pure-Browser applications... but we must remember that they are still mostly clients for (possibly) remote services.From that perspective, the "include an RDBMS or not" argument is about whether or not to include "stubs" for the (possibly) remote services in the base JDK.-JohnR

    Posted by: johnreynolds on July 14, 2006 at 09:46 AM


  • WRT swing applications (or any really) not logging exceptions, I had the misfortune of taking on client code that was written using the previous vendors swing framework (run screaming) which was, um, lightly documented. So we ran into the obligitory unlogged errors that could be caused by their JDO implementation on top of a legacy database (again, run screaming), or the swing framework itself.

    I found a neat solution to tracking the errors by using an aspect framework (codehaus' I think) to log all exceptions thrown, one of the best uses I've found for aspect orientated programming!

    WRT to swing versus html clients, I think the 'administrative' side of most web applications could be done swing (user admin etc.). Unfortunately html has a richer codebase at the moment - last time I looked I struggled to find a descent swing html editor compared to the number of javascript based ones out 'in the wild'. It is also a lot easier to customize the L&F of html based apps (via third party).

    Brian

    Posted by: briansilberbauer on July 14, 2006 at 01:46 PM





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds