Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
This is a Leanpub book. Leanpub empowers authors and publishers with the Lean Publishing
process. Lean Publishing is the act of publishing an in-progress ebook using lightweight tools
and many iterations to get reader feedback, pivot until you have the right book and build
traction once you do.
ndice general
1 Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Qu me ensea este libro? . . . . . . . . . . . . . . . . . .
1.3 Qu pasa cuando ingreso una direccin en mi navegador?
1.4 Lo que no es este libro . . . . . . . . . . . . . . . . . . . .
1.5 Ms materiales, cursos y Kleer . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
1
1
1
2
3
2 Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1 Dominios, direcciones IP y puertos . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 La web: HTTP y HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
4
4
3 HTTP . . . . . . . . . . .
3.1 Peticin (Request) . .
3.2 Respuesta (Response)
3.3 Cookies . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6
6
7
8
4 HTML5 . . . . . . . . . . .
4.1 Elementos . . . . . . .
4.2 Texto . . . . . . . . . .
4.3 Enlace o Vnculo (Link)
4.4 Formulario (Form) . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
9
10
11
11
5 CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
6 Aplicaciones Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1 Aplicacin mnima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 URL semnticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
16
18
7 Como seguir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
1 Introduccin
Este libro evoluciona!
Una de las ventajas de editar los libros en formato electrnico es que siempre pueden
mejorarse en base al feedback recibido. La edicin original de este libro se llev a cabo
de manera iterativa e incremental, recibiendo e incorporando sugerencias de amigos y
lectores de todas partes. Pero ese proceso no st completamente terminado, e invitamos
a todo lector a enviarnos ms ideas sobre este u otros libros.
Por favor, envianos tus comentarios a juan.gabardini@kleer.la martin.salias@kleer.la
Muchas Gracias!
1.1 Objetivo
Este libro est pensado como parte del material de soporte para un curso de 32 hs. El objetivo
del curso y del material asociado es que los asistentes / lectores logren una experiencia completa,
aunque breve, de desarrollo de una aplicacin web usando metodologas giles. El material
completo del curso incluye:
Introduccin a Scrum y desarrollo gil
Lenguajes de la Web (HTTP, HTML, CSS): Este libro!
Desarrollo gil de software
Introduccin
1. Ingreso en el navegador la direccin del la pgina que quiero acceder (por ejemplo:
www.w3.org).
Hablaremos sobre direcciones en el captulo Internet.
2. El navegador prepara un mensaje a esa direccin, solicitando la pgina.
Sobre el contenido del mensaje hablaremos en el captulo HTTP.
3. El servidor que tiene esa direccin recibe el mensaje, y se lo pasa a la aplicacin web
correspondiente. La aplicacin, prepara la pgina que se est pidiendo (consultando
archivos y bases de datos si fuera necesario).
Presentaremos ejemplos sencillos en el captulo Aplicaciones Web.
4. El servidor enva un mensaje con la respuesta (que incluye la pgina) al equipo que realiz
el pedido.
Esto lo veremos en el captulo HTTP.
5. Cuando el mensaje llega lo recibe el navegador, que lo interpreta y muestra segn
corresponda, pidiendo recursos adicionales a la aplicacin web, como imgenes o archivos
de estilos, si as lo indica la pgina.
Sobre como se muestra la pgina hablaremos en los captulos de HTML y CSS.
Introduccin
Auto-aprendizaje
Por ser el material de acompaamiento de un curso, no se incluyen en este libro las instrucciones
detalladas para realizar la actividades En los casos que existan, se incluirn las referencias
correspondientes.
No est pensado como un material para auto-aprendizaje. Varias de las actividades estn
pensadas para trabajar en grupos.
Si realmente quieres utilizar el libro para auto-aprendizaje, por favor avsanos cmo mejorarlo.
Para docentes
No est incluidas instrucciones sobre la preparacin del docente o facilitador. Si eres docente y
te interesa realizar el curso, comuncate con los autores.
2 Internet
2.1 Dominios, direcciones IP y puertos
Podemos comunicar computadoras en cualquier lugar del mundo gracias al conjunto de tecnologas y estndares que llamamos colectivamente Internet.
Para conectarnos, debemos poder identificar con quien nos queremos conectar, lo que logramos
con su dominio (como wikipedia.org), o su direccin IP (como 208.80.154.255).
La direccin IP funciona como un nmero telefnico, que nos permite llamar a cualquier telfono
del mundo. El dominio funciona como el nombre, y nos permite comunicarnos con quien
queremos aunque haya cambiado su nmero telefnico.
Como con el telfono, con el que podemos hablar o enviar un fax, tambin a travs de Internet
podemos tener distintas formas de comunicacin, que llamamos protocolos. As tenemos, entre
muchos otros, SSH y Telnet, que nos permiten conectarnos y realizar operaciones en otra
computadora, FTP que nos permite transferir archivos, SMTP que permite enviar mails, y HTTP
que permite transmitir hipertexto, que es lo que conocemos usualmente como la web.
Metcalfe http://es.wikipedia.org/wiki/Ley_de_Metcalfe).
http://es.wikipedia.org/wiki/Hipertexto
Internet
3 HTTP
Hypertext Transfer Protocol o HTTP (en espaol: protocolo de transferencia de hipertexto) es
el protocolo usado en cada transaccin de la World Wide Web. HTTP define la sintaxis y la
semntica que utilizan los elementos de software de la arquitectura web (clientes, servidores,
proxies) para comunicarse. Es un protocolo orientado a transacciones y sigue el esquema
peticin-respuesta (Request-response) entre un cliente y un servidor. El cliente (por ejemplo un
navegador web) efecta la peticin, y el servidor responde realizando la accin requerida. A la
informacin retornada o modificada se la llama recurso y se la identifica mediante un localizador
uniforme de recursos (URL). Los recursos pueden ser, del lado del servidor: archivos, el resultado
de la ejecucin de un programa, una consulta a una base de datos, la traduccin automtica de
un documento, etc. Del lado del cliente son todos iguales, una respuesta a una peticin.
HTTP es un protocolo sin estado; es decir que no guarda ninguna informacin sobre conexiones
anteriores. Esta desconexin tras cada interaccin peticin-respuesta puede parecer una debilidad en principio, pero es lo que da robustez y capacidad de escalar a la web en general. Parte
del problema es que -como sabemos- entre una peticin y la siguiente pueden pasar segundos,
minutos, horas o das. Si el servidor tuviese que mantenerse conectado con cada cliente posible,
las conexiones se le agotaran pronto.
El desarrollo de aplicaciones web, sin embargo, necesita frecuentemente mantener estado. Para
esto se usan varios mecanismos. El ms bsico y limitado es agregar parmetros en la URL
direccin de la pgina web, como vemos a menudo. El ms popular son las cookies, que es
informacin que el servidor enva, pero se almacena en el sistema cliente (es algo estndar
soportado por todos los navegadores). Esto le permite a las aplicaciones web instituir la nocin
de sesin, ya que las cookies pueden guardarse en el cliente por un tiempo determinado, variando
de minutos a siglos.
HTTP
POST
Corresponde a una operacin que crea o modifica los recursos del servidor. Se puede enviar
una cantidad arbitraria de datos. Los datos no son visibles para el usuario. Es el mecanismo
que se utiliza tpicamente cuando completamos un formulario en una pgina, al hacer clic
sobre el botn de confirmacin. El navegador pone todos los datos del formulario en una
peticin con este verbo y de esa manera los enva al servidor para que sean procesados.
Adems del verbo, la peticin incluye un encabezamiento con informacin que puede usar tanto
el servidor como los equipos intermedios que existen en Internet, como: Cookies, uso de Cache,
identificador de cliente (user agent) qu hace la peticin, tipo de respuesta esperada, etc.
Hay maneras de ver los valores de la peticin en el navegador. Por ejemplo en Chrome, usando
las herramientas de desarrollo (Ctrl+Shft+I), en la solapa de Red (Network) se pueden ver las
peticiones realizadas y haciendo click sobre una de ellas, se puede ver los datos que tuvo la
peticin y los datos devueltos en la respuesta.
Peticin
HTTP
2xx xito, la peticin fue aceptada y procesada. El cdigo ms comn es el 200 (Ok), que
significa que todo sali segn lo esperado.
3xx Redireccin a otro URL. En algunos casos es resuelta automticamente por el cliente.
4xx Errores correspondientes al cliente. El ms comn es el 404 (No encontrado), correspondiente a una peticin de un recurso que no est presente en el servidor.
5xx Errores correspondientes al servidor, que no pudo procesar correctamente una peticin. El
ms comn es el 500, correspondiente a un error interno en el servidor.
El cuerpo (body) de la respuesta contiene la informacin pedida (GET) o el resultado de la
operacin (POST). Puede ser un texto plano (sin estructura), HTML, XML, JSON (datos con el
formato de objeto JavaScript) u otros.
3.3 Cookies
Una cookie (o galleta informtica) es un paquete de informacin enviado por un sitio web y
almacenado en el navegador del usuario, de manera que el sitio web que la envi en una respuesta
puede consultar la actividad previa del usuario ante una peticin posterior.
Las cookies son utilizadas habitualmente por los servidores web para diferenciar usuarios y para
actuar de diferente forma dependiendo de stos. Tambin es una forma de mantener el estado de
usuario (por ejemplo, su ltima operacin, si pas o no por una pgina, si tiene o no productos en
un carrito de compras), y mantenerlo identificado a travs de varias pginas dentro del mismo
sitio.
Por medio del uso de cookies se puede tener memoria de las acciones pasadas de los usuarios a
pesar de estar trabajando con una tecnologa (HTTP) sin estado. Es importante destacar que las
cookies son enviadas por un servidor en el contexto de un dominio deteminado y slo pueden
ser accedidas desde ese mismo dominio. De esta manera, por ejemplo, Google no puede ver
las cookies que guard Yahoo, ni un sitio cualquiera puede ver las que hubiese dejado nuestro
banco, ms all de que se intente dejar informacin mnima, encriptada, etc.
http://es.wikipedia.org/wiki/Cookie_(inform%C3%A1tica)
4 HTML5
HTML (HyperText Markup Language, Lenguaje de marcado de hiper-texto) es un lenguaje
creado en los inicios de la web para poder dar estructura (y originalmente, algo de formato) a las
pginas.
HTML5 es la versin actual, en la que se ha hecho un esfuerzo especial para que la forma en que
se presenta la informacin (usando CSS) est separada de la estructura. Tambin en esta versin
se incorpora soporte nativo para varios tipos de informacin adicional (vdeos, audio, etc.) en
igualdad de condiciones que el texto y las imgenes, sin necesidad de componentes adicionales
plug-ins (como Flash, Shockwave, Java applets, Silverlight y otros, que era la manera en que este
tipo de medios se incorporaba anteriormente). Lo que muestran los navegadores al visitar una
pgina web (si no se usan plug-ins adicionales) es HTML renderizado: se muestra el contenido
(texto, vdeo, audio, etc) aplicando los estilos (CSS) y las opciones que el usuario haya definido
en el navegador (como por ejemplo tamao de texto).
En lo que resta de este libro si no lo mencionamos especficamente, estaremos hablando siempre
de HTML5, ya que las versiones anteriores estn cayendo en desuso rpidamente.
La forma en que se marca el texto es con tags (etiquetas). Hay varios tipos de lenguajes de
marcado. HTML es un sucesor de un lenguaje ms general llamado SGML del cual deriva tambin
XML. Veamos cmo funcionan estos tags:
4.1 Elementos
Un elemento HTML tiene la forma <tag atributo="valor">contenido</tag>.
<tag >
Apertura del tag, indica que tipo de elemento es (por ejemplo, un prrafo, un ttulo, una
imagen, etc).
atributo=valor
Un atributo del tag, que nos sirve para agregar informacin importante sobre lo que
estamos representando, pero para ser interpretada por el navegador mismo, o utilizada
por nuestra aplicaciones. Existen atributos globales, que aplican a todos los tags (como id,
class, style) y otros que dependen del tag (como el atributo href para el tag a).
contenido
Texto contenido entre los tags. Esto es lo que aparece usualmente en el navegador
http://es.wikipedia.org/wiki/HTML
http://es.wikipedia.org/wiki/HTML5
http://es.wikipedia.org/wiki/Xml
HTML5
10
</tag>
Cierre del tag. Puede omitirse en el caso de elementos vacos o autocontenidos en los que
el mismo tag sirve de apertura y cierre. Por ejemplo <br/> que representa un salto de linea
<hr/> que representa un salto temtico en medio de un texto (y por omisin se ve como
una lnea horizontal)
<!DOCTYPE html>
<html>
<head>
<title>Ttulo del documento</title>
</head>
<body>
Contenido del documento
</body>
</html>
DOCTYPE
Define el tipo de documento, para HTML5 es html.
html
Indica el inicio y fin de de la pgina. Contiene todos los elementos del documento.
head
Es un contenedor para la meta-informacin, y el lugar recomendado para incluir estilos
y scripts. Debe incluir un ttulo, y puede tener tags como meta, link, style y script. Ms
adelante veremos el uso de algunos de ellos.
body
Es donde gran parte de la magia sucede, porque es donde va el contenido visible de la
pgina, con la gran mayora de los tags, como p, form, input, div, h1..h6, a, table, img, div.
4.2 Texto
Sobre el texto se puede indicar los prrafos (p) y distintos niveles de encabezamiento para ttulos
y subttulos (h1, h2, h3, h4, h5, h6). Los espacios no son significativos, por lo que un texto con
muchos espacios intermedios no necesariamente se mostrar separado.
La codificacin del texto debe indicarse en el encabezamiento con un elemento meta, por
ejemplo <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">. De no
estar indicado, los navegadores modernos tratan de inferir la codificacin de los caracteres en
base a los contenidos.
http://www.w3schools.com/tags/ref_standardattributes.asp
11
HTML5
Para incorporar como contenido caracteres que tienen un sentido especial (reservados) se utilizan
entidades (entities). Los ms comunes son que corresponde a un espacio en blanco (nonbreaking space), < que corresponde a < (less than) y > que corresponde a > (greater than).
Como estos ltimos smbolos se utilizan para abrir y cerrar los tags, cuando queremos mostrarlos
tenemos que recurrir a estas entidades.
Tambin se pueden indicar caracteres acentuados para evitar depender de la codificacin
del encabezamiento, la codificacin que usamos en nuestros editores y la inferencia de los
navegadores. Por ejemplo la es á.
<!DOCTYPE html>
<html><head/><body>
<h1>Ejemplos de textos</h1>
<h2>Entidades para palabras reservadas</h2>
<p> Un párrafo con espacios < que 4</p>
</body></html>
Resultado
HTML5
12
que debe ingresar el usuario con elementos <input> mezclados con otros elementos.
Un formulario HTML5 puede contener elementos de ingreso de diferentes tipos:
de texto (type="text)
opciones con seleccin mltiple (type="checkbox)
alternativas (type="radio)
contraseas (type="password)
y el botn para enviar lo datos del formulario al servidor (type="submit)
Tambin se pueden tener opciones en listas desplegables: un elemento select que contiene dentro
otros elementos option.
Hay tipos adicionales y elementos adicionales, incorporados en HTML5. Deben usarse luego
de investigar como se comportan en los navegadores a los que nuestra aplicacin soportar, ya
que en este momento HTML5 no est absolutamente implementado en ningn navegador.
<!DOCTYPE html>
<html>
<body>
<form name="input" action="/persona/nuevo" method="put">
<p>Nombre: <input type="text" name="nombre"/></p>
<p>Apellido: <input type="text" name="lastname"/></p>
<p><input type="radio" name="sexo" value="masculino"/>Masculino
<input type="radio" name="sexo" value="femenino"/>Femenino</p>
<p><input type="checkbox" name="vehicle" value="biciclera">Tengo bicicleta<br>
<input type="checkbox" name="vehicle" value="automovil">Tengo automovil
<select name="automovil">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select></p>
<input type="submit" value="Confirmar">
</form>
</body>
</html>
13
HTML5
Resultado
5 CSS
Las hojas de estilo en cascada o CSS (Cascading Style Sheets) hacen referencia a un lenguaje
usado para describir la presentacin visual (el aspecto y formato) de un documento escrito en
lenguaje de marcado. Su aplicacin ms comn es dar estilo a pginas webs escritas en lenguaje
HTML, aunque tambin puede ser aplicado a cualquier tipo de documentos XML, incluyendo
SVG y XUL. Vamos a concentrarnos solamente en su uso con HTML.
La informacin de estilo puede ser adjuntada como un documento separado o en el mismo
documento HTML. En el primer caso, con un vnculo (link) en el encabezamiento; en el segundo
caso pueden definirse estilos generales en la cabecera del documento con un elemento (por
ejemplo <style>p {color:yellow;}</style>) o en cada tag (etiqueta) particular mediante el
atributo style (por ejemplo <p style=color:yellow;>Hola</p>).
CSS consiste en una serie de reglas, formada cada una por un selector y un bloque de estilos. Un
bloque de estilos consiste en una serie de pares propiedad=valor; entre llaves ({})
Los selectores marcarn qu elementos se vern afectados por el bloque de estilo que les siga.
Hay selectores en funcin de su tipo (por ejemplo p o h1), ID (#id_del_elemento), clase (.times),
etc. Un elemento html puede ser afectado por el estilo de varios selectores (esa es la razn por la
que hablamos de estilos en cascada de los CSS).
Un ejemplo de una parte de una hoja de estilos CSS:
ejemplo.css
body {background-color:#d0e4fe;}
h1
{color:orange;font-size:36pt;text-align:center;}
h2
{color:blue;}
p
{margin-left:50px;}
.times
{font-family:"Times New Roman";font-size:20px;}
ejemplo.html
<!DOCTYPE html>
<html>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<link rel="stylesheet" type="text/css" href="ejemplo.css">
<body>
<h1>Ejemplos de textos</h1>
<h2>Entidades para palabras reservadas</h2>
http://es.wikipedia.org/wiki/Hojas_de_estilo_en_cascada
15
CSS
Resultado
En el ejemplo se ven dos formas de indicar colores, con nombre predefinidos o con RBG
hexadecimal. Tambin se usan distintas unidades para la definicin de tamaos: por pixels y
por puntos (ver las unidades en CSS).
http://www.w3schools.com/CSSref/css_colornames.asp
http://www.w3schools.com/CSSref/css_colors.asp
http://www.w3schools.com/cssref/css_units.asp
6 Aplicaciones Web
Los primeros sitios web era exclusivamente pginas HTML estticas. Llamamos esttica a una
pgina HTML que no cambia, no depende de datos, debe ser modificada y vuelta a grabar. Por
ejemplo una persona que identifica nuevo contenido para agregar a su pgina personal, edita el
archivo HTML para incorporarlo.
Actualmente existen an pginas estticas, pero la gran mayora de las pginas que vemos en
Internet son dinmicas. Llamamos dimmica a una pgina que se genera mediante un programa,
para generar una respuesta especfica (response) dependiendo del pedido (request) del usuario.
PHP
En PHP con Apache (el servidor HTTP que tiene el 60% del mercado) se colocan los archivos en el
directorio inicial (en unix, /var/www; en OS X usualmente /Library/WebServer/Documents/).
Se puede acceder a la aplicacin yendo con el navegador a localhost las instalaciones por defecto
consideran que una pgina index.html
index.html
<!DOCTYPE HTML>
<html>
<body>
<form action="hola.php" method="post">
Nombre: <input type="text" name="nombre">
<input type="submit">
</form>
</body>
</html>
Aplicaciones Web
17
hola.php
<?php
Echo "Hola, " . $_POST["nombre"]. "!";
?>
Python y Flask
En Python con Flask, se puede ejecutar un servidor de prueba python hola.py y se puede
acceder a la aplicacin yendo con el navegador a localhost:5000
templates/hola.html
<!DOCTYPE HTML>
<html>
<body>
<form action="hola" method="post">
Nombre: <input type="text" name="nombre">
<input type="submit">
</form>
</body>
</html>
hola.py
Aplicaciones Web
18
Ruby y Sinatra
En Ruby con Sinatra se puede ejecutar un servidor de prueba ruby hola.rb y se puede acceder
a la aplicacin yendo con el navegador a localhost:4567
views/hola.erb
<!DOCTYPE HTML>
<html>
<body>
<form action="hola" method="post">
Nombre: <input type="text" name="nombre">
<input type="submit">
</form>
</body>
</html>
hola.rb
require 'sinatra'
get '/' do
erb :hola
end
post '/hola' do
"Hola, #{params[:nombre]}!"
end
Aplicaciones Web
19
http://ejemplo.com/servicios/legal/categoria/patentes_medicas
En los ejemplos que mostramos tanto en Ruby como en Python usamos URL limpias (http://localhost/hola)
e idnticas a pesar de las diferentes plataformas, mientras que el ejemplo PHP tiene detalles de
implementacin (http://localhost/hola.php).
Los frameworks y herramientas modernas de desarrollo web soportan, facilitan y promueven el
uso de URL semnticas.
7 Como seguir
Este libro contiene lo que consideramos conceptos mnimos para iniciarse en el aprendizaje del
desarrollo web.
Si el lector quiere empezar a desarrollar, deber seguir aprendiendo en mucha mayor profundidad. El aprendizaje nunca termina, menos an en una disciplina con tan rpida evolucin como
sta.
Queremos terminar este libro con los temas que nos hubiese gustado incluir, pero hubiesen hecho
este libro mucho ms extenso y nos obligaran tambin a entrar en detalles muchsimo ms
tcnicos.
JavaScript
las aplicaciones Web modernas son posibles gracias a Javascript en el cliente. Y ms an, se
comienza a utilizar Javascript para la parte de servidor de las aplicaciones. Es un mbito de
evolucin muy rpida, por lo que las tecnologas y herramientas cambian continuamente.
Pods empezar con lo bsico en w3schools.com, y utilizar bibliotecas que facilitan y
potencian el desarrolo, como JQuery.
AJAX o Asynchronous JavaScript And XML
Es un conjunto de tecnologas y prcticas que permiten actualizar el contenido de una
pgina en forma parcial y asncrona, logrando aplicaciones web de comportamiento ms
rico (RIA).
Seguridad
actualmente en el desarrollo de toda aplicacin web debe tenerse en cuenta la seguridad.
Un buen lugar para empezar es la Lista de las 10 vulnerabilidades ms comunes, de
OWASP.
Web 2.0
Aplicaciones Web en las que los usuarios generan contenido y se comunican directamente
entre s. Se logran mucha mayor permanencia de los usuarios en sitio. El valor del sitio
aumenta con el nmero de usuarios (efecto de red). Diseo centrado en el usuario, y por
ello, con fuerte uso de JavaScript y AJAX.
CSS - Uso Avanzado
Las pginas modernas manejan sus estilos separados del HTML y dependiendo fuertemente de hojas de estilos. Combinados con atributos div y span, se logran interfases de usuarios
ricas. Han surgido adems bibliotecas para simplificar la utilizacin de estilos consistentes
y modernos (como Bootstrap).
Escalabilidad y velocidad de respuesta
Los sitios masivos requieren el uso de tcnicas especficas para la optimizacin del uso
de los recursos tanto de los servidores como de las omputadoras de los usuarios. Estas
Como seguir
21
tcnicas y herramientas son las que permiten el funcionamiento de sitios que responden
a miles de pginas por minuto. Algunos de los temas a considerar son optimizacin de
bases de datos, diferentes niveles de caching, minifying, compresin de respuestas, reverse
proxy, granjas de servidores, balanceo de carga, y muchas ms.
http://www.w3schools.com/js/default.asp
http://jquery.com
https://es.wikipedia.org/wiki/AJAX
https://es.wikipedia.org/wiki/Rich_Internet_Application
https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project
http://getbootstrap.com/