Google

Modern Web Standards


Introduction

Ø Web standards enable the content of an application to be made available to a much wider range of people and technologies at lower costs and faster development speeds.

Ø Earlier the browser makers were to blame for difficulties in adopting web standards. Browser Wars (4.0 Browsers): Nothing you did in one environment would work the same in another.

Ø Now developers are to blame for not adopting standards. Reasons:

o Some developers are stuck with the mentality of the 1990s

o "Helpful" What You See Is What You Get (WYSIWYG) software that still generates code geared for 4.0 browsers without any real thought to document structure, web standards, separating structure from presentation, and so forth.

Ø Now several standards bodies provide the formal standards and technical specifications

o World Wide Web Consortium (W3C) - http://www.w3.org

o European Computer Manufacturer's Association (ECMA) - http://www.ecma-international.org

o Internet Engineering Task Force (IETF) - http://www.ietf.org/.

Ø Standards provided: XHTML, CSS, JavaScript, the DOM, XML, XSLT, RSS, and Atom.

Not only does Ajax use each standard, but also these standards are either the fundamental building blocks of Ajax or may be used in exciting ways with Ajax web applications.

XHTML (Extensible HyperText MarkUp Language) W3C Standard

Ø XHTML --> HTML 4.0.1 as XML

Ø Versions:

o XHTML 1.0: January 26, 2000

o XHTML 1.1: May 31, 2001

o XHTML 1.2: August 1, 2002:

Module-based XHTML Recommendation: You could add other modules or components to create a new document type without breaking standards compliance (though it would break XHTML compliance)

o XHTML 2.0: Working Draft

o HTML forms --> XForms

o HTML frames --> XFrames,

o DOM Events --> XML Events

Development taking advantage of this recommendation will most likely be geared toward more specialized audiences that have the ability to view such applications, and not the general public

Ø Why not widely adopted?

o "if it ain't broke, don't fix it" mentality

o people just do not see the benefits of XML,

o no budget to change sites that already exist and function adequately.

o All deprecated features of HTML (presentation elements, framesets, etc.) were also removed completely Slow Adoption: People wondering how to do things without using frames and using CSS.

o No backward-compatiblity with previous versions of XHTML 1.0 and HTML.

Ø Potentials of XHTML

o Development of new applications on the Web,

o Use of those applications on different platforms such as mobile and wireless devices

More information at http://www.w3.org/MarkUp/.

Web Hypertext Application Technology Working Group (WHATWG)

Ø Formed on June 4, 2004.

Ø Mission: To develop specifications based on HTML and related technologies to ease the deployment of interoperable Web Applications, with the intention of submitting the results to a standards organization."

Ø Vision: Creating a single development environment on which web applications are built. Publishing technical specifications intended for implementation in what it calls "mass-market web browsers" such as Safari, Mozilla, and Opera.

Ø Together with W3C working on HTML 5 (Currently draft).

Ø HTML 5 abandons the strictness of XML that XHTML had adopted, and Focuses on adding new features to HTML itself. Added elements include nav, article, aside, section, header, footer, mark, time, meter, progress, figure, dialog, datagrid, details, menu, command, and more.

JavaScript ECMA Standard

Ø Netscape Communications Corporation's implementation of ECMAScript

Ø Now a registered trademark of Sun Microsystems,

Ø Microsoft’s implementation ECMA standard is JScript.

Ø Not to do with incompatibilities among web browsers which are actually due to differences in DOM implementation rather than JavaScript or its subset, ECMAScript.

Ø Versions:

o Initial: December, 1995

o JavaScript 1.5 <-- ECMA-262 Edition 3 standard.

o JavaScript is 1.7: Latest version as of 2007

§ New features: Array extras, String generics, and extensions such as pop( ), push( ), shift( ), and unshift( ).

Ø JavaScript technically does not comply with ECMA International standards.

o Mozilla -JavaScript (closer to standards)

o Internet Explorer -JScript, and

o Opera and Safari - other ECMAScript implementations

o

More information at http://www.ecma-international.org/publications/standards/Ecma-262.htm

Document Object Model (DOM) W3C Standard

Ø Levels:

o Level 1

o Level 2: Introduced modules to the specification:

§ November 13, 2000: The Core, View, Events, Style, and Traversal and Range

§ January 9, 2003: HTML module

o Level 3: Greater functionality to work with XML-->Move towards AJAXThe

§ December 15, 2003: Validation module

§ April 7, 2004: Core and Load and Save modules

