The Java client
Once the server had been written, a client was
The major constraint on the client was the fact that people on the project
are using at least four different computing platforms: Linux, the Macintosh,
OS/2 and Windows 95.
There were several options:
The AFIMS client is a relatively simple Java client with three main
- Choose one or two platforms and write a client just for those
platforms (eg. a Windows 3.1 client that would run under Windows
95, OS/2, Linux using Wine/WABI? and the Mac using SoftWindows)
- Write a client in a language that is relatively platform
independent; eg. Tcl/Tk or Python/Tk
- Write an application in C/C++ using a cross-platform application
framework, such as Qt
- Write the client in a language that has a Netscape plug-in: Tcl or
- Write the client in Java, so that it runs on any platform that
supports a Java-capable browser
- A panel of control buttons
- A canvas for charting the analyte concentrations over time,
- A status window that lists the various reports from the server
Having developed one serious application in Java, here are my initial
impressions of Java:
- There is a lot of hype to wade through...
- There is a vast array of books available that purport to teach
everything there is to know about the language and the majority
of them are atrocious.
- The language is still evolving, as are the associated libraries
(AWT, etc.), and this shows in many places.
- Performance is barely adequate at times.
- The development tools under Linux lag behind those available
on other platforms (Solaris, Windows 95, Macintosh). Such is
- Knowing C++ seems to be more of a hindrance than a benefit.