Mejoras Del Html5 Comparado Con El Html4

14
Mejoras del html5 comparado con el html4 HTML5 es la especificación que define la quinta revisión importante del lenguaje básico de la World Wide Web: el Hypertext Markup Language (HTML). HTML5 es la piedra angular de la Plataforma Web Abierta, un entorno de programación completo para aplicaciones multiplataforma con acceso a las capacidades de vídeo, animaciones, gráficos, estilo, tipografía y otras herramientas de edición digital, amplias capacidades de red, y mucho más. Entre las nuevas características cabe resaltar: Nueva semántica y elementos estructurales HTML5 multimedia: audio y video, Dibujo, animación de gráficos con el elemento Canvas, interacciones con vídeo HTML5 Forms API de JavaScript: DOM, la geolocalización, la orientación Persistencia: Dom almacenamiento, memoria caché, IndexedDB HTML5 está aquí y ya se puede empezar a usar porque se está implementando en los últimas versiones de los navegadores esto beneficiará la creatividad de los desarrolladores y diseñadores Web podrán poner a prueba sus habilidades a través de numerosas nuevas funcionalidades.

Transcript of Mejoras Del Html5 Comparado Con El Html4

Page 1: Mejoras Del Html5 Comparado Con El Html4

Mejoras del html5 comparado con el html4

HTML5 es la especificación que define la quinta revisión importante del

lenguaje básico de la World Wide Web: el Hypertext Markup Language (HTML).

HTML5 es la piedra angular de la Plataforma Web Abierta, un entorno de

programación completo para aplicaciones multiplataforma con acceso a las

capacidades de vídeo, animaciones, gráficos, estilo, tipografía y otras

herramientas de edición digital, amplias capacidades de red, y mucho más.

Entre las nuevas características cabe resaltar:

Nueva semántica y elementos estructurales

HTML5 multimedia: audio y video, Dibujo, animación de gráficos con el

elemento Canvas, interacciones con vídeo HTML5 Forms

API de JavaScript: DOM, la geolocalización, la orientación

Persistencia: Dom almacenamiento, memoria caché, IndexedDB

HTML5 está aquí y ya se puede empezar a usar porque se está implementando

en los últimas versiones de los navegadores esto beneficiará la creatividad de

los desarrolladores y diseñadores Web podrán poner a prueba sus habilidades

a través de numerosas nuevas funcionalidades.

Page 2: Mejoras Del Html5 Comparado Con El Html4

Las principales diferencias entre HTML5 y HTML4

Estamos en un momento del desarrollo web muy activo, llevamos cierto tiempo

con gran cantidad de cambios, nuevas tendencias y sobretodo nuevas

necesidades. Por esto me siento afortunado de estar viviendo esta oleada de

cambios que a mi parecer algún día terminarán.

Un cambio que ahora estamos viviendo es el nacimiendo de HTML5, una

nueva revisión del estandard que mueve Internet y hace posble que ahora

estemos interactuando (los usuarios que leen la página).

El aumento de necesidades han dado lugar a la aparición de nuevos tags, el

debate sobre el uso de otros y cambios más o menos importantes pero que

debemos conocer.

1. Sintaxis

El término HTML posee una sintaxis compatible

con HTML4 y XHTML1 publicados en la red, pero no compatible con las

características más esotéricas del SGML de HTML4.

HTML5 define detalladas reglas de parse, incluyendo un control de errores,

para que esta sintaxis sea compatible con las implementaciones más

populares. Los agentes de usuario seguirás las mismas reglas que para los que

actualmente tienen text/html.

El otro sintaxis que se puede utilizar para HTML5 es el llamado XHTML5, que

no es más que una sintaxis compatible con XML y documentos correctos en

XHTML1. Los documentos servidos con esta sintaxis deben ser servidos

mediante el MIME application/xml.

2. Codificación de carácteres

Al igual que sus hermanos menores, seguiremos podiendo definir el charset de

nuestro documento mediante el tag <meta charset="UTF-8" > o la correspondiente

versión de XML para XHTML5.

Page 3: Mejoras Del Html5 Comparado Con El Html4

2.2. El DOCTYPE

El nuevo HTML5 requiere el elemento DOCTYPE que debe ser declarado al

proncipio de la página, de esta forma nos aseguramos de que el navegador

renderiza la página en modo estandard. En cambio para la versión XHTML5

este elemento es opcional debido a que XML actua de diferente manera dentro

de nuestro navegador.

<!DOCTYPE html &gt;

3.1. Modelos estrictos de contenidos

HTML5 define de forma más estricta el contenido para elementos <div /> y <li />.

Estos elementos ahora pueden contener contenido de elementos “block” o

“inline” pero no los dos. En HTML4 esto fue considerado como un bug de la

