61
INTRODUÇÃO A HTML5 Salvador Torres @ssatorres

Introdução a HTML5

Embed Size (px)

Citation preview

Page 1: Introdução a HTML5

INTRODUÇÃO A HTML5

Salvador Torres@ssatorres

Page 2: Introdução a HTML5

HTML

HTML = Hypertext Markup Language (Linguagem de Marcação de Hipertexo);

Linguagem Interpretada por um Browser;

Define o formato do documento e as ligações com outros documentos;

Page 3: Introdução a HTML5

HTML

Desenvolvido originalmente por Tim Berners-Lee;

Entre 1993 e 1995, o HTML ganhou as versões HTML+, HTML2.0 e HTML3.0;

Ainda não era um padrão;

Page 4: Introdução a HTML5

HTML

Em 1997 o W3C criou a versão 3.2; A partir daí HTML se tornou um

padrão;Em 1999 saiu a especificação do

HTML4.

Page 5: Introdução a HTML5

HTML

Tags básicas: <a></a>; <p></p>; <img/>; <div></div> <table></table> <iframe></iframe> <br/>

Page 6: Introdução a HTML5

HTML

Trocando em miúdos:“O HTML é uma linguagem para

publicação de conteúdo na Web (texto, imagem, vídeo, áudio, etc.)”.

Page 7: Introdução a HTML5

W3C

Page 8: Introdução a HTML5

W3C

World Wide Web Consortium;Fundado por Tim Berners-Lee;Visa levar a Web ao seu potencial

máximo;Fóruns abertos que promovam a

sua evolução e assegurem a sua interoperabilidade.

Page 9: Introdução a HTML5

W3C

Padrões:CSSDOM(JavaScript)XMLXHTML 1.0

Page 10: Introdução a HTML5

HTML5

Page 11: Introdução a HTML5

HTML5

É a nova versão do HTML4;Necessidade de criar elementos

semânticos;Ainda está em testes e a versão

final é prometida para 2012;

Page 12: Introdução a HTML5

HTML5

Cria novas tags e muda a função de outras;

Padrão para criação de sessões comuns como rodapé, cabeçalho, sidebar e menus.

Page 13: Introdução a HTML5

HTML5

Muda a forma de escrever código e organizar a informação:Mais semântica e menos código;Mais interatividade sem plugins e

perda de performance;Código interoperável, pronto para

futuros dispositivos;Facilita a reutilização da informação

de diversas formas.

Page 14: Introdução a HTML5

HTML5 vs XHTML2

Page 15: Introdução a HTML5

HTML5 vs XHTML2

WHATWG vs W3C;WHATWG (Mozilla, Apple e Opera

em 2004);W3C -> XHTML2;WHATWG -> HTML5

Mais flexibilidade; Integrar Web Forms 2.0 e abandonar

o Web Controls 1.0;Retrocompatibilidade.

Page 16: Introdução a HTML5

HTML5 vs XHTML2

Em 2006 a W3C reconheceu as vantagens do HTML5;

W3C e WHATWG passaram a trabalhar em conjunto;

Page 17: Introdução a HTML5

Conhecendo HTML5

Page 18: Introdução a HTML5

Novos Recursos

Controle embutido de conteúdo multimídia (Áudio e Vídeo);

Desenvolvimento de gráficos bidimensionais;

Aprimoramento do uso off-line;

Geolocalização;Validação de Formulários

nativa;Drag and Drop.

Page 19: Introdução a HTML5

Estrutura Básica

XHTML

Page 20: Introdução a HTML5

Estrutura Básica

HTML5

O atributo LANG não é restrito ao elemento HTML, ele pode ser utilizado em qualquer outro elemento para indicar o idioma do texto representado.

Page 21: Introdução a HTML5

Estrutura Interna

XHTML

Page 22: Introdução a HTML5

Estrutura Interna

HTML5

Page 23: Introdução a HTML5

Novos Elementos

<section> define uma nova seção genérica no

documento (introdução ou destaque, novidades, etc.);

<nav>seção da página que contém links

(importantes) para outras partes do website;

Page 24: Introdução a HTML5

Novos Elementos

<article>parte da página que poderá ser

