Gregor Hoffleit wrote: > > Certainly a silly question for this list: Do you think Java is currently > a viable platform for cross-platform, shrink-wrap GUI applications ? > I.e. if you had a proprietary consumer application for Windows and MacOS, > and you were looking for a strategy that also worked for Linux, would > you consider re-implementing the application in Java, or would you stick > with conventional tools like a cross-platform toolkit (like wxWindows or Qt), > a Wine/Winelib solution, or a single toolkit for each platform. > > Apart from our (Debian's) license problems with Java, I have the impression > that the big other distributions don't really support a Java Runtime > Environment, cf. the way they support GNOME or KDE applications.
I've been developing/maintaining a major app (1000 classfiles) for the electrical industry (a very conservative customer market) in Java since 1996. I ditched NT early on (within a year) once Java support matured enough on Linux to be useable. We still do all Java development exclusively under Debian, use Debian for Samba file serving, firewalling, the web site, mail serving, etc. Most of the rest of the company runs MSWindows 95, 98, or NT; all of our customers deploy to these as well. Our product is not shrink-wrapped; it requires extensive configuration by our staff. It includes a custom deployment mechanism (similar to the debian package system, funny how that is). We use Swing for almost all our GUI work; the only normal AWT stuff we use is for compatibility with touch-screen data entry fields. In general, not only does Java work great cross platform, I don't even bother testing my app under windows before sending it to our QA guys (unless I'm actually interacting with something under windows, e.g. ODBC sources or AutoCAD). The only cross-platform issues I've had to deal with have mostly involved file names and case sensitivity. For example, all path configuration in my system is stored with forward slashes, and I convert these on the fly to appropriate syntax with my own createFile(path) methods. This wouldn't be a problem if an installation only ran under windows or linux, but if you set it up under windows sometimes the configuration wouldn't work under linux due to these file name differences. Also, case sensitivity can be a problem with configurations (e.g. trying to load a datafile from a preset path). All in all, very little to worry about. The current crop of nonfree linux JVMs are very strong, and hopefully the free ones will get stronger over time. We currently use IBM's JDK (1.1 and 1.3) for linux, IBM's 1.1 and Sun's 1.3 JRE for windows. I cannot currently recommend the free JVMs for serious GUI work at this time. Now, deployment is another matter. We deploy a JVM with our product; both IBM and Sun JREs require no installation under windows other than copying or unzipping the files, and writing appropriate batch scripts to do the classpath etc. I would not want to deploy a Java app with no knowledge of the destination JRE or its version; I would certainly provide a known good JRE as an installation option. Also, installation under windows and linux are very different things. I've not been impressed with any of the cross-platform installers. -- Paul Reavis [EMAIL PROTECTED] Design Lead Partner Software, Inc. http://www.partnersoft.com