Users can now view and listen to real-time netcasts, watch videos, run ActiveX controls and Java applets, and play interactive multiplayer games while they are connected to the World Wide Web. This capability is made possible by the extensive support of Internet Explorer for Internet standards and its innovative underlying technologies, such as Dynamic HTML, ActiveX, and Java. Using this set of technologies, Web authors can produce more enticing content and develop consumer and business applications that create a more rewarding Web experience.
Because of the limitations of earlier browser technology, Web authors often have to choose between page interactivity and speed. After a page is loaded, changing the display or content of the page typically requires the entire page to be reloaded. Or, depending on how extensive the changes are, additional pages may have to be retrieved from the server. The Internet Explorer browsing software solves this dilemma with Microsoft’s Dynamic HTML, a collection of features that extends the capabilities of traditional HTML, giving Web authors more flexibility, design options, and creative control over the appearance and behavior of Web pages as well as an easier and faster way to author interactive Web pages.
Dynamic HTML is consistent with the direction of the Document Object Model, being defined by the World Wide Web Consortium (W3C) Document Object Model Working Group. Dynamic HTML allows Web authors to add a new dimension of interactivity without slowing performance in the process.
Dynamic HTML offers a new way for Web authors to control the HTML tags they already know. Every element on a Web page—whether it be an image, link, Java applet, heading, or the like—is now an object to which Web authors can add functionality. Much of Dynamic HTML’s functionality and flexibility comes from adding "intelligence" to the user’s computer. When the user places the mouse over the object or clicks on it, the element can deliver additional information or options—without having to go back to a Web server to do so. In this way, you can use Dynamic HTML to pack greater value into your Web sites.
The following paragraphs describe some of the key aspects of Dynamic HTML.
The central Document Object Model for Dynamic HTML gives authors access to every HTML tag on a page. You do not need to be an expert programmer to create a dynamic experience for the user—add a little JavaScript or VBScript to the standard tags already in use throughout the Web. You can also extend the capabilities of Dynamic HTML through Java applets or ActiveX controls.
What you see is only the start of what you get from a Web page when you create it using the Dynamic HTML Document Object Model. Consider an organizational chart, for example. The new Document Object Model allows you to build the chart so that when a user moves the mouse over a person’s name, a pop-up box tells the user more about that person and his or her group. For additional information, the user can simply click a link in the box. This way of presenting the information saves space on the page—and the user’s valuable time—by hiding information and options until the user wants them.
Another example of how you can use the Object Model is building a table of contents that users can expand or contract to see key information on a page quickly. Such a table of contents is easy to generate in Dynamic HTML—even for sites that already exist—because the Object Model gives authors control over all the HTML tags on a page. In this case, you add a few lines of scripting to take the existing heading tags and arrange them into a linked table of contents on the user’s command.
Here are some of the things you can do with the Dynamic HTML Object Model by adding a little JavaScript or VBScript to standard HTML:
Web authors can position elements to make sites look as they want them to. The Internet Explorer browsing software supports cascading style sheets (CSS) positioning, or the ability to position HTML elements in x- and y- coordinates, and the z-plane. With this capability, authors can overlap objects make them transparent. Combined with other Dynamic HTML features, these new positioning capabilities allow authors to move elements around and animate their pages.
With the Dynamic HTML 2-D positioning feature, you have complete control over the positioning of images and elements and can determine what happens where on every page you create. In addition to being able to specify the exact placement of text and images on a page, you can create multiple layers using standards-based cascading style sheets so that images overlap and appear transparent, creating new visual effects that animate pages. You can also build interactivity into your sites by combining 2-D positioning with scripting.
The data awareness functionality of the Internet Explorer browsing software allows Web authors to use native HTML so that users can manipulate and input data efficiently, with minimal load on the server. After users receive data from a Web site that is enabled with Dynamic HTML, they can sort, filter, and modify the data repeatedly—without using the server again. By reducing the number of hits to the server, data binding speeds up operations for both the user and the Web site.
Until now, sending and receiving data over the Web have been difficult and inefficient. Whenever you wanted to look at the data a different way, you had to go back to the Web server and then wait for the page to reload. With Internet Explorer, Web authors can take advantage of the Dynamic HTML data awareness, or data binding, capabilities to create powerful and useful Web-based business applications.
After you receive information from a site that takes advantage of Dynamic HTML and data binding, you can sort and filter the data repeatedly without initiating another round trip to the server. For example, you may be shopping for a car and request a list of all cars costing between $15,000 and $20,000. After receiving the list, you decide to narrow the search to sports cars within that price range. Your computer does all the subsequent processing, refreshing the page to reflect the result of the sort operation. The result is faster performance and less traffic on the Web server. Data binding creates pages that display such information as lists of prices, product descriptions, airline flights, and company benefits.
Data binding requires little or no additional programming. Instead, it allows authors to insert data into a Web page as a Java applet or an object that can be manipulated. The HTML Data Binding extensions can bind HTML elements that have been proposed to the W3C for incorporation into the HTML standard. Authors can choose from data source objects included in the Internet Explorer browsing software or in third-party data source objects, or they can build new ones. After the object is dropped into an HTML page, Internet Explorer recognizes it as a data provider.
For more examples of data source objects, see the Data Source Object Gallery on the Site Builder Network Web site at:
http://www.microsoft.com/gallery/files/datasrc/.
Data binding delivers all the Best-of-the-Web content when you first download the site. Then, as you select various categories of information, data binding filters the information on your computer—without revisiting the server. In this way, the content you want to read displays instantly, no matter how many pages you view or the number of times you filter the information.
Data binding gives you quick access to information and enables you to enter information, make selections, and manipulate data any way you want. Best of all, Data Binding allows you to view pages instantly—even while building complex tables.
Dynamic HTML scriptlets let Web authors create reusable objects with Dynamic HTML. These reusable objects, known as Web components, are simply Web pages in which script has been written according to certain conventions. The functionality of a scriptlet can be written in any scripting language, including Microsoft JScript and Visual Basic Scripting Edition (VBScript).
The following benefits of using scriptlets make the Internet Explorer browsing software an ideal platform for anyone building applications for the Web:
To download samples of Dynamic HTML scriptlets, see the Dynamic HTML Scriptlets Gallery on the Site Builder Network Web site at:
http://www.microsoft.com/gallery/files/scriptlets/.
With ActiveX, you can create dramatic multimedia effects, interactive objects, and sophisticated applications. Internet Explorer ActiveX controls allow you to uninstall controls quickly.
ActiveX technology creates innovative Web-based software components. Developers can write ActiveX controls in any language, including Visual C++, Microsoft Visual Basic, and Java with low-bandwidth effects on the Web pages. Also, ActiveX controls have full access to the Object Model in Internet Explorer, which allows developers to manipulate pages dynamically.
Following are some examples of ActiveX controls:
Windowless controls.
Allow developers to create transparent and nonrectangular controls—a crucial feature for overlapping controls with the 2-D layout feature of Internet Explorer.
Apartment model controls.
Increase performance by taking advantage of the fact that Internet Explorer is a multithreaded container.
Quick activation.
Greatly simplifies the process of initializing controls.
Support for downloading data asynchronously.
Boosts performance for controls that need to download images or other complex data.
Web authors can use ActiveX Scripting to make pages more interactive—capable of asking questions, responding to queries, checking user data, calculating expressions, and connecting to other controls. You can view Web pages that use any popular scripting language—including VBScript and JScript.
ActiveX Scripting lets ActiveX controls "talk" to each other and to other Web programs. It allows ActiveX and Java controls to access the Object Model in Internet Explorer, which in turn allows developers to author pages that users can manipulate.
In addition to the scripting support in the Internet Explorer browsing software, Microsoft provides the following powerful scripting options.
The Windows Scripting Host (WSH) is a simple, powerful, and flexible scripting solution for the 32-bit Windows platform. WSH allows scripts—including those written in VBScript and JavaScript—to be run directly on the Windows desktop without being embedded in an HTML document. This low-memory scripting host is ideal for non-interactive scripting needs, such as logon and administrative scripting. WSH can be run from either the Windows-based host (Wscript.exe) or the command-shell–based host (Cscript.exe).
For more information about the Windows Scripting Host see http://www.microsoft.com/management/.
Microsoft Internet Information Server now supports Active Server Pages, which allows scripts to run on Web servers. In other words, it enables server-side scripting over the Internet or an intranet.
With Internet Explorer support for Java, developers and users can enjoy the benefits of compelling, high-performance multimedia applications. The following paragraphs describe some of the features that make it easy for developers to create rich, full-featured Java applications for the Web.
High performance.
Internet Explorer maintains its performance leadership as the fastest way to run Java applications, delivering performance improvements in the Virtual Machine, Just-in-Time (JIT) compiler, and class libraries.
Full integration with ActiveX.
Developers can now access ActiveX controls as Java Beans (components), and Java Beans as ActiveX controls. This integration is seamless, automatic, and bidirectional. In addition, developers now have a seamless operation for debugging between Microsoft Visual Basic Scripting Edition (VBScript), JScript, and Java.
Full Object Model capability.
The Internet Explorer Document Object Model is exposed through Java libraries, allowing Java developers to manipulate pages dynamically and tightly integrate Java applications with Web pages.
Application Foundation Classes.
Support for Java includes Microsoft’s recent introduction of Application Foundation Classes (AFC), a comprehensive set of cross-platform class libraries that help software developers quickly create commercial-quality applications for Java. AFC delivers a rich suite of graphics as well as user interface and multimedia capabilities.
Java Development Kit 1.1 compatibility.
Internet Explorer is fully compatible with all the cross-platform features of Java Development Kit (JDK) version 1.1, the current version of Java.
New multimedia class libraries.
All the functionality of DirectX 5 media and the DirectX 5 foundation is provided as cross-platform Java class libraries, enabling developers to manipulate and animate a full set of media types.
Capabilities-based security model.
Internet Explorer expands the code-signing Authenticode feature to specify at a granular level which system capabilities—for example, the file system—a Java application can access through the use of digital signatures. For more information about Internet Explorer security, see "Security" earlier in this chapter.
Windows 98 includes Microsoft’s Virtual Machine for Java, which enables the Internet Explorer browsing software to interpret Java code. The Virtual Machine makes Java code platform-independent, meaning that the same code can run on many different machines. When Internet Explorer encounters a Web page that contains a Java applet, it uses the Virtual Machine to compile the Java bytecode into hardware-specific code and run the applet. Figure 20.1 illustrates the various components of the Virtual Machine for Java.
Figure 20.1 Virtual Machine for Java
The Virtual Machine for Java includes the following components:
Note
The JIT compiler can be turned off in Internet Explorer by clicking Internet Options in the View menu and then deselecting the Java JIT compiler enabled option on the Advanced tab.