distribuída e reutilizada em FEEDs por exemplo (post, artigo, um bloco de comentários de usuários, etc.);

<aside>define uma área de conteúdo

relacionado ao seu conteúdo principal (sidebars em textos impressos, publicidade, etc.);

Page 25: Introdução a HTML5

Novos Elementos

<hgroup>agrupar elementos de título de H1

até H6 quando eles tem múltiplos níveis de títulos;

<time>marcar parte do texto que exibe um

horário ou uma data;

Page 26: Introdução a HTML5

Novos Elementos

<header>grupo de introdução ou elementos de

navegação (índices de conteúdos, campos de busca ou até mesmo logomarcas);

<footer>representa literalmente o rodapé da

página.

Page 27: Introdução a HTML5

Novos Elementos

Os novos elementos possibilitaram uma nitidez maior no código;

É possível diferenciar diretamente pelo código HTML5 áreas importantes do site como sidebar, rodapé e cabeçalho;

Page 28: Introdução a HTML5

Novos Elementos

Os buscadores conseguem vasculhar o código de maneira mais eficaz;

Guardando informações mais exatas e levando menos tempo para estocar essa informação.

Page 29: Introdução a HTML5

Elementos removidos

<frame>Fere princípios de acessibilidade;

<basefont>,<big>,<center>,<font>,<s>,<strike>,<tt>,<u>Efeito somente visual;

Page 30: Introdução a HTML5

Elementos Alterados

<address>agora é tratado como uma seção no

documento;<hr>

mesmo nível que um parágrafo;<strong>

ganhou mais importância.

Page 31: Introdução a HTML5

Web Semântica

Page 32: Introdução a HTML5

Suporte dos Browsers

http://html5test.com/

Page 33: Introdução a HTML5

Suporte dos Browsers

Page 34: Introdução a HTML5

Formulários

<input />Novos valores para type

tel (sem formatação ou mascara);search (mudar a aparência para parecer

com os demais do sistema);email (validação do email podendo

ainda integrar com a agenda de contatos);

url (formatação e validação de endereços web);

Page 35: Introdução a HTML5

Formulários

<input />Novos valores para type

Datas e horas (calendário, um seletor de horário ou outro auxílio ao preenchimento);

