interact.airmedia.org chat
Doug Sutherland
doug at proficio.ca
Fri Oct 7 11:54:46 EDT 2005
Hi Janina,
I used to work for Sun, in the Java Software division, here are a few
comments on these Java issues:
You're right that java is not intrinsically graphical. I write Java code
every day and almost all of it is not graphical. Where there is a UI
most people are using servlets to generate web pages dynamically. This
is much more efficient than using swing, although more limited in
functionality.
My opinion is that swing is way too large and complex. The original awt
(abstract window toolkit) was small and fast, but swing is huge,
complex, and slow. As a software engineer I would not recommend swing
for any application. Where there is a need for user interface I would
almost always recommend a web interface built using servlets. If a
complex GUI was required that servlets could not do, I would probably
not even recommend Java for the task.
Regarding Java applets, they are a poor implementation approach for most
things, for many reasons. Again I would almost never recommend building
an application using applets. Servlets are much more favorable, because
the end result (what the user interfaces with) is a WEB PAGE, so
anything that can view or download a web page can access it. There are
some niche areas where applets would be a good choice, basically if the
application must process on the client side, but there are so many
detriments including security problems (many people won't be able to
load/run the applets), download and execution time (slower than
web page), java and browser incompatibilities.
Regarding accessibility and Java, I think the whole idea of making a
complex GUI support accessibility is the wrong way of approaching
accessible application development. To me its like trying to stuff
square pegs into round holes. It would be better if the whole
application had a clean break (or border) between the underlying
process and the user interface, allowing the user interface to be
implemented ANY way. This would not only help with accessibility, it
would also allow adaptation to different UI devices, like a PDA for
example, or a special industrial terminal, or a non-standard screen
size etc.
Regarding the comment on "which Java" and eclipse, just a note,
eclipse is just an IDE, it's not a Java variant. Eclipse can be used
to develop C code or Java or just about anything else. The "which java"
is configurable. Swing is not a java variant either, it's a class
library. So perhaps you meant "which java class library" -- I can
write a UI using Java swing or using Java servlets or other means.
The "which java" issue is usually a versioning thing (do you have
the JRE version whatever) and in some cases there are incompatibilities
across platforms (this wasn't supposed to be true but it is), or a
different vendor or organization's java port that doesn't behave the
same way as the Sun JRE.
-- Doug
More information about the Speakup
mailing list