After JavaScript came out, Microsoft implemented the same language, under the different name JScript, in Internet Explorer 3.0 (August 1996). Netscape decided to standardize JavaScript and asked the standards organization Ecma International to host the standard. Work on a specification called ECMA-262 started in November 1996. The first edition of ECMA-262 came out in June 1997. Because Sun (now Oracle) had a trademark on the word Java, the language to be standardized couldnt be called JavaScript. Hence, the following naming was chosen: ECMAScript is the name of the standard language, its implementations are officially called JavaScript, JScript, etc. Naturally, when talking unofficially about either the standard or its implementations, one mostly uses the term JavaScript. The current version of ECMAScript is 5.1, which means the same as ECMA-262, edition 5.1. That version has also become an ISO standard: ISO/IEC 16262:2011.
ECMA-262 is managed and evolved by Ecmas Technical Committee 39 (short: TC39). Its members are companies such as Microsoft, Mozilla, or Google, which appoint employees to participate in committee work three names among several: Brendan Eich, Allen Wirfs-Brock (editor of ECMA-262) and David Herman. TC39s work includes discussing the design of upcoming versions via open channels such as a mailing list.
Reaching consensus and creating a standard is not always easy, but thanks to it, JavaScript is a truly open language, with implementations by multiple vendors that are remarkably compatible. That compatibility is made possible by a very detailed and concrete specification. For example, it often uses pseudo-code to specify things. The specification is complemented by a test suite called test262 that checks an ECMAScript implementation for compliance. It is interesting to note that ECMAScript is not managed by the World Wide Web Consortium (W3C). TC39 and the W3C collaborate wherever there is overlap between JavaScript and HTML5.
Historic JavaScript Milestones
It took JavaScript a long time to make an impact. Many technologies existed for a while until they were discovered by the mainstream. This section describes what happened since JavaScripts creation until today. Throughout, only the most popular projects are mentioned and many are ignored, even if they were first. Two examples: the Dojo Toolkit is listed, but there is also the lesser-known qooxdoo, which was created around the same time. And Node.js is listed, even though Jaxer existed before it.
1997 Dynamic HTML. Dynamic HTML allows one to dynamically change the content and appearance of a web page. That is achieved by manipulating the Document Object Model (DOM) of the page: changing content, changing style, showing and hiding elements, etc. Dynamic HTML appeared first in Internet Explorer 4 and in Netscape Navigator 4.
1999 XMLHttpRequest. This API lets a client-side script send an HTTP or HTTPS request to a server and get back data, usually in a text format (XML, HTML, JSON). It was introduced in Internet Explorer 5.
2001 JSON, a JavaScript-based data exchange format. In 2001, Douglas Crockford named and documented JSON (JavaScript Object Notation) a Lisp-like idea to use JavaScript syntax to store data in text format. JSON uses JavaScript literals for objects, arrays, strings, numbers, and booleans to represent structured data. Example:
{ "first": "Jane", "last": "Porter", "married": true, "born": 1890, "friends": [ "Tarzan", "Cheeta" ]}
Over the years, JSON has become a popular lightweight alternative to XML, especially when structured data is to be represented and not markup. Naturally, JSON is easy to consume via JavaScript.
2004 Dojo Toolkit, a framework for programming JavaScript in the large. The Dojo Toolkit facilitates programming in the large by providing the necessary infrastructure: an inheritance library, a module system, an API for desktop-style graphical widgets, etc.
2005 Ajax, browser-based desktop-class applications. Ajax is a collection of technologies that brings a level of interactivity to web pages that rivals that of desktop applications. One impressive example of what can be achieved via Ajax was introduced in February 2005: Google Maps. You were able to pan and zoom over a map of the world, but only the content that was currently visible was downloaded to the browser. After Google Maps came out, Jesse James Garrett noticed that it shared certain traits with other interactive websites. He called these traits Ajax, an acronym for Asynchronous JavaScript and XML. The two cornerstones of Ajax are: First, loading content asynchronously in the background (via XMLHttpRequest). Second, dynamically updating the current page with the results (via dynamic HTML). That was a considerable usability improvement from always performing complete page reloads.