espeficación ya que permitía el uso de ambos.

Permitido: 

<div>

<em>…</em> //contenido inline

</div>

<div>

<p><em>…</em></p>

<p>…</p> //Contenido block

</div>

pero no permite esto:

<div>

<em>…</em>

<p>…</p>

</div>

Otro cambio afecta al elemento <tfoot />, ahora podrá aparecer al final de la

página, al igual que directamente despues del elemento <thead />.

<table border="1">

<caption>Nombre de la tabla</caption>

Page 4: Mejoras Del Html5 Comparado Con El Html4

<thead>

<tr>

<th scope="col">COLUMNA 1</th>

<th scope="col">COLUMNA 2</th>

</tr>

</thead>

<tbody>

<tr>

<td>DATOS 1</td>

<td>DATOS 2</td>

</tr>

<tr>

<td>DATOS 3</td>

<td>DATOS 4</td>

</tr>

</tbody>

<tfoot>

<tr>

<th scope="col">PIE 1</th>

<th scope="col">PIE 2</th>

</tr>

</tfoot>

</table>

3.2. Nuevos elementos

Los tiempos modernos requieren nuevos elementos para proporcionar una web

más semántica, completa y homogenea. Para ello se han añadido una buena

serie de elementos que nos permitirán encapsular más nuestro contenido.

Page 5: Mejoras Del Html5 Comparado Con El Html4

<article /> elemento que nos permite declarar un trozo del contenido como

artículo. Ideal para blogs o periódicos.

<aside /> representa un trozo de contenido que se relaciona muy levemente

con el resto del contenido.

<dialog /> elemento que permite reprensetar conversaciones.

<dialog>

<dt> Costello

<dd> Look, you gotta first baseman?

<dt> Abbott

<dd> Certainly.

<dt> Costello

<dd> Who's playing first?

<dt> Abbott

<dd> That's right.

<dt> Costello

<dd> When you pay off the first baseman every month, who gets the money?

<dt> Abbott

<dd> Every dollar of it.

</dialog>

 <figure /> podrás usarlo para asociar con un caption un contenido incrustado,

como por ejemplo gráficos o vídeo:

<figure>

<video src=ogg>…</video>

<legend>Example</legend>

</figure>

<footer />  parece que me han leido la mente o quizas leyeron este post.

Sección de la página para contener información sobre el autor, copyright, etc,…

<header /> representa a la sección de cabecera.

<nav /> representa la sección de la página orientada a la navegación.

Page 6: Mejoras Del Html5 Comparado Con El Html4

<section /> elemento que indica que se trata de una sección genérica.

<audio /> y <video /> para el contenido multimedia.

<embed /> es un elemento dedicado para contenido de plugins.

<m /> representa el texto marcado.

<meter /> usado para representar medidas, por ejemplo el tamaño del disco

usado…

<time /> usado para mostrar fechas y/o tiempo.

<canvas /> usado para mostrar gráficos renderizados en tiempo real, por

ejemplo gráficos, juegos, etc,…

<commnad /> relacionado con los comandos que el usuario puede invocar.

<datagrid /> ideal para mostrar un arbol de datos o una tabla tabulada.

<details /> muestra información adicionar si el usuario lo demanda.

<datalist /> junto con el nuevo atributo list para los <input /> puede ser usado

para crear comboboxes:

<input list=browsers>

<datalist id=browsers>

<option value="Safari">

<option value="Internet Explorer">

<option value="Opera">

<option value="Firefox">

</datalist>

<event-sources /> puede ser usado para capturar eventos enviados desde

servidor.

<output /> nos indica que tipo de salida vamos producir con nuestra página.

<progress /> representa una barra de proceso de una tarea, por ejemplo

descargar,…

Los elementos de entrada <input /> dispondrán de una serie de tipos (type)

nuevos para indicar los diferentes tipos de elementos de entrada posibles.

datetime

datetime-local

date

month

Page 7: Mejoras Del Html5 Comparado Con El Html4

week

time

number

range

email

url

La idea es que estos tipos sean poporcionados por el agente de usuario

(navegador) en su interface que submitarán el formato definido al servidor.

3.3 Nuevos atributos

HTML 5 ha introducido una gran cantidad de nuevos elementos para varios

elementos de los que ya disponemos en la HTML4.

media: Para conseguir una mayor consistencia con el link en los

elementos <a />

ping: Especificacremos una lista separada por espacios donde produciremos

un ping cuando se siga el enlace, para los elementos <area /> y <a />

target:  Disponible para mejorar la consistencia con el elemento <a />.

autofocus: Destinado para indicar el

elemento <input /> (no hidden), <select />,<textarea /> o <button /> que ha de