Number (aceita somente numeros);range (valores numéricos porém com

uma barra de seleção);color (paleta de cores com resultado

#000FFF)

Page 36: Introdução a HTML5

Formulários

Mais recursosautofocus

o foco será colocado neste campo automaticamente ao carregar a página;

<input name="login" autofocus/>

Placeholder texttexto padrão do campo antes do foco ir

para ele; <input name="q" placeholder="Pesquisa"/>

Page 37: Introdução a HTML5

Formulários

Mais recursosrequired

transformar o campo em obrigatório; <input name="login" required/>

maxlengtho atributo agora também está disponível

no textarea;

Page 38: Introdução a HTML5

Formulários

Mais recursosCustom validators

definir expressões regulares de validação, sem Javascript;

<input name="cpf" oninput="vCPF(this)"/>

contenteditable tornar um elemento do HTML editável. <div contenteditable="true"> Edite-me...

</div>http://html5demos.com/contenteditable

Page 39: Introdução a HTML5

Formulários

Mais recursospattern

definir expressões regulares de validação, sem Javascript;

<input name="CEP" id="CEP" required pattern="\d{5}-?\d{3}" />

Page 40: Introdução a HTML5

Formulários

Todos os recursos: http://slides.html5rocks.com/#slide21

Page 41: Introdução a HTML5

API Storage

Um dos grandes desafios de usabilidade é criar uma navegação consistenteações locais do usuário numa página fossem

refletidas na próxima.(Menu em árvore);histórico com o uso de Ajax.

Page 42: Introdução a HTML5

API Storage

Soluções:Histórico de Sessão

elemento history; localStorage e sessionStorage

Antes Cookies (Interface complexa e Limite de

armazenamento);Agora

localStorage(armazena os dados no client sem expiração definida) ;

sessionStorage(armazena os dados durante a sessão atual de navegação).

Page 43: Introdução a HTML5

API Storage

Exemplo http://slides.html5rocks.com/#slide7

Page 44: Introdução a HTML5

Drag and Drop

Exemplo http://slides.html5rocks.com/#slide13

Page 45: Introdução a HTML5

Midias com HTML5

Áudio <audio controls="true" autoplay="true">

<source src="mus.oga" /> <source src="mus.mp3" />

<source src="mus.wma" /> <p>Faça o <a href="mus.mp3">download da

música</a>.</p> </audio>

O valor de controls define se um controle de áudio, com botões de play, pause, volume, barra de progresso, contador de tempo, etc. será exibido na tela;

O estilo dos botões é definido pelo browser.

Page 46: Introdução a HTML5

Midias com HTML5

Vídeo <video controls="true" autoplay="true" width="400“ height="300">

<source src="u.ogv" /> <source src="u.mp4" /> <source src="u.wmv" />

<p>Faça o <a href="u.mp4">download do vídeo</a>.</p> </video>

Page 47: Introdução a HTML5

Midias com HTML5

Youtube (http://youtube.com/html5)

Page 48: Introdução a HTML5

Midias com HTML5

Sublime http://sublimevideo.net/demo)

Page 49: Introdução a HTML5

Midias com HTML5

Exemplo http://slides.html5rocks.com/#slide22

Page 50: Introdução a HTML5

Midias com HTML5

Elemento deviceWebcam

<device type="media">

interface solicitando ao usuário acesso a sua webcam. Se ele tiver mais de uma, também será permitido que ele escolha que webcam usar;

Streambasta trocar o valor “media” por “fs”.

Page 51: Introdução a HTML5

Canvas

A Canvas API permite a você desenhar na tela do navegador via Javascript. O único elemento HTML existente para isso é o elemento canvas, o resto todo é feito via Javascript.

<canvas id="x" width="300" height="300"></canvas>

Page 52: Introdução a HTML5

Canvas

Com a tag canvas é possível criar gráficos, games, aplicações web, etc.

Page 53: Introdução a HTML5

Canvas

Exemploshttp://mugtug.com/sketchpad/http://media.chikuyonok.ru/ambilight/ http://html5demos.com/canvas-gradhttp://slides.html5rocks.com/#slide23

Page 54: Introdução a HTML5

SVG

SVG é uma linguagem para marcação de gráficos vetoriais.

Retângulo <rect x="10" y="10" width="150" height="50" stroke="#000" stroke-width="5" fill="#FF0000" />

Circulo <circle cx="70" cy="240" r="60" stroke="#00FF00" stroke-width="5" fill="#FFFFFF" />

Page 55: Introdução a HTML5

SVG

Exemploshttp://slides.html5rocks.com/#slide26http://slides.html5rocks.com/#slide27

Page 56: Introdução a HTML5

SVG

Logomarca da Wikipedia

Page 57: Introdução a HTML5

Geolocation Há três maneiras populares programa descobrir sua posição global: Geolocalização IP

É o método usado pela maioria dos navegadores web em computadores. Através de consultas whois e serviços de localização de IP, vai determinar a cidade ou região em que você está.

Triangulação GPRS Dispositivos conectados a uma rede de celulares podem determinar sua posição

pela triangulação das antenas GPRS próximas. É bem mais preciso que o método baseado em IP, vai mostrar em que parte do bairro você está.

GPS É o método mais preciso. Em condições ideais, a margem de erro é de apenas 5

metros.

Page 58: Introdução a HTML5

Geolocation navigator.geolocation.getCurrentPosition(showpos) Onde showpos é uma função callback, que vai receber um objeto de

posicionamento. Veja um exemplo: function showpos(position){

lat = position.coords.latitude lon = position.coords.longitude

alert('Your position: '+lat+','+lon) }

Page 59: Introdução a HTML5

Geolocation

Exemploshttp://html5demos.com/geohttp://slides.html5rocks.com/#slide14

Page 60: Introdução a HTML5

Sites interessantes

http://html5demos.com/ http://html5-showcase.com/ http://html5rocks.com/

Page 61: Introdução a HTML5

Referências http://xhtml.com/en/future/x-html-5-versus-xhtml-2/ http://pt.wikipedia.org/wiki/HTML5 http://w3c.br/cursos/html5/conteudo/