Source: http://write.flossmanuals.net/summary-of-firefox/how-the-web-works/
Tim Berners-Lee
Works at CERN
Tim Berners-Lee invented www in 1989
Documents & other resource sharing
Senior Software Engineer
TSS Consultancy PVT LTD
Source: https://home.cern/topics/birth-web
Form, table(with ceavate), input, button, etc.
form-based file upload, tables, etc
December, 1996
December, 1997
Brendan Eich
w3c recommended 1st version
standard released under
Abandoned version
Become official standard Jan 1998
Source: http://royal.pingdom.com/2007/12/07/a-history-of-the-dynamic-web/
Source: http://www.scottgu.com/blogposts/viewdata/step5.png
Source: https://docs.jboss.org/tools/4.0.1.Final/en/GettingStartedGuide/html/jsp_application.html
<widget>
<debug>on</debug>
<window title="Sample Konfabulator Widget">
<name>main_window</name>
<width>500</width>
<height>500</height>
</window>
<image src="Images/Sun.png" name="sun1">
<hOffset>250</hOffset>
<vOffset>250</vOffset>
<alignment>center</alignment>
</image>
<text data="Click Here" size="36" style="bold">
<name>text1</name>
<hOffset>250</hOffset>
<vOffset>100</vOffset>
<alignment>center</alignment>
<onMouseUp>
sun1.opacity = (sun1.opacity / 100) * 90;
</onMouseUp>
</text>
</widget>
Source: http://digg.com/2017/best-most-memorable-adobe-flash-websites
aka XHR (1999)
var request = new XMLHTTPRequest();
request.onload = function() {
console.log(this.responseText);
};
request.open('get', 'endpointUrl');
request.send();
{
"widget": {
"debug": "on",
"window": {
"title": "Sample Konfabulator Widget",
"name": "main_window",
"width": 500,
"height": 500
},
"image": {
"src": "Images/Sun.png",
"name": "sun1",
"hOffset": 250,
"vOffset": 250,
"alignment": "center"
},
"text": {
"data": "Click Here",
"size": 36,
"style": "bold",
"alignment": "center",
"onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"
}
}
}
(early 2000)
People started thinking to render their application using AJAX dynamically
home.html
contact.html
about.html
<html>
<head>
<link href="style.css" />
<script src="app.js"></script>
</head>
<body>
<header></header>
<section>
<sidebar></sidebar>
Home Content
</section>
<footer></footer>
</body>
</html>
<html>
<head>
<link href="style.css" />
<script src="app.js"></script>
</head>
<body>
<header></header>
<section>
<sidebar></sidebar>
Contact Content
</section>
<footer></footer>
</body>
</html>
<html>
<head>
<link href="style.css" />
<script src="app.js"></script>
</head>
<body>
<header></header>
<section>
<sidebar></sidebar>
About Content
</section>
<footer></footer>
</body>
</html>
index.html
<html>
<head>
<link href="style.css" />
<script src="app.bundle.js"></script>
</head>
<body>
<header></header>
<section>
<sidebar></sidebar>
<placeholder></placeholder>
</section>
<footer></footer>
</body>
</html>
URL: #/home
URL: #/about
URL: #/contact
<div>
Home Content
<div>
<div>
About Content
<div>
<div>
Contact Content
<div>
Static Pages
Server side rendering
Dyanamic page rendering
AJax & JSON
Single Page App
Bundling & Minifiction
Lazyloading & code spliting
Isomorphic App
(with node)
(wasm)
+ HTTP2
+ Service Worker
+ Web Components
+ WebAssembly
+ etc...