New Kid on the Block
Standardization and Implementation
Open Source Resurgence
In early days of the web, sites relied entirely on complete HTML pages. This meant that any action a user took required a full refresh of content, meaning the HTML for the entire page needed to be reloaded from the server, even for a partial change. Inefficient from a user experience standpoint, Microsoft released the first implementation of the iframe tag, or inline frame in Internet Explorer in 1996 in order to load content asynchronously. An iframe is an HTML document within another HTML document.
While this technology remained relatively unused, it began to see larger implementation through online applications such as Outlook Web App (2000), Gmail (2004), and Kayak.com’s (2004) public beta release.
So what’s a framework? A framework is a comprehensive piece of reusable software that provides a standard way to build and deploy applications. Thus, with a framework, the control flow of the application is dictated by the framework and not the developer (inversion of control). On the flip-side, a library is simply a collection of related reusable resources—i.e. functions to help perform a specific task, like making an AJAX request—leaving the developer in control.
A Full-Stack Solution
Single Page Applications
The advantage of this approach being that the browser is provided with all of the necessary code on initial page load, loading any other resources dynamically, without the need reload or navigate to a different page. Because the application is executed the same way both server- and client-side it is more manageable and debuggable as the difference between the server-side and client-side code is not the language or templating system used, but rather what and how data is provided.
Libraries and Frameworks
Where Does That Leave Us?