10.02.2014 Views

Beginning Ajax With ASP.NET (2006).pdf

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 3<br />

From Static to Dynamic — A Brief History<br />

Approximately 10 years ago in 1995, almost a lifetime in computer industry terms, a man by the name<br />

of Brendan Eich developed a loosely typed scripting language intended to make Netscape Navigator’s<br />

newly added Java support more accessible to non-Java programmers. On December 4, 1995, Netscape<br />

and Sun jointly announced the existence of the new JavaScript language to the world.<br />

Although the original intent of JavaScript was to further the Java language, it soon took on a life of its<br />

own. JavaScript was commonly used to manipulate images and HTML documents’ contents, instead of<br />

just manipulating and controlling Java applets. Although JavaScript retains the use of Java within its<br />

name, currently it bears no relationship to the core Java language other than the fact that Java was used<br />

to model the original language characteristics of JavaScript. This is often a source of confusion for developers,<br />

who assume JavaScript to be a subset of the Java core language. The development of JavaScript<br />

has taken on a life of its own.<br />

Using JavaScript, previously static web content could now be dynamically manipulated. Web programmers<br />

the world over began to see enormous new potential in their web applications. Initially, a vast<br />

majority of web applications used JavaScript simply to change images in response to a mouse click by<br />

the user. JavaScript was not without its issues however. Browser compatibility issues and security issues<br />

plagued initial implementations, and it has undergone many revisions over the course of its lifetime.<br />

JavaScript has evolved into the primary way to control and extend the way in which document authors<br />

and web application designers can manipulate the client’s browser experience.<br />

Currently, JavaScript is the only way to achieve any sort of dynamic behavior on the client in a crossbrowser-compatible<br />

way. Microsoft also attempted to address the issue of dynamic content and interaction<br />

on web pages by releasing VBScript, a scripting language closely resembling the Visual Basic syntax that<br />

was initially limited to the windows platform. Microsoft also released a port of JavaScript, called JScript<br />

in 1996. This fragmentation of scripting languages, the fact that Microsoft’s scripting languages were not<br />

quite as powerful as JavaScript, and the fact that they were a revision or two behind led to JavaScript<br />

being the more popular choice for dynamic web content, in particular, the very popular image swapping<br />

effects.<br />

Attempts at Standardization<br />

As browsers evolved and dynamic web pages became more popular, differences in browsers and their<br />

implementations became apparent. Internet Explorer would implement a feature in one way, whereas<br />

Netscape would implement features in another (albeit often quite similar) way. The natural effect of this<br />

was to attempt to standardize the JavaScript language by submitting it to the European Computer<br />

Manufacturers Association (ECMA). JavaScript now had a new name: ECMAScript. ECMAScript was<br />

adopted in June 1997 by ECMA, and in 1998 by ISO (International Organization for Standardization).<br />

While JavaScript was being standardized, browser vendors were releasing yet another version of their<br />

browsers. This was approximately around the time of the 4.0 release generation of browsers. <strong>With</strong> new<br />

abilities to dynamically update client-side content, browser vendors implemented object models within<br />

the browser to represent the documents they contained; each of these was known as the Document<br />

Object Model (DOM) by their respective browser vendor. Unfortunately, most vendors implemented<br />

different object models, making dynamic content difficult on browsers from different vendors.<br />

30

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!