- 1997—Dynamic HTML
- Dynamic HTML allows you to dynamically change the content and appearance of a web page. You achieve this by manipulating the Document Object Model (DOM) of the page, a tree-shaped data structure. Things you can do include changing content, changing style, and showing and hiding elements. Dynamic HTML appeared first in Internet Explorer 4 and in Netscape Navigator 4.
- 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.
- 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, and more.
- 2005—Ajax, browser-based desktop-class applications
XMLHttpRequest) and dynamically updating the current page with the results (via dynamic HTML). That was a considerable usability improvement from always performing complete page reloads.
- 2006—jQuery, helping with DOM manipulation
- The browser DOM is one of the most painful parts of client-side web development. jQuery made DOM manipulation fun by abstracting over browser differences and by providing a powerful fluent-style API for querying and modifying the DOM.
- 2007—WebKit, taking the mobile web mainstream
- Based on prior work by KDE, WebKit is an HTML engine that was introduced by Apple in 2003. It was open-sourced in 2005. With the introduction of the iPhone in 2007, the mobile Web suddenly became mainstream and had little to no limitations compared to the nonmobile Web.
- “Because it’s bare and does not come with I/O APIs.” [Node.js can thus introduce its own nonblocking APIs.]
- “DOM API is event-based. Everyone is already used to running without threads and on an event loop.” [Developers are used to an asynchronous coding style.]
- 2009—PhoneGap, writing native apps in HTML5
- PhoneGap was created by a company called Nitobi that was later purchased by Adobe. The open source foundation of PhoneGap is called Cordova. The initial mission of PhoneGap was to make it possible to implement native mobile apps via HTML5. Since then, support has expanded to nonmobile operating systems. Currently supported platforms include Android, Bada, BlackBerry, Firefox OS, iOS, Mac OS X, Tizen, Ubuntu, Windows (desktop), and Windows Phone. Apart from HTML5 APIs, there are also PhoneGap-specific APIs for accessing native features such as the accelerometer, camera, and contacts.
- 2009—Chrome OS, making the browser the operating system
- It is much easier to create an operating system, because all of the user interface technology is already there.
- Many developers already (mostly) know how to write apps for the operating system.
- Managing apps is simple. That helps public installations such as Internet cafes and schools.
We also need a hill to take, in order to scope and focus our efforts. Recently we saw the pdf.js project [which renders PDFs via HTML5, without plugins] expose small gaps that needed filling in order for “HTML5” to be a superset of PDF. We want to take a bigger step now, and find the gaps that keep web developers from being able to build apps that are—in every way—the equals of native apps built for the iPhone, Android, and WP7.
- 2011—Windows 8, first-class HTML5 apps
- When Microsoft introduced Windows 8, it surprised everyone with the operating system’s extensive integration of HTML5. HTML5 applications are first-class citizens in Windows 8, on par with those implemented via incumbent technologies such as .NET and C++. To demonstrate that point, Microsoft wrote several important Windows 8 applications in HTML5 (plus calls to native APIs), including the app store and the email app.
 Ajax is a shorthand, but not an acronym, which is why it isn’t styled as AJAX.