Las novedades de HTML5 (III)

Después de las dos primeras entregas de este repaso a HTML5 (parte I y parte II), llegamos a la parte dinámica del estándar, lo que se añade al DOM y a Javascript para conseguir aplicaciones web avanzadas. Por un lado tenemos diversas APIs, es decir, conjuntos de funciones y herramientas que implementan un propósito concreto. Por el otro lado tenemos varias funciones y atributos que sirven a propósitos más generales y que no se pueden enmarcar en una API concreta.
HTML 5. Nuevas APIs
No está claro que todas las APIs siguientes se vayan a incluir en el estándar HTML5 propiamente, de hecho seguro que alguna de ellas se separará creando un estándar propio dedicado. De cualquier forma, estas son las nuevas APIs que nacen o se desarrollan en HTML5:
- Una API para dibujar en 2D, que se podrá usar junto al nuevo elemento canvas. Básicamente, se pueden pintar elementos sobre un lienzo, de manera similar a lenguajes como Java.
- Una API para controlar los nuevos elementos multimedia, video y audio. Así podremos controlar la reproducción con código Javascript, algo interesante pero que puede dar más de sí.
- Una API para guardar datos localmente, utilísimo para que las aplicaciones web puedan trabajar sin necesitar conexión a Internet. Ese DOM storage está ya implementado en las últimas versiones de los grandes navegadores, así que dentro de poco podremos disfrutar de esta clase de aplicaciones sin necesidad de extensiones como Google Gears.
- Una API para que las aplicaciones web puedan enlazarse a protocolos o tipos de archivos MIME, otro añadido extremadamente útil. Esto permitiría abrir las fotos de tu disco duro directamente en una aplicación de retoque online, o un archivo mp3 en una biblioteca online, etc…
- Una API para editar los campos que sean editables, valga la rebuznancia. Esto permite controlar los elementos HTML que son editables por el usuario, tipo Word. Por ejemplo, Google Docs o editar HTML en emails será muy sencillo, y con esta API es trivial cambiar ese contenido con Javascript.
- Una API para controlar las acciones Drag & Drop sobre los elementos que se puedan arrastrar. Esto se puede conseguir actualmente con algunas librerías, pero con esta API el navegador lo permite de manera nativa y más poderosa.
- Una API para controlar el historial desde una aplicación web. Esto permitirá a las aplicaciones web que se muevan con Javascript añadir páginas al historial para que los botones Atrás-Adelante funcionen siempre.
- Una API para habilitar la comunicación entre varias “páginas web”. Es decir, si tenemos varios iframes externos en una web, podemos comunicarnos con ellos y compartir información de manera segura, por ejemplo con gadgets de Facebook o similares.
HTML5. Novedades en el DOM
Se han añadido a los elementos del DOM nuevas funciones y atributos que facilitan su uso y permiten realizar acciones muy usadas. Aquí comentaré los más interesantes, que trabajan sobre el documento (HTMLDocument) o sobre cualquier elemento (HTMLElement).
- La función getElementsByClassName() se añade a todos los elementos y al documento. Su funcionamiento es similar a getElementsById(), pero en este caso selecciona todos los elementos del documento o de cierto subárbol del documento que contengan esa clase. Su definición es tan amplia que incluso elementos que contenga SVG o MathML pueden ser encontrados.
- El atributo classList está disponible para cualquier elemento, y contiene una lista con todas las clases que tiene ese elemento. Además contiene varios métodos que facilitan trabajar con esa lista: buscar, modificar, borrar, etc. Muy útil para trabajar con elementos que puedan tener más de una clase, es muy sencillo y muy conveniente de usar. Los enlaces también tienen un elemento similar adicional llamado relList que permite lo mismo pero con el atributo rel (como el famoso rel=”nofollow”).
- El atributo innerHTML se añade, por fin, al estándar. Prácticamente usado por todas las aplicaciones web y soportado por todos los navegadores, creo que todos los desarrolladores web lo conocen de sobra. Para aquellos que no lo conozcan, este atributo permite trabajar con el contenido de un elemento en texto plano, incluso cambiando elementos HTML que pueda haber. Igualmente, se añade a todos los elementos y al propio documento, pudiendo cambiar TODO el contenido de una web.
- Los atributos activeElement y hasFocus están disponibles sobre un documento, y permiten conocer qué elemento está activo y si el documento tiene el foco, respectivamente.
- La función getSelection() se aplica también al documento y devuelve un objeto con el texto y elementos que están seleccionados.
- El atributo designMode es otra novedad sobre el documento e indica/modifica que el documento pueda o no ser editado.
- La función execCommand() se aplica sobre el documento y permite ejecutar acciones o “comandos” típicos de edición de documentos. Por ejemplo, con este método se llamaría a los útiles copiar/pegar, pero también a otros típicos como crear un enlace o cambiar el color de un elemento. Como el anterior, la mayoría de estos comandos trabajan sobre elementos editables.
Con esto ya hemos acabado con todas las novedades de HTML5, al menos las más importantes e interesantes para los desarrolladores web. Pero aún nos queda una parte muy importante: los elementos y atributos que se eliminan del estándar y que formaban parte de HTML4 y anteriores. Son muchos y variados, y algunos pueden causar más de un dolor de cabeza, así que los dejamos para la cuarta y última entrega de este especial.
Enlace | Las novedades de HTML5 (I)
Enlace | Las novedades de HTML5 (II)
Enlace | Las novedades de HTML5 (y IV)
Enlace | Borrador actual de HTML5
Ver más | HTML5
5 Comentarios »
RSS feed para los comentarios de este post. TrackBack URL
Colabora con este blog. Añade tu comentario
Categorías Pincha en una para ver temas relacionados
- Entrevistas
(39)
- Servicios en la red
(607)
- Compras online
(4)
- Copias de seguridad
(27)
- eBooks
(17)
- Fotografía digital
(23)
- Herramientas
(214)
- Intercambio de archivos
(44)
- Libros electrónicos
(7)
- Música online
(34)
- Ofimática
(30)
- Seguridad
(3)
- Sincronización
(21)
- Videoconferencia
(8)
- Videojuegos
(83)
- Vídeos online
(41)
- Web 2.0
(146)
- Compras online
- Tecnología
(219)
- ADSL
(19)
- Anexo M
(60)
- Aplicaciones de escritorio
(26)
- Diseño web
(36)
- Mi conexión
(55)
- Protocolos
(13)
- VoIP
(4)
- ADSL
Top etiquetas Pincha en una para ver temas relacionados
- Cómo solicitar la Tarjeta Sanitaria Europea (TSE) por Internet - 169.406 views
- Consejos para aumentar el alcance de la señal Wi-Fi - 89.848 views
- Trucos para acelerar Google Chrome - 78.277 views
- Disco duro multimedia o HTPC: claves para elegir la mejor opción - 69.720 views
- Las mejores páginas para descargar música libre de derechos - 57.873 views
- Trucos para acelerar Firefox (I) - 52.709 views
- Los mejores editores de vídeo online - 46.272 views
- Conoce tu conexión: PTR y PCR - 33.571 views
- Así funciona Spotify, la última revolución de Internet - 32.397 views
- Las novedades de HTML5 (I) - 31.202 views
- Los mejores juegos online de 2011 para Wii (3)
- Cómo utilizar el Escritorio Remoto de Windows 7 (2)
- Por qué todo el mundo habla de Pinterest, la nueva gran red social (2)
- Crea tus propios memes en un minuto con un editor (2)
- Path, la red social que se alimenta de redes sociales (2)
- Demasiadas fotos en Facebook, ¿cómo me organizo? (2)
- Tres alternativas para monitorizar tus rutas y entrenamientos (1)
- Wi-Fi 802.11ac: todo lo que necesitas saber de la nueva generación Wi-Fi (1)
- Qualcomm Game Command se une a los videojuegos para móvil (1)
- Los mejores juegos online de 2011 para Xbox 360 (1)

— 01/07/2009 @ 22:49
Posteado por: HTML 5... el futuro, ahora - VladPoint
— 18/07/2009 @ 22:25
Posteado por: 20 enlaces en español para comenzar con HTML5 « HTML 5, información útil en español
— 10/10/2011 @ 11:25
Posteado por: internet ya
— 24/10/2011 @ 14:37
Posteado por: Antena3
— 16/12/2011 @ 11:23
Posteado por: Jose Francisco