Hi, I just wrote my first applet (a little tictactoe game). I was stumped for a while trying to get the thing to work, because neither IE or Netscape came with the JRE. Why don't these browsers include support for applets? Are applets obsolete? Are they a security issue, or a performance issue? I would like to write more, but if they are falling by the wayside, maybe I should learn another webprogramming language? OK. Thanks for your time. :roll:
Applets aren't obsolete, but the current version of the JDK that ships with IE *is*. Microsoft has no interest in seeing Java thrive, and this is one of the reasons why they don't ship the "latest" version of the JDK with their browser. But, this in itself isn't that much of a problem - think of all the web-based plug-ins that require the user to d/l the plug-in first before they can be used. If you limit yourself to the APIs that were supported in the early version of the JDK (1.1.4), then your applet will run fine in "stock" versions of IE or netscape. But you shouldn't limit yourself to this API, because they are old and frankly, not very robust. Download the latest JDK 1.4.1 plug-in from Sun, and use the modern Swing APIs for your GUI work. Here's Sun's plug-in page: http://java.sun.com/products/plugin/index.html
Take a look at this article on O'Reilly's site about Flash, A Pet Market with Flash Here's an interesting excerpt: Flash Is What Applets Should Have Been The first major technology for nontrivial, interactive Web interfaces was, of course, Java. However, Java Applets never really caught on for several reasons:
The Java Plug-in Was Too Heavy -- While early browsers bundled the Java plug-in, the rapid evolution of Java quickly made those plug-ins obsolete. Newer plug-ins could be downloaded and installed, but their size became a barrier to use, especially for users behind low-bandwidth connections. Macromedia has always kept the Flash player very lightweight.
Java Was Different on Different Platforms -- While Java promised "write once, run anywhere", developers had to support different JDK versions and they discovered that even the same JDK version behaved differently on different platforms. Flash behaves consistently across platforms. Differences between versions are manageable.
Java Was a WIMP -- Java's windowing toolkit was still in the WIMP paradigm and didn't provide radically better capabilities for most needs, compared with the facilities provided by HTML and later, DHTML. Flash embraced and propelled the new, more media-rich interface ideas.
Flash Provides an Excellent Authoring Tool -- Flash also became popular because Macromedia's authoring tool was easy to use. Designers could create animations in the SWF format without having to know arcane technology, such as a programming language. The rich SWF format combined with a capable authoring tool led the design community to select Flash more often than the alternatives, thereby making it a de facto industry standard. The authoring tool and the SWF format have also evolved to keep up with the demands for new capabilities, such as those required for Rich Internet Applications, as discussed previously.
Flash Recently Enhanced "Good Citizen" Features -- Finally, while usability mavens have criticized Flash animations in the past for breaking some of the usability metaphors of the web, Macromedia has addressed all those concerns. Today, the Flash authoring tool lets authors tag points in the animation for the browser's history list (i.e., the "Back" button). Authors can also insert URLs to support indexing and search engines. Flash now provides support for Accessibility. Finally, SWF players are now appearing on PDAs, cell phones, interactive TV platforms, etc.
I personally think Flash is a pain to use, but then I've never put forth the time and effort to really learn it. I'm sure there are still many things that you can do with applets that are difficult, if not impossible with Flash, but I think it is important to know that there is an acceptable alternative for web-based UI's. Also, check out the pet store app they built with Flash, it's pretty amazing. Pet Market blueprint application [ October 30, 2002: Message edited by: Drew King ]
In my work as a Flash support person, I've come upon one case where a group that had developed a project using applets was considering moving to Flash. The reason was the problem that you point out - problems with the latest IE.
I've seen one large and famous vendor of communications equipment produce content that was almost totally unusable outside their limited concept of how the content would be used and of less-than-ideal utility even WITHIN their concept of how the content would be used. I've also seen Flash overextended to the point where it virtually killed the client system, eating up every CPU cycle in signt and demanding more with a net result that the program (which was emulating a real-world device) ran at a crawling fraction of the speed that the emulated device operated. Java can be slow, but it isn't THAT slow for the task indicated! When I saw the topic heading, I thought that the sentence would end "...because DHTML is so powerful". There are times when Flash or DHTML are just the ticket. There are also times when only a programming language will do, whether it's an applet or .NET.
An IDE is no substitute for an Intelligent Developer.