The Politics of Browser-Based Applications
First, a bit of history. The potential for applets to add dynamic content to web pages was one of the driving forces behind the spread of the Java programming language. Prior to Java’s introduction in 1994, there was really no standard way to do this; even the now-ubiquitous animated GIF images were not yet widely supported. Sun’s HotJava Java-based web browser was the first to support applets. It was Java’s original “killer application.” Later, in 1995, Netscape announced that it would support the Applet API in its browsers, and soon after that Microsoft jumped on the bandwagon. For a while, it seemed that Java would power the future of the Web, but there were many bumps in the road to come.
Many problems, both technical and political, plagued the early years of Java’s use in browsers and client-side applications. Performance issues were to be expected in such a young platform. But what really crippled Java early on was the nonportable and buggy AWT, Java’s original GUI toolkit. Many people overlook the fact that Java’s success as a portable language is in large part a result of just how much of the Java API is implemented in Java. You might be surprised to learn just how many Java internals involve no native code—everything from cryptography to DNS is done in Java—requiring no porting for new platforms. Similarly, the renaissance of Java GUI applications seen in later years was due almost entirely to the introduction of the pure Java Swing ...