coger el foco al cargar la página.

form: Atributo

para <input />, <ouput />, <select /> <textarea />, <button /> y<fieldset /> que

permite que se sococien con un simple formulario.

replace: atributo para <input /&gt; <button /> y <form /> que le afectará cuando

el contenido del elemento sofra algún cambio.

data: Para <form />, <select /&gt; y <datalist />.

required: Para elementos <input /> (Excepto hidden e image) y <textarea />,

indica que el campo es obligatorio.

inputmode: Atributo para <input /> y <textarea />.

disabled: Para <fieldset />, permite desactivar el fieldset completo.

autocomplete, min, max, pattern, step: Para elementos <input /> permite

delimitar las posibilidades de nuestros elementos de entrada.

list: Para elementos <datalist /> y <select />.

template: Para <input /> y <button /> podrá usarse para repetir templates.

Page 8: Mejoras Del Html5 Comparado Con El Html4

scoped: Para elemento <style />, permitirá usar hojas de estilo “scoped” ??

async: Para el elemento <script /> el ajax hecho atributo.

Atributos globales

Aparte de los ya existentes: class, dir, id, lang y title.

contenteditable: indica que se trata de una área editable.

contextmenu: Puede ser usado como punto de menú contexctual

proporcionado por el usuario.

draggable: indica que se trata de un elemento draggable.

tabindex: indica la posición numérica a la que llegaremos pulsando la tecla

TAB.

irrelevant: atributo que indica que el contenido no es relevante.

repeat, repeat-start, repeat-min, repeat-max: atributos referentes a las

iteraciones.

Page 9: Mejoras Del Html5 Comparado Con El Html4

3.4 Elementos Cambiados

Estos elementos de HTML5 son imcompatibles con HTML4.

El elemento <a /> sin href ahora creará un enlace al sitio.

El elemento <address /> es ahora un nuevo concepto de sección.

El elemento <b /> ahora representa un trozo de texto a ser estilizado sin

ninguna importancia.

Para elementos <label /> el navegador no debe mover el foco desde la etiqueta

al control a menos que el comportamiento sea estandar para el interfaz

utilizado en la plataforma.

<menu /> ha sido redefinido para ser usado con los actuales menús.

El elemento <small /> ahora representa una impresión pequeña.

El elemento <strong /> definitivamente representa el enfasis puesto en trozo de

nuestro texto.

3.5 Elementos eliminados

En la nueva versión, algunos de los elementos anteriormente

desaprovados pasan a ser eliminados definivamente.

acronym

applet

basefont

big

center

dir

font

frame

frameset

isindex

noframes

noscript (solo en XHTML5)

s

strike

tt

u

Page 10: Mejoras Del Html5 Comparado Con El Html4

3.6 Atributos eliminados

Al igual que los elementos los atributos tambien pasarán a mejor vida.

rev y charset en <link /> y <a />

target en <link />

nohref en <area />

profile en <head />

version en <html />

name en <map />

scheme en <meta />

archive, classid, codetype, declare y standby en <object />

valuetype en <param />

charset en <script />

summary en <table />

header, axis y abbr en <td /> y <th />

4.1. Extensión de HTMLDocument

HTML5 tambien ha modificado el elemento padre del DOM Level 2. En él

encontramos una serie de mejoras y otras que finalmente se hacen estandares:

getElementsByClassName(), para seleccionar elementos por el atributo class.

Ya lo comentamos hace tiempo y vimos que las diferencias a nivel de tiempo

de respuesta eran más que satisfactorias.

innerHTML, aunque prácticamente se usa en todas, o casi todas, las

aplicaciones web existentes, por fín será reconocido como estandar en la

especificación. Además aprovechando si insercción se posibilita su uso en el

elemento padre.

activeElement, hasFocus(), nos permetirá conocer el elementos activo en

tiempo real y el que tenga el foco.

getSelection(), devuelve un objeto con la selección actual.

designMode y execCommand(), muy usados para editar documentos.

Page 11: Mejoras Del Html5 Comparado Con El Html4

4.2. Extensiones del Elementos HTMLElement.

A nivel de elemento el DOM tambien ha sufrido una serie de cambios que vale

la pena comentar.

getElementsByClassName(), nos permite seleccionar los hijos de cualquier

objeto que contengan una clase determinada.

innerHTML, nos permite leer/modificar el contenido de un nodo (al añadir crea

nodos texto con etiquetas).

classList, una implementación muy interesante para vivir con className que

nos permite interactuar con las clases de los elementos, proporcionando

métodos como has(),add(), remove() y toggle() con los que podremos trabajar

con las clases de nuestros elementos.

relList, funciona de igual forma que classList, pero sobre los

atributos rel de <a />,<area /> y <link />.