Notice: This material is excerpted from Special
Edition Using JavaScript, ISBN: 0-7897-0789-6. The electronic version
of this material has not been through the final proof
reading stage that
the book goes through before being published in printed form. Some errors
may exist here that are corrected before the book is published. This material
is provided "as is" without any warranty of any kind.
Because JavaScript is designed for content presentation on the
World Wide Web, it's only appropriate that the largest collection
of resources for its implementation is found on the
Internet.
Because of JavaScript's very specific platform base (currently
only recognized by Netscape Navigator), the number of "official"
online resources that directly address it are few and far between.
However, the "unofficial" resources (put up by experimenting
souls who wish to share their discoveries of this new technology)
are growing at a rapid rate.
Also, because JavaScript works well as a "glue" to bind
Java applets,
Netscape frames, and
Navigator browser plug-ins
together, it's well worth the effort to keep up-to-date on the
latest plug-in technology.
In this appendix, I'll take you around the world and introduce you to the growing base of information available.
This list is by no means comprehensive-as new sites appear on the Web weekly-but it's a good place to start looking for information on JavaScript, Java, or other related technologies.
Because JavaScript is for the Web, it's only appropriate
that the best sources of information on its use are found on
the Web. As with most other Internet-based sources, the bulk of
Java and
JavaScript sites are primarily Java-oriented with JavaScript
covered as a subsection. The following list is by no means comprehensive,
and to keep up on new offerings on the Web, you're best bet is
to take advantage of the
Other Hot Links pages that many of the
sites have.
http://www.c2.org/~andreww/javascript/
JavaScript Index is a solid compendium of
JavaScript implementations
and experimentation, including a growing list of personal
home
pages that show off a variety of
JavaScript tricks. A subset of
the site is the JavaScript Library, a small but expanding collection
of source code from around the Web community.
http://www.intercom.net/user/mecha/java/index.html
A new, well-produced site devoted to JavaScript, The Unofficial JavaScript Resource Center started out fairly limited, but promises to grow with more examples and techniques for a wide range of users. The idea is to provide a few examples and snippets of code to copy and drop into place. Its organization will make it a useful resource as the content expands.
http://ourworld.compuserve.com/homepages/vood/script.htm
Voodoo JavaScript Tutorial is an ongoing tutorial presented in
easy-to-digest sections covering the basics of JavaScript. It
includes examples built-in to the page, along with descriptive
text and code examples. It's a good place to get your feet wet.
http://www/dannyg.com/javascript
This is a collection of examples covering more advanced concepts in JavaScript, including cookies. Danny Goodman is one of the de facto experts on JavaScript on the Web, and provides some good examples to learn and adapt other applications from.
http://gmccomb.com/javascript/
Author and consultant Gordon McComb hosts this page, which is packed with information, examples, and JavaScript how-to's.
http://www.winternet.com/~sjwalter/javascript/
This is the online companion to the book by the same name (also
published by Que). Source code for the printed examples, links
to other resources and sites, and regular tutorial sections on
various parts of JavaScript are offered.
Called "the online Java index," EarthWeb's Gamelan
has an extensive collection of links to other sites, examples,
tools,
utilities, and other interesting resources. Although primarily
targeting Java, the JavaScript section is quite sizable as well.
Being the home of the only browser (currently) that supports JavaScript, Netscape's home site is a good place to check periodically, especially for updates and additions to the JavaScript language specification.
Netscape also has its own Development Partners Program, providing
subscribers with extended technical and programming support, information
on upcoming products, extensions and plug-ins, and access to pre-beta
releases of new browser, server, and plug-in technology.
Another new online "eZine", dedicated to
Netscape products.
If you're interested in seeing just how powerfull JavaScript
can be, this is an excellent example of JavaScript in action.
When you get here, notice the very thin frame on the right of
your browser window-it's a tracking document that keeps various
information
consisten across the pages and
frames of this site.
IDG Communications (which also publishes SunWorld Online,
Macworld, PC World, and Computerworld) has
introduced this
online version of its new magazine. While dedicated
to Java programming and industry developments, it also has an
ongoing column on JavaScript.
http://www.borland.com/javaworld/
To support its endeavors to integrate Java development into Latte, Borland's host site for Java development promises to keep Java developers informed.
TeamJava is a group consisting of Web gurus, consultants, internet
programmers,
webwriters, and other such denizens of the net. Their
home page has links to other
Java and
JavaScript resources, as
well as information on how to contact the consultants themselves.
Symantec led the pack when it came to providing a development
platform for Java applet creation. With Café, the
first publicly available java development add-on to their popular
C++ package, Symantec provided the
Web community with the first
GUI-based development environment for applet creation.
Dimension X is the
home of Liquid Reality, a
Java applet
development platform that merges the capabilities of a 3-D modeling
package with a
Java app builder.
http://www.digitalfocus.com/faq/
Sponsored by Digital Focus, the Java Developer serves as the home site for The Java Developer FAQ and one of the more interesting implementations of frames to present search and question submission buttons as you browse the site.
The place where it all started, Sun hosts the Java home
site. Additionally, Sun maintains the
Java Users Group (a subgroup
inside the Sun Users Group) and several mailing and notification
lists to keep developers informed of the latest events.
Several UseNet newsgroups have sprung up to provide channels for
developers looking for guidance with
Java, JavaScript, and
Web
programming in general. They all have global distribution and
should be available from your
Internet provider.
As the only newsgroup specifically dedicated to
JavaScript development,
this one gets somewhat lively at times.
Dedicated to discussion about Sun's HotJava browser (a Java browser written in Java), comp.lang.hotjava deals with problems that people are encountering with HotJava.
Although this group is focused on the discussion of Java programming
tricks and tips, integrating JavaScript into
Web content is also
talked about.
The traditional collection of newsgroups for
WWW-oriented discussion
has been comp.infosystems.www. As the Web has expanded,
so have they, covering everything from browsers to announcements
of newly opened Web sites.
Even though there is no group specifically for JavaScript in the comp.infosystems hierarchy, the following groups-which cover various facets of Web authoring-are of interest:
For those who prefer the thrill of receiving tons of e-mail, there
are mailing lists dedicated to Java and JavaScript that offer
similar information to that found in UseNet newsgroups. Keep in
mind, however, that mailing lists are a lot like a party line
and can get rather chatty (the downside being you have to wade
through all the flotsam in your in box to figure out what you
can use). If you plan to use mailing lists heavily, you might
want to look into an e-mail program that supports threading:
the linking together of messages that share the same subject.
(It really helps organize the flood of information.)
Although you post your questions and comments to the address of the list (for broadcast to the rest of the list's readers), subscribing to and unsubscribing from the list are done through a separatee-mail address, specifically the address of the list server.
The lists discussed below mention both the list address and thelistserver address, and sending subscribe requests to the list address (so everyone on the list knows you don't know what you're doing) is a guaranteed way to get branded a
newbie.
If you want more information on how to communicate with the listserver (or on other lists a particular server might have), you can send a message to the listserver address with "help" in the message body.
Sponsored by the Obscure Organization (http://www.obscure.org/)
and TeleGlobal Media, Inc. (http://www.tgm.com/), the JavaScript
Index is the only mailing list at the time of this writing dedicated
specifically to JavaScript. The discussion gets pretty varied
and ranges from introductory questions to more involved discussions
on how best to handle animation, framing, reloads, and so on.
To subscribe, send a message to majordomo@obscure.org with
"subscribe
javascript" in the message body. Alternatively,
you can point your browser at http://www.obscure.org/javascript/
for further information.
A companion newsletter that parallels the activity on Borland's
JavaWorld site, the Borland Java newsletter keeps you informed
about Borland's work on integrating Java technology into their
development tools. To subscribe, send a message to listserv@borland.com
with "subscribe
java [your first name] [your
last name]" in the message body.
Sun Microsystems, the home of Java, has its own collection of
mailing lists. The
java-announce list is primarily for notifications
of new
Java-related tools. To subscribe, send a message to majordomo@java.sun.com
with "subscribe java-announce" in the message
body.
There are several search engines available to JavaScript, including Alta Vista, Yahoo, Lycos, and WebCrawler.
A newcomer to the search engine world, Alta Vista sports over 13 million entries, making it the largest search site currently in cyberspace. This site attempts to catalog not only sites and pages but words within pages, making it very easy to generate thousands of matches for a particular search term (for example, searching on "JavaScript" will find not only sites that deal with JavaScript, but sites that use it within their pages because that word is always part of the <SCRIPT> tag). To make the best use of this site, try to be as specific as possible, or be prepared to refine and narrow down your search parameters.
Yahoo is short for "You Always Have Other Options," and although this is most definitely true on the Net, you'd be hard pressed to find others as broad.
One of the granddaddies of the search world, Lycos has a massive
database, and a large collection of references to Java, JavaScript,
and
Web design in general.
Supported by America Online, WebCrawler is a broad-spectrum search system that's fast (one of the fastest reply systems on the Net).
There are several sites on the Web that serve as a central clearing house for Internet-related applications (many of which are being developed as low-cost shareware by private individuals). Although these sites address a broader base than Java or JavaScript, they are expanding their coverage to include Java editors, extended HTML tools, and the like.
The Consummate Winsock Software (CWS) list is just as the name implies: a very complete collection of the best, the latest, the greatest, and the not so great. Combining a five-star rating system and a thorough collection of product reviews (including both pro and con analysis of all products), CWS is an excellent place to keep up with what's new and different.
The Ultimate Collection of Winsock Software (hence the acronym), TUCOWS rivals CWS for its completeness and variety in content. There is naturally some duplication between the two sites (the most popular pieces on the Net are found at both), but one compliments the other quite nicely. (For the broadest picture of what's available, it's worth stopping by both,)
Similar to CWS, TUCOWS has a "cow" rating system, which
highlights hot, "get it" titles.
What started as the Virtual Shareware Library (VSL), this site
has been taken over by c|net central, an online/on-TV source for
the latest breaking information on
Internet technology. Although
it doesn't attempt to rate software, it does provide a "top
downloads" list to indicate what Netizens have deemed the
hot products of the moment.
Unlike CWS and TUCOWS, which link one product to one download link, shareware.com's download section presents a list of sites (rated by reliability) around the world from which you can retrieve a particular file.
Navigator 2.0 supports live objects (something embedded
in an HTML file that is more than text or a simple graphic). Live
objects extend the capabilities of the Web to encompass the world
of multimedia, complete with sound, animation, and user interaction.
Before live objects,
non-HTML content (such as QuickTime movie
files) that was embedded in a document had to be viewed through
a helper app, an external program that was run once the
object had been downloaded (producing an interface that was anything
but seamless). With live objects, you can directly embed movies,
sound, spreadsheets, and so on, into your Web pages.
Displaying live objects is handled by an extension to Navigator that's "plugged into" the browser's framework (hence the term plug-ins). If you're familiar with the concept of object linking and embedding (OLE), you've already experienced the power of live objects (which can be thought of as OLE for the Web). Live object (plug-in) technology makes it possible for software publishers to take their own file formats and provide the means to integrate the formats directly into the browser interface.
The following plug-ins are just a few of those that are already available (or in development) for Navigator. For the most current list of plug-ins (and the companies developing them), check out Netscape's home page at http://home.netscape.com/.
Macromedia Director is one of the most popular
multimedia development
environments available. The Shockwave plug-in enables developers
to take their
Director programs and "shock" them into
compressed modules for transmission over the Web and playback
through Navigator. Shockwave provides all the control a stand-alone
Director program does and adds the capability to create live links
to other Web sites inside the module.
Macromedia also maintains a gallery of shocked sites, providing
a starting point for those interested in surfing the "shock
wave."
Progressive Networks RealAudio plug-in integrates live and on-demand
real-time audio into
Web content. If your
Web server is also running
the
RealAudio server, you can "stream" audio to users
(enabling them to listen to the sound files before they have been
completely downloaded). Users connected at 14.4Kbps or faster
experience real-time sound.
Originally developed as WebFX by Paper Software, Live3D is a high-performance
VRML platform that enables you to fly through
VRML worlds on the
Web and run interactive, multiuser
VRML applications written in
Java.
Netscape Live3D features 3-D text, background images, texture
animation, morphing, viewpoints,
collision detection, gravity,
and RealAudio streaming sound.
What RealAudio does for general audio, ToolVox does for integrating speech into the Web. Because it's possible to compress speech to a greater extent than music (with little or no loss in quality), ToolVox can create very small sound files (with a compression ratio of 53:1).
http://www.excite.sfu.ca/NCompass/
OLE technology allows for objects to be embedded into other documents.
NCompass has brought that same technology to the Web with their
OLE control. This plug-in, running under Windows 95, enables you
to embed
OLE controls as applets created using
programming languages
and development tools familiar to programmers: Visual C++, Visual
Basic, the MS Windows Game SDK, and Borland C++, to name a few.
Although RealAudio and ToolVox provide seamless integration of
sound into
Web content, PreVU makes it possible to stream MPEG
video through Navigator. The
PreVU plug-in makes MPEG playback
possible without the need for special hardware or
proprietary
video servers. PreVU provides for first-frame viewing right in
the
Web page, streaming viewing while downloading, and full-speed
cached playback off your hard drive.
Talker is the Macintosh platform answer to ToolVox and integrates
into the
speech subsystem of the Mac OS. As with ToolVox,
Talker
objects are significantly smaller than recorded
audio files. Unlike
audio recorders, Talker "speaks" from a script file
(making editing a breeze). Talker also enables
Web pages to talk
using many different voices (as chosen by the user).
http://www.vdolive.com/download/
Another entry into the "Web video on demand" segment,
VDOLive compresses video images without compromising quality on
the receiving end. The
frame rate displayed to the user is controlled
by the speed of the connection. (With a 28.8Kbps connection,
VDOLive
runs in real time at 10 to 15 frames per second.)
ViewMovie allows for the embedding of QuickTime movie files in
Web pages (enabling playback of videos without an external helper
application). Embedded movies can also be used as link anchors
and image maps.
Because the vast majority of users on the Internet are connecting
with Windows or
UNIX machines, the bulk of the resources (especially
the plug-ins) detailed above are for UNIX or Windows platforms,
leaving Macintosh users out in the cold (a point that is periodically
brought up in the online discussions about whose system is
better). Such companies as Symantec are scheduled to provide
Mac versions of their
Java frameworks, but they aren't available
yet. There are, however, several resources for Mac users that
are well worth checking out.
Although the Macintosh version of Netscape Navigator 2.0 does
support JavaScript, it does not support Java. If you want
to take advantage of Java technology, you'll need to stop by Netscape's
home site (http://home.netscape.com/) and download a copy
of the
beta release of Navigator 2.01.
If you are a PowerPC user (or anyone else who's using Apple's Open Transport layer to handle your PPP connections), you must stop by Apple's home site (http://www.apple.com/) and download and installSystem 7.5 Update 2.0 (also called System 7.5.3).
Navigator 2.01 is built around
Open Transport 1.1, which is available only with
Update 2.0.
While Symantec's Café development platform for Windows
95 and
Windows NT has become available through normal
retail channels,
the Macintosh version isn't out yet. However, Mac developers can
get a free copy of Caffene from
Symantec's homesite which
adds
Java applet development to the
Macintosh version of the Symantec
C++ compiler. You must already have Symantec C++ v8.0.4 in order
to use this add-on.
For Java applet developers, Roaster is the first Mac development
environment that provides a GUI platform for the creation of
Java
applets.
CodeWarrior is the most popular C++ development platform for Macintosh
and
PowerPC developers today, and Metrowerks is working on making
a
Java development add-on available.
For technical support for our books and software contact support@mcp.com
Copyright ©1996, Que Corporation