Name
|
Language
|
Example
|
Good Things
|
Bad Things
|
HTML
|
Forms/CGI
|
Netrun
|
Super easy--browser does all the hard work
|
Tough to distribute. Limited interaction (e.g., no custom menus) since browser limits what is possible
|
XHTML
|
JavaScript
|
Google Maps |
Interaction is possible
|
Hideous to write. JavaScript poorly implemented and nonportable.
|
Windows API
|
C
|
Notepad
|
Standard Windows look and feel
|
Code runs only on Windows. Simple things can require lots of code.
|
MacOS Carbon
|
C
|
Any Mac Program
|
Standard Mac look and feel
|
Code only runs on MacOS. Simple things can require lots of code. |
MacOS Cocoa
|
Objective C
|
New MacOS X Programs
|
Interface builder lets you drag-and-drop a GUI
|
Code only runs on MacOS X. Must write in funky objective C.
|
X
|
C
|
xfig
|
Runs perfectly across a network.
|
No code builtin for menus, buttons, scrollbars--you've got to build *everything* yourself.
|
GTK
|
C
|
GIMP
|
Nice-looking. Runs (sort of) on all known machines: X, MacOS, Windows
|
Interface changes pretty fast. Need big library for Windows applications.
|
Qt
|
C++
|
KDE Apps
|
Nice-looking. Runs well on all known machines: X, MacOS, Windows. Excellent documentation.
|
Expensive for commercial use. Free version is only for noncommercial use on Linux.
|
AWT
|
Java
|
Applets
|
Real interaction, compiled language. Even compiled code is portable.
|
Need Java runtime. Tough to put on floppy disk. Can't call old C code. Simple things can require lots of code.
|
Swing
|
Java
|
??
|
Cool antialiased rendering.
|
Need latest Java runtime. Tough to mix with AWT.
|
Win32.NET
|
.NET
|
??
|
Double-clickable .exe file. Easy on Windows.
|
GUI calls are Windows-specific.
|
Tk
|
Tcl
|
??
|
Very terse--dialogs are really easy to write.
|
Tied to Tcl scripting language, which changes pretty quickly. Need to embed Tcl in application.
|