Evolution of Web Development

Frameworks, Libraries, Dynamic Content (2000s)


Learning Objectives

  • You know of some of the milestones in web development from the 2000s.

During the early web, server-side functionality was developed in an ad-hoc manner. This lack of structure highlighted the need for a better approach, leading to the emergence of web frameworks. The early 2000s saw the rise of frameworks such as Struts, Spring, Ruby on Rails, and Django.

These frameworks introduced a structured flow for handling web requests, similar to the applications built in this course. In essence, when a request is received, it is mapped to a route, which is then processed by a controller. The controller interacts with a repository layer to perform database operations, and the resulting data is returned to the controller. The response is then formatted (e.g., as HTML or JSON) and sent back to the client.

Although the specific implementations and terminologies varied between frameworks, the underlying concept remained consistent.

Loading Exercise...

On the client-side, exploration into dynamic content continued to evolve. Flash became a popular choice for creating animations and interactive content, while JavaScript continued to gain a foothold as the dominant client-side scripting language. One of the key parts of JavaScript gaining foothold was the ECMAScript standardization effort, which gathered industry-wide support.

Despite this standardization, browsers often differed in how — or whether — they adhered to the standard. For developers, this created challenges in building cross-browser functionality, requiring browser-specific workarounds and duplicating effort.

This challenge led to the creation of JavaScript libraries, which aimed to provide a unified interface for client-side development. One of the most popular (and still widely used) library was jQuery, which simplified “Vanilla JavaScript” by abstracting away browser inconsistencies, allowing code that (in principle) worked across browsers. There were, however, also limitations to browser versions, leading to web pages displaying messages such as “Works best with browser version yyy or newer”.

Loading Exercise...

A key milestone in creating dynamic functionality for the web was the emergence of AJAX (Asynchronous JavaScript and XML). AJAX built on the XMLHttpRequest API, which Microsoft introduced in Internet Explorer in 1999. This allowed writing JavaScript code that would query the server, fetch data, and then update parts of the web page without requiring a full reload. This enabled the development of web applications that were more responsive and interactive than before. Unsurprisingly, jQuery also provided a unified interface for AJAX functionality, simplifying its use for developers.

Loading Exercise...