AbleDesign - Tutorials
Web Design Tutorials - Advanced Design Considerations
Interactivity
Web site interactivity means a wide variety of things to people. In its simplest form, a web site is interactive if it is merely more than one static page. After all, if the visitor clicks a link to another page, they are interacting with the site.
Ok, I can hear you screaming how lame that example is. Give us something good! Interactivity more commonly refers to advanced features such as searchable databases, image maps and image flips, feedback forms, and user reviews. These are accomplished through a variety of methods.
Before you go crazy with all the interactive options at your finger tips, take a look at this chart Webmonkey has put together, outlining which technologies are supported by which browsers.
JavaScript
JavaScript (often confused with Java) is a Client Side scripting language. Client Side, as opposed to Server Side, refers to the fact that the server does not try to interpret the code before delivering the requested page to the web browser. Rather, the browser interprets the JavaScript and allows the viewer to interact with it. This is why JavaScript is the tool of choice for image flips (also known as MouseOvers and Rollovers). Once the page has been loaded, there is no need to make additional requests from the server to load new images, for example.
JavaScript is also very useful for things like pop-up help windows, working with forms, and performing actions based on what the visitor clicks.
There are a variety of good tutorials and free resource libraries for JavaScript, just as with almost any programming language:
DHTML (Dynamic HTML)
DHTML, like JavaScript, is a Client Side language. It is commonly referred to as an extension of HTML, but it might make more sense to think of it as advanced JavaScript. As the name implies, DHTML is capable of creating very dynamic interactive features, such as heirarchical menus and an assortment of moving objects.
Perl (CGI)
Perl is the backbone of much of the interactive content of the Internet. It is a Server Side programming language that can produce things as simple as hit counters or as complex as shopping carts and e-commerce systems. There are shareware and freeware Perl scripts available for nearly any project imaginable. Some of the more popular resources include:
PHP (Hypertext Preprocessor)
Like Perl, PHP is a Server Side programming language, with very similar functionality in many cases. Relatively speaking, PHP is the new kid on the block. As such, it is sometimes less reliable than Perl (at the time of this writing - 9/00). Where PHP shines is its ease of use, blending seamlessly with HTML and MySQL, and being much easier for the novice programmer to begin using.
MySQL
MySQL is another Server Side language that creates very powerful and flexible databases. MySQL is the workhorse of many interactive sites, at least the non-multi million dollar Oracle-driven ones. For the majority of webmasters, MySQL is the most flexible, easiest to use, and most cost effective database choice.
That is an overview of the major tools for creating an interactive web site. Most likely, you will settle on one or two languages that suit your needs and end up using them for just about everything.