The Beginning of AJAX Standardization - ' The Stack of Specifications ' (
Page 2 of 3 )
The W3C is not sleeping. A few weeks ago, the first working draft of the The
XMLHttpRequest Object specification was published. The beginnings of this standard may have huge implications for AJAX and Atlas programmers. This is an important step for highly interactive Web applications to become mainstream, and it's part of a
wider W3C initiative to standardize Web
APIs.
The XMLHttpRequest object is an interface exposed by web browser's scripting
engine to perform HTTP client functionality. It is the cornerstone of AJAX
architecture (which has nothing to do with the great football team, Ajax
Amsterdam). AJAX is shorthand for "Asynchronous JavaScript + XML," and it represents a fundamental shift in what's possible on the Web. The term was coined in the article Ajax: A New Approach to Web Applications, written in February 2005 by Jesse James Garrett.
ADVERTISEMENT
The W3C, or the World Wide Web Consortium, was founded by Tim Berners-Lee in
1994 at MIT. The W3C develops open technical specifications that can be used for
free by anyone. These specifications are reached by a democratic process and any
member can suggest a new project. If there is sufficient support within the
consortium, the project proceeds. When it is finished, it is released by the
consortium as a "recommendation." The W3C does not enforce its recommendations;
it simply encourages everyone to adopt them.
The Stack of Specifications
Bits mean something.
When you connect a cat-5 ethernet cable to your computer, you effectively commit
to taking part, with your computer, in a very special system. It is a system in
which the meaning of messages is determined, in advance, by specifications. This
is a principle which is so basic to network computer systems that it is rarely
stated. But as the stack of specifications gets higher and higher, and as
electronic commerce, legally enforceable agreements, and socially sensitive
issues such as privacy and fraud become matters of public concern, it is worth
reiterating for the record." — The
Stack of Specifications, Tim Berners-Lee.
HTML, CSS, XML, and SOAP are all examples of protocols that were developed
within W3C. The W3C Web
API Working Group is chartered to develop standard APIs for client-side Web
Application development. This work includes both documenting existing APIs (such
as XMLHttpRequest) and developing new APIs to enable richer Web Applications. In
addition to working on an API specification for HTTP functionality, the group is
also putting its attention on other specifications that cover different areas of
a web browser functionality. These include the client interface (the "window"
object), DOM Level 3 events and timed events, other network communication
methods, persistent storage on the client, the DOM Level 3 XPath, drag and drop
operations, monitoring the progress of resources as they are downloaded, and
file upload.
Another Working Draft that was recently released is Window
Object 1.0. This specification defines the Window object, which provides the
global namespace for web scripting languages, access to other documents in a
compound document by reference, navigation to other locations, and timers. The
Window Object draft is a very early one, as it contains lots of placeholders,
but the structure is there.
This specification describes the "Window" object as it is currently implemented
in modern browsers. The window object allows applications to communicate with
the browser, and is used when initiating timed events and navigating to new
pages. Interestingly, the Working Group is considering a range of Web clients
that is not limited to existing desktop browsers. Future revisions of the API
may define behavior beyond current implementations in a compatible manner.
The membership of the Web APIs Working Group includes some big names, including
Google, Apple, AOL, Sun, Opera, and the Mozilla Foundation. The participation in
these early stages of standardizing the APIs for programming a web browser can
give these parties a huge competitive advantage in shaping the future of the web
and more specifically — the future of a web browser.