§ Not all of the modules for DOM Level 3 have become recommendations yet, and because of that they bear watching. Following are working group notes:

· Abstract Schemas : since July 25, 2002;

· Events: November 7, 2003 (though it was updated April 13, 2006);

· XPath: since February 24, 2004; and

· Requirements and Views and Formatting: since February 26, 2004.

More Information at http://www.w3.org/DOM/DOMTR.

Cascading Style Sheets (CSS) W3C Standard

Ø Versions:

o May 12, 1998: "Cascading Style Sheets Level 2 (CSS2) Recommendation"

Most modern browsers support most of the CSS2 specifications, though there are some issues with full browser support. However, all modern browsers should fully support.CSS1

o August 2, 2002: CSS2.1. Working snapshot of the current CSS support in web browsers than an actual recommendation.

Browsers are working toward full implementation of the CSS2.1 standard mainly so that when the newer Cascading Style Sheets Level 3 (CSS3) finally becomes a recommendation they will not be as far behind the times.

o CSS3 has been under development since 2000:

· Idea of modularity with its design.

· Defines the styles needed for better control of paged media, positioning, and generated content, plus support for Scalable Vector Graphics (SVG) and Ruby--> Moving towards AJAX

More information at http://www.w3.org/Style/CSS/.

eXtensible Markup Language (XML) W3C Standard

Ø General language for describing different kinds of data

Ø One of the main data transportation agents used on the Web.

Ø Versions:

o XML 1.0: February 10, 1998, October 6, 2000, February 4, 2004.

o XML 1.1: February 4, 2004

Ø Gave consistency in character representations and relaxed names, allowable characters, and end-of-line representations.

Ø Why XML?

o It is self-documenting, meaning that the structure itself defines and describes the data within it.

o Because it is plain text, there are no restrictions on its use, an important point for the free and open Web.

o Both humans and machines can read it without altering the original structure and data.

Ø XML may not be the transportation mode of choice for many applications, but it may still be the foundation for the data that is being used in those applications by way of syndication feeds.

More information at: http://www.w3.org/XML/.

Syndication RDF-W3C Standard Atom-IETF Standard

Ø Syndication: Sections of a web site are made available for other sites to use, most often using XML as the transport agent.

Ø Sources of Feed: News, weather, and blog web sites,… no limitation

Ø Evolution:

o 1995: R. V. Guha (Apple Inc) created a system called Meta Content Framework (MCF)

o 1997: Microsoft released its own format, called Channel Definition Format (CDF)

o 1999: RDF-SPF 0.9 (renamed to RSS 0.9) -->syndication feeds began to take off.

Ø Two Types:

o RSS

§ Family of standards, all using XML for their base structure

§ RDF, the basis of RSS 1.0, is a W3C standard

§ Versions:

· RDF Site Summary (RSS 0.9 and 1.0)

· Rich Site Summary (RSS 0.91 and 1.0)

· Really Simple Syndication (RSS 2.0)

§ Each syndication format is different from the next, especially RSS 1.0. (This version is more modular than the others, but also more complex.) Most RSS processors can handle all of them, but mixing pieces from different formats may confuse even the most flexible processors.

o Atom

§ Syndication specification

§ Evolution:

· Different versions of RSS and resulting issues and confusion led to Atom 1.0 in July 2005,

· RFC 4287: December 2005.

§ Differences between Atom 1.0 and RSS 2.0:

· Unlike RSS 2.0, Atom 1.0 is within an XML namespace

· Unlike RSS 2.0, Atom 1.0 has a registered MIME type RSS 2.0 often sent as application/rss+xml

· Unlike RSS 2.0, Atom 1.0 includes an XML schema, and undergoes standardization. RSS 2.0 cannot it be modified due to its copyright.

·

More information at http://tools.ietf.org/html/4287

XSLT W3C Standard

Ø XML-based language used to transform, or format, XML documents.

Ø Versions:

o XSLT 1.0 : November 16, 1999As of

o XSLT version 2.0: January 23, 2007. Introduced XPath 2.0.

o Most browsers currently support only XSLT 1.0 and XPath 1.0.

Ø XSLT uses XPath to identify subsets of the XML document tree and to perform calculations on queries

Ø XSLT takes an XML document and creates a new document with all of the transformations, leaving the original XML document intact. In Ajax contexts, the transformation usually produces XHTML with CSS linked to it so that the user can view the data in his browser.

More information at http://www.w3.org/Style/XSL/.