A "Brief" History of the Web Part 2
Tags: webdev, beginners, javascript, codenewbie
Published: 2021-09-26 03:58:16

In the last post in the series, we left off around a bit after 1993. Dynamic data-based applications were possible via the use of server side scripts.

# CSS Standardization
In 1994 Cascading Style Sheets (CSS), a language for affecting the presentation of HTML documents, was proposed by [Håkon Wium Lie](https://en.wikipedia.org/wiki/H%C3%A5kon_Wium_Lie). 

The [World Wide Web Consortium W3C](https://en.wikipedia.org/wiki/World_Wide_Web_Consortium) was founded in 1994 as the standards organization of the Web and is still led by Tim Berners-Lee up to the time of writing.

Additionally, in 1994, HTML version 4 was published with CSS support and CSS became recommended by the W3C. 


# The Rise JavaScript

At this time webpages could be described as 'dynamic' but only until they were loaded in the browser. Until the next page load, the experience was static. There was great desire to add interactivity to webpages after being loaded. 

Hence, In 1995 the first version of a web browser was released with support of a new programming language created by [Brendan Eich](https://en.wikipedia.org/wiki/Brendan_Eich). That language later came to be known as JavaScript. 

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/igqeto02f5c5wcsv7e4d.png)
JavaScript running in the Netscape Browser 

Now, we can manipulate the page, alert and prompt the user without performing a page navigation!

In 1997 JavaScript was standardized as [ECMAScript](https://en.wikipedia.org/wiki/ECMAScript) Version 1, ushering JavaScript to be supported across all browsers.

# AJAX
Using JavaScript, web pages became more interactive but more was left to be desired. If for instance, some data was changed in the database our page must be reloaded to retrieve it and see those changes. Additionally, when submitting a form; a page navigation must be made to the script handling the form data. 

Browser vendors experimented with various methods for having the browser make http requests in the background (or asynchronously) and then update the page with the response. In April 2006 the World Wide Web Consortium [W3C](https://en.wikipedia.org/wiki/World_Wide_Web_Consortium) standardized the [XMLHTTPRequest (XHR) Object ](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest) as a means to achieve this.

This was big, now there was a standardized method for developers to have their web applications send and receive data without page loads! This revolutionized web application experiences. App-like sites like Gmail were now possible.

![image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8jw7y1tgmhwpmphq49gf.png)

The term Asychronous JavaScript and XML (AJAX) was coined to refer to this method of building dynamic web applications using XHR.
Instead of returning HTML, some of our server side scripts can simply return our data as XML/JSON. Our JavaScript will request it then perform templating on the browser to display the data.
 
Nowadays this is referred to as Client Side Rendering as opposed to Server Side Rendering when templating was done by the server side script.


# Almost There
I'm sure the technologies and methods in this article are familiar to the modern dev. We shall finish this series in the next and final post.


# References
* [A Brief History of JavaScript](https://auth0.com/blog/a-brief-history-of-javascript/)
* [AJAX Programming](https://en.wikipedia.org/wiki/Ajax_(programming))