Brent Eamer said:
I am not really working on a production system, I was just curious, all
things equal, architecturally speaking, what questions would you ask before
choosing one method over another. If an organisation had an intranet, then
this would be a cheap way to roll out the application, however HTML does not
provide all the U.I widgets common in windows-type user interfaces..
If the application were to be used by a a health care system, say an
insurance claims system that the general public used then a web deployment
is probably the only way to go.
But if you had an internal app, you would have to weigh the benefit of a
rich user interface (Swing) vs ease of deployment (Browser)
So, my observation was that for complex applications, it just seemed a lot
of work to get the same functionality out of a Web based implementation
I have done both web pure and Java Swing, although granted it was about 3
1/2 years ago that I last did web stuff, so my experience does not include
the latest web technologies. With that caveat, given my choice, I'd prefer
Swing to web any day of the week and twice on Sunday. I find it much easier
to program, I can make the client much more "real-time" (term used very
loosely) without having to perform an HTTP transaction. I can also leverage
a far richer set of tools without glueing together 3 technologies with
band-aids and duct tape. Plus I am far less prone to runtime errors. Others
may disagree; these are just my preferences. And I know there is a web
technology to counter my every point, but they are a collective witch's brew
in my opinion.
As negative as I might sound on the web, I don't hate it -- I just don't
like developing in that environment. My personal philosophy for when to
apply one versus the other is: Java (C++, etc.) clients for power users, web
browser interfaces are fine for casual or infrequent users. Of course this
works best when your application is targeted for a specific audience, such
as a corporation. In such a case, the finance & accounting may get very rich
tools for a payroll system, but the average employee interfaces in a much
more limited way and can use a web browser interface. If your target
community is the Internet, well, you may be stuck with a browser interface
or be willing to write off a large number of people that have neither the
bandwidth not the inclination to install Java.