Dynamic HTML and the Big Picture

John Swenson
MSDN Online

November 3, 1997

By now, most developers who follow Microsoft know we're pushing Dynamic HTML as the preferred way to create better, more interactive Web applications. Even if you have a strong understanding of Dynamic HTML and the tricks it can play in Microsoft Internet Explorer 4.0; you may wonder where this new technology fits into Microsoft's overall strategy for application development, and why we like it so much.

Windows DNA

The key to understanding where Dynamic HTML fits into the larger picture is in understanding our Windows Distributed interNet Architecture, or Windows DNA. This is the broad new term Microsoft now uses to refer to its attempt to blend application development for the Internet with the traditional desktop and client-server development models. "Whether you are building applications for the World Wide Web or the corporate network, the programming models, infrastructure services, and tools all leverage a common architecture," says Gary Voth, a group manager in Microsoft's platform marketing division.

Conceptually, Windows DNA is a framework that describes how to use the many technologies Microsoft is providing developers to help them build three-tier applications on the Windows platform. That platform is broader than many developers realize. "When we say 'Windows platform,' we're no longer talking about a desktop operating system," Voth explains. "We're talking about the whole fabric for building and delivering applications that can run anywhere on the network or Internet, not just on a single machine."

Top to bottom

Dynamic HTML is an important cross-platform component of the Windows DNA architecture because it extends the richness of HTML and yet still runs on many platforms. A key goal of Windows DNA is this interoperability with other platforms, allowing customers to use their existing hardware and software investments.

Developers are now creating modern distributed business applications with three tiers: a top tier for the client, a middle tier that separates out the business logic and processes, and a bottom storage tier. Windows DNA helps developers build applications for all three tiers.

Dynamic HTML fits into the top tier of the architecture, the client tier that contains the user interface and navigational elements of a distributed application. Dynamic HTML uses a combination of HTML and script to let developers build highly interactive front ends for their Web-enabled applications. Dynamic HTML is one of the quickest and easiest ways to build any user interface.

The middle tier in a distributed application could be a Web server, a transaction server, or some other server application. The bottom tier provides a model for accessing files, mail, and other data, no matter where it resides. This bottom-tier data could be stored on a network server, a mainframe, a UNIX server, or any computer.

Dynamic HTML works with the data on the bottom tier through a feature called data binding. Developers can use data binding to create data-driven business applications that take advantage of the Web. This feature lets users download data directly into their browser and manipulate it there (sorting a table, for example) without requiring any trips back to the server. Data binding allows users to send information back to the server, updating the database.

Ideal front end

Dynamic HTML is an ideal technology for the client portion of Windows DNA because it lets developers build a single front end for their distributed applications. A front end built with Dynamic HTML can run on Windows 95, Windows NT, Windows 3.1, Apple Macintosh, or UNIX. To use a client application built with Dynamic HTML, all users need is Internet Explorer 4.0, which will be available for all these operating systems.

Microsoft believes Dynamic HTML is important because it makes the Web a viable platform for developing applications that are truly interactive, cross-platform, and perform well. For developers used to building static Web pages and applications with plain-old HTML, "Dynamic HTML really produces a paradigm shift," says Michael Wallent, Microsoft's lead program manager for Dynamic HTML. "It really lets you build different applications."

You Want Fancy Effects?

Dynamic HTML lets developers add a host of user-interface features to their Web applications. These include collapsible outlines, numerous text effects, and the ability to resize and precisely position graphics. For examples of these effects, point your Internet Explorer 4.0 browser to our Dynamic HTML Gallery (http://www.microsoft.com/gallery/files/html/), or see how Microsoft used Dynamic HTML to redesign the Microsoft home page (http://www.microsoft.com/). (Net surfers with older versions of Internet Explorer or other browsers can view this content, but won't see the Dynamic HTML effects.)

An evolving standard

Internet Explorer 4.0 is the best way today to view Web pages and applications built with Dynamic HTML, but Dynamic HTML is not an Internet Explorer–only technology. Dynamic HTML is an open technology based on the Document Object Model (DOM) now winding its way through the standards process at the World Wide Web Consortium (W3C). Microsoft is working closely on this with the W3C, and will comply with its DOM recommendations.

The DOM makes HTML and Cascading Style Sheets (CSS) programmable through script, or through any language for that matter. This comprehensive object model exposes all page elements as objects that can be manipulated easily, simply by changing their attributes or applying methods to them at any time. You can manipulate these objects with JScript, ECMAScript, VBScript, or any scripting language.

New tools arriving

If all this sounds complicated, don't be fooled. It's not. Dynamic HTML just requires the author to understand HTML and a scripting language. Even Web authors who have never written a line of code can add Dynamic HTML to their Web pages if they use Microsoft FrontPage 98 or one of several new third-party Web tools, such as Macromedia's new Dreamweaver. These automate the creation of Dynamic HTML. (For a detailed description of Dynamic HTML tools and other information, visit Microsoft's Dynamic HTML Web site [http://www.microsoft.com/gallery/files/html/].)

One reason Microsoft is pushing Dynamic HTML is because it works so well in Internet Explorer 4.0. We think developers can use Dynamic HTML to build the most interactive and engaging applications on the Web. And they won't be locked into any proprietary technology or platform, since Dynamic HTML runs on a variety of operating systems and is built on an open, standards-based technology. Other companies are free to build tools and browsers that support Dynamic HTML, without the need to license any technology from Microsoft. This is because Dynamic HTML is based on the W3C-standard DOM.

It Works with ActiveX, Too

Microsoft also likes Dynamic HTML because it complements ActiveX, another part of our Windows DNA architecture. (For an update on the status of ActiveX, see Norvin Leach's recent column, "Is ActiveX Dead?")

Developers can use Dynamic HTML from within an ActiveX control or on the same Web page as a control. Why would they want to use an ActiveX control instead of Dynamic HTML? Although Dynamic HTML is an ideal tool for building the user interface portion of a Web application, there are certain tasks that require an ActiveX control. Dynamic HTML can't access the many services that are part of the operating system, for example, such as printing.

Compatible and easy

As Microsoft continues to expand the features and capabilities of its Windows DNA architecture over the next couple of years, developers who use Dynamic HTML can rest assured that their client applications will be compatible with all three tiers of this framework. With Dynamic HTML, you can build a fully interactive, no-compromise front end to your distributed application, surpassing what is possible with HTML alone. And because Dynamic HTML is easier to create than Java applets or ActiveX controls, you'll have more time to figure out the other tiers of the Windows DNA architecture.