Una història de la web
... i el desenvolupament web
1980 - 1991
Naixement de la web
Invenció i implementació de:
HTTP, HTML, URL + Navegador
HTTP
GET, POST, PUT, DELETE...
HTML
<h1>, <p>, <ul>... i sobretot <a>
URI
Uniform Resource Identifier
Navegador
Primer navegador: WorldWideWeb
Primera web (1991)
1992 - 1999
La web estàtica
Webs en HTML
<html>
<head>
<title>Web title</title>
</head>
<body>
<font color="#A40317">
<font size=+2>
Header
</font>
</font>
<p>
<font color="#000000">
Lorem ipsum...
</font>
</p>
<p>
<font color="#000000">
Lorem ipsum...
</font>
</p>
</body>
</html>
Vilaweb (1996)
UB (1996)
Generalitat (1997)
Limitacions
El contingut és estàtic
Les webs són arxius .html
L'estil és una mica pobre
Estil a l'HTML:
<font color="#ff000">, <font size="+2">, <table>
2000 - 2006
La web dinàmica
Blogs, fòrums, wikis...
Estil amb CSS
Fonts, colors, espaiat...
Al servidor triomfa el LAMP
Linux + Apache + MySQL + PHP
Arquitectura LAMP
Request
Response
Wikipedia (2003)
Wordpress (2005)
Un client més ric?
JavaScript
- S'executa al navegador
- Molt lent
Exemples:
- Compte enrere
- Amagar i mostrar elements
Un client més ric?
Flash
Un client més ric?
Java Applets
Limitacions
Pàgines poc interactives
Flash i Java no arriben a tothom
Fer webs "des de zero" és costós
2007 - 2011
La web interactiva
GMail, Twitter, Facebook...
AJAX
Asynchronous JavaScript and XML
Canviar el contingut de la web sense actualitzar
GMail
Al servidor: agilitzem el desenvolupament
Request
Response
Sempre fem el mateix
-
CRUD (Create, Read, Update, Delete)
-
Gestionar usuaris (registre, login, contrasenya...)
-
Contingut en diverses llengües
-
Llegim paràmetres per GET i POST
Organització del codi: Model - View - Controller
Model - View - Controller
class BlogPost:
author = User()
title = String()
body = Text()
Model
Controller
URLs, GET, POST...
<h1>
{{ post.title }}
</h1>
<p>
by {{ post.author }}
</p>
{{ post.body }}
View
Request
Response
Frameworks
Frameworks al LAMP
Request
Response
Django / RoR + AJAX
Microframeworks
2012 - ...
Interacció total!
Aplicacions riques a tot arreu
HTML5 + CSS3
-
<video>
-
<audio>
-
<canvas>
-
<svg>
-
MathML
-
WebSockets
-
File API
-
CSS transitions
JavaScript renaix
Cada cop més ràpid, fa més coses
Frameworks per JavaScript
al client
JavaScript al servidor
Microframeworks
... i en el futur?
Web 3.0
Arquitectures decentralitzades,
enlloc de servidors centrals
Desenvolupament del client unificat
Mateixa implementació de webs, aplicacions mòbils...
Una història de la web... i el desenvolupament web
By victorlf
Una història de la web... i el desenvolupament web
- 358