
Many applications don't need direct access to OS-specific functionality
(email clients, calendars, editors, DB front-ends, Web-browsers ..)
why to program them to a specific OS / GUI toolkit API (version)?

why not to use Java to do it portable ?
- myths
- memory consumption

improve subsystems (GC, JIT), share resources
(Java as a shell,
Kaffe server)
- native desktop integration

native GUI/toolkit compatibility = AWT flexibility (type 1/2
AWTs: Gtk, Xlib, ..)
- missing toolkit functionality

consider lightweights
(+ availability of AWT sources for native widget interfacing)
- environment compatibility
"glibc" - problem, taming the combinations


- portable VM (+libs), factor out target system dependencies

- GPL sources, automated configure/build process