SlideShare une entreprise Scribd logo
1  sur  39
Télécharger pour lire hors ligne
HTML5

UM GUIA DE
REFERÊNCIA PARA
DESENVOLVEDORES
WEB
UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
HTML
 HTML: Hypertext Markup Language
 Linguagem de estruturação e apresentação de conteúdo web
 Links, texto, imagem, vídeo, áudio, etc...

 Baseada no conceito de hipertexto
 “nós” ligados por conexões, formando uma rede de informações






Proposta como padrão por Tim Berners-Lee em 1990
Começou a ser popularizado na década de 90 (Mosaic)
Oficialmente padronizada em 1997, pelo W3C (versão 3.2)
Linguagem independente de plataforma, sistema ou browser
UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
WHAT Working Group
 Em 2004, Mozilla, Apple e Opera fundaram o WHATWG






Grupo de discussão sobre o futuro do desenvolvimento web
Primeiro esboço do que viria a ser implementado no HTML5
Um dos focos era trazer melhor semântica à linguagem
Facilitar manipulação de elementos via Javascript e CSS
Eliminar necessidade de scripts para garantir compatibilidade

 Em 2006, o WHATWG foi reconhecido pela W3C
 Oficialização do desenvolvimento do padrão HTML5
 Descontinuação do padrão XHTML2
UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
HTML5
 Padronização das regras de marcação HTML5
 Novas tags e alteração no comportamento de tags existentes







Padronização de seções comuns: cabeçalho, rodapé, menu, etc.
Padronização de nomenclaturas: melhoria na semântica
Elimina a necessidade de scripts externos (plugins / bibliotecas)
Manipulação não-intrusiva de objetos
Independente de sistema operacional ou navegador
Retrocompatível: sem necessidade de reescrita de sites antigos

 Definição de APIs base para arquitetura web (DOM Level 0)
UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Orientação à Semântica
 Quando lemos um livro, conseguimos diferenciar parágrafos,
títulos, rodapés e cabeçalhos devido a formatação visual
 Robôs de busca não conseguem notar essas diferenças
 Cabe ao desenvolvedor marcar essas informações com tags
que atribuam significado a cada seção do código
 Tags HTML, como <header>, <footer> e <time> foram
introduzidas para auxiliar na marcação semântica do código
 Tags <b> e <i> foram mantidas, mas ganharam semântica
 Tags relacionadas apenas a formatação visual foram removidas
já que são facilmente supridas por folhas de estilo CSS
UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Desenvolvimento modular
 Em versões antigas do HTML e CSS:
 Todas as ideias de uma nova versão eram especificadas
 Depois de testadas, as especificações eram então divulgadas
para implementação nos navegadores

 HTML5 e CSS3:
 Desenvolvimento modular
 Grupos diferentes cuidam de tecnologias diferentes, que são
publicadas (e implementadas) de maneira independente
 Ponto negativo: problemas de compatibilidade
UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Motores de renderização
 Múltiplos navegadores, cada um com suas características
 Impossível garantir 100% de compatibilidade entre browsers
 Desenvolvedores focam em manter o código compatível com
os motores que processam e renderizam o código-fonte
Motor

Browser

Webkit

Safari, Google Chrome

Gecko

Firefox, Mozilla, Camino

Trident

Internet Explorer 4 ao 9

Presto

Opera 7 ao 10

UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Compatibilidade com HTML5
Safari

Chrome

Opera

Firefox

Local Storage
Histórico de Sessão
Aplicações Offline
Novos tipos de campos

Form: Autofocus
Form: Autocomplete
Form: Required
Video, Audio, Canvas Text

UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE

IE 8

IE 9
Técnicas de detecção
 Navegadores distintos suportam HTML5 de maneira distinta
 Como detectar se um navegador suporta HTML5 e CSS3?
 Biblioteca Modernizr - http://www.modernizr.com
if (Modernizr.geolocation) {
// Aceita a feature de geolocalização
} else {
// Não aceita a feature de geolocalização
}

 Existem formas de manter a compatibilidade do site:
 Redirecionar o usuário para uma versão simplificada do site
 Exibir uma mensagem na tela alertando o usuário
UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Estrutura básica
<!DOCTYPE HTML> Primeira linha de código do documento HTML5. Instrui o navegador sobre a codificação do documento.
<html lang="pt-br">

Ao abrir a tag <html>, iniciamos a árvore de elementos de um código HTML.
O atributo lang indica qual a língua principal do documento.

<head> A tag <head> armazena os metadados – informações sobre a página e seu conteúdo.
<meta charset="UTF-8"> Atributo charset: informações de codificação dos caracteres.
<link rel="stylesheet" type="text/css" href="style.css">
<title>Exemplo</title>

Tag <link>: conteúdo de fontes externas,
Nesse exemplo, uma folha de estilos CSS.

</head>
<body>
Dentro das tags <body> está o conteúdo que será renderizado ao usuário.
</body>
</html>

UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Modelos de conteúdo
 De maneira geral, existem dois grandes grupos de elementos
 Elementos de linha: denotam, na maioria das vezes, texto.
 Elementos de bloco: dividem seções do layout.

 De maneira mais específica, os elementos são agrupados em
categorias de acordo com seu comportamento

UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Metadata
 Elementos que modificam a apresentação ou
comportamento do resto do documento
 Elementos que fazem ligações com outros documentos
<base>, <command>, <link>, <meta>, <noscript>, <script>, <style>, <title>

UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Flow
 Elementos que tipicamente contém texto ou elementos da
categoria de conteúdo Embedded
<a>, <abbr>, <address>, <article>, <aside>, <audio>, <b>, <bdo>,
<blockquote>, <br>, <button>, <canvas>, <cite>, <code>, <command>,
<datalist>, <del>, <details>, <dfn>, <div>, <dl>, <em>, <embed>,
<fieldset>, <figure>, <footer>, <form>, <h1>, <h2>, <h3>, <h4>, <h5>,
<h6>, <header>, <hgroup>, <hr>, <i>, <iframe>, <img>, <input>, <ins>,
<kbd>, <keygen>, <label>, <map>, <mark>, <math>, <menu>, <meter>, <nav>,
<noscript>, <object>, <ol>, <output>, <p>, <pre>, <progress>, <q>, <ruby>,
<samp>, <script>, <section>, <select>, <small>, <span>, <strong>, <sub>,
<sup>, <svg>, <table>, <textarea>, <time>, <ul>, <var>, <video>, <wbr>

UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Sectioning
 Elementos usados para definir o conteúdo de uma subseção
dentro de um documento
 <article> delimita publicações em um blog, notícias, etc.
 <aside> delimita dados relacionados ao conteúdo ao redor
 <nav> é usada para delimitar navegação dentro da página
 <section> é uma delimitação genérica, sem tanta semântica
<article>, <aside>, <nav>, <section>

UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Heading
 Elementos que definem cabeçalhos.
 Normalmente presentes dentro da categoria Sectioning
<h1>, <h2>, <h3>, <h4>, <h5>, <h6>, <hgroup>

UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Phrasing
 Elementos usados para definir, principalmente, texto e suas
marcações, como formatação e outros atributos
<abbr>, <audio>, <b>, <bdo>, <br>, <button>, <canvas>, <cite>, <code>,
<command>, <datalist>, <dfn>, <em>, <embed>, <i>, <iframe>, <img>,
<input>, <kbd>, <keygen>, <label>, <mark>, <math>, <meter>, <noscript>,
<object>, <output>, <progress>, <q>, <ruby>, <samp>, <script>, <select>,
<small>, <span>, <strong>, <sub>, <sup>, <svg>, <textarea>, <time>, <var>,
<video>, <wbr>

UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Embedded
 Elementos que importam informações de recursos externos
ou de outras linguagens de marcação para o documento
<audio>, <canvas>, <embed>, <iframe>, <img>, <math>, <object>, <svg>,
<video>

UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Interactive
 Elementos que fazem interação com o usuário
 Normalmente, aparecem em um formulário
 São ativados por um comportamento pré-determinado como
clique, movimento do mouse ou entrada pelo teclado
<a>, <audio>, <button>, <details>, <embed>, <iframe>, <img>, <input>,
<keygen>, <label>, <menu>, <object>, <select>, <textarea>, <video>

UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Formulários: Novos atributos
 Elemento input recebe novos atributos para type
 tel: sem máscara de validação e integração com agenda
 search: campo de busca semanticamente interpretado
 email: com formatação/validação e integração com agenda
 url: endereço web com formatação/validação
 color: seletor de cor renderizado pelo navegador
 number: aceita apenas valores númericos
 step, min, max: atributos opcionais para configurar escopo
 range: variante visual do tipo number
UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Formulários: Data e Hora
 Novos atributos introduzidos para controle de data e hora







datetime
date
month
week
time
datetime-local (trata diferenças de fuso-horário)

 Oferecem suporte a formatação/validação com o servidor
 step: define a diferença mínima entre dois horários (em s)
UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Formulários: Usabilidade
 Soluções de validação e usabilidade, agora, nativas ao HTML
 autofocus: dá foco ao campo assim que o campo for criado
 placeholder: texto padrão do campo antes do foco
 required: torna o preenchimento de um campo obrigatório
 maxlength: agora disponível para o elemento textarea
 pattern: define expressões regulares de validação (regex)
 novalidate: em form, indica a não-validação do formulário
 formnovalidate: em um botão submit, pode ser usado
para submeter dados sem realizar validação (ex: rascunhos)
UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Formulários: Customização
 Ao invés de se “amarrar” ao Javascript e bibliotecas (como
jQuery), o HTML5 fornece interfaces para tornar a interação
com a linguagem o mais transparente o possível
 Por exemplo, para criar uma validação de dados
customizada, implementamos uma rotina padronizada
 Evento oninput no input é disparado quando ocorre
qualquer modificação no valor de um campo
 Método setCustomValidity, implementado dentro de um
método Javascript e é usado para dar informar o usuário em
caso de erros durante a validação
UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Formulários: Ortografia
 Através do uso do atributo spellcheck="true" é possível
habilitar a revisão ortográfica (e também gramátical) para
qualquer campo de um formulário
 Vale ressaltar que, assim como a grande maioria das tags de
HTML5, essa funcionalidade está restrita ao que estiver
disponível na plataforma de destino
 Também é possível desativar qualquer tipo de validação
utilizando spellcheck="false"

UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Menus
 O elemento menu é usado para definir menus e barras de
ferramenta de maneira simples e semântica
 Em um navegador compátivel, exibirá os elementos menu (e
seus sub-elementos) de maneira organizada e aninhada
<menu type="toolbar">
<li>
<menu label="File">
<button type="button"
<button type="button"
<button type="button"
<button type="button"
</menu>
</li>
<li>
<menu label="Edit">
<button type="button"
<button type="button"
<button type="button"
</menu>
</li>
...
</menu>

onclick="fnew()">New...</button>
onclick="fopen()">Open...</button>
onclick="fsave()">Save</button>
onclick="fsaveas()">Save as...</button>

onclick="ecopy()">Copy</button>
onclick="ecut()">Cut</button>
onclick="epaste()">Paste</button>

UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Sumário e detalhamento
 Visualizar uma descrição sumarizada e, ao clicar, abrir o
detalhamento é uma prática comum da web
 No entanto, isso é realizado via métodos Javascript
 No HTML5, foram inseridas as tags details e summary para
realizar essa operação de forma semântica

UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Conteúdo editável
 É possível fazer com que qualquer elemento do HTML seja
editável pelo agente do usuário
 Para isso, basta setar o atributo contenteditable="true"
 Isso permite criar, com facilidade, uma área de edição de
HTML dentro de uma página

UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Truques de visualização
 Para facilitar o trabalho dos desenvolvedores foram
inseridos dois antigos “truques” de Javascript e CSS foram
padronizados no HTML5
 A funcionalidade hidden agora pode ser declarada como
atributo de qualquer objeto
<div hidden=true>Texto escondido.</div>

 O método scrollIntoView pode ser chamado para trazer
qualquer elemento da página para o foco do navegador
document.getElementById('id').scrollIntoView()
UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Drag and Drop
 Essa API permite que elementos sejam “arrastáveis” pelo
usuário – assim como ícones no sistema operacional
 No objeto arrastado, inserimos draggable="true"
 Esse objeto dispara os eventos dragstart, drag e dragend

 No objeto alvo, não é necessário inserir nenhum atributo
 Esse objeto escuta os eventos dragenter, dragleave,
dragover e drop

 Fica ao cargo do programador definir o comportamento da
página quando algum desses eventos for chamado
UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Áudio, Vídeo e Codecs
 Novos elementos substituem o uso de elementos iframe ou
embed para renderizar players de áudio
 Elementos audio e video podem ser customizados
 Controls: define a exibição de uma barra de controle

 Autoplay: define se o conteúdo terá reprodução automática
 Source: tags utilizadas para definir fontes alternativas
 Codecs: informa ao browser qual o formato da fonte alternativa
<video controls="true" autoplay="true" width="400" height="300">
<source src='video.ogv' type='video/ogg; codecs="theora, vorbis"'>
<source src='video.mp4' type='video/mp4; codecs="mp4v.20.240, mp4a.40.2"'>
<p>Faça o <a href="dl.mp4">download do vídeo</a>.</p>
</video>

UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
MathML
 MathML é uma linguagem de marcação, baseada em XML,
usada para representação de fórmulas matemáticas
 No HTML5, o elemento math denota o uso de MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<mrow>
<mi>x</mi>
<mo>=</mo>
<mfrac>
<mrow>
<mo form="prefix">&minus;</mo><mi>b</mi>
<mo>&PlusMinus;</mo>
<msqrt>
<msup>
<mi>b</mi><mn>2</mn>
</msup>
<mo>&minus;</mo>
<mn>4</mn><mo>&InvisibleTimes;</mo><mi>a</mi><mo>&InvisibleTimes;</mo><mi>c</mi>
</msqrt>
</mrow>
<mrow>
<mn>2</mn><mo>&InvisibleTimes;</mo><mi>a</mi>
</mrow>
</mfrac>
</mrow>
</math>

UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
SVG
 SVG é uma linguagem de marcação, baseada em XML, usada
para marcação de gráficos vetoriais
 No HTML5, o elemento svg denota o uso de SVG
 O conteúdo vetorial é escalável e acessível a leitores de tela
<svg width="400" height="400">
<!-- Um retângulo: -->
<rect x="10" y="10" width="150" height="50" stroke="#000000"
stroke-width="5" fill="#FF0000" />
<!-- Um polígono: -->
<polygon fill="red" stroke="blue" stroke-width="10"
points="250,75 279,161 369,161 297,215
323,301 250,250 177,301 203,215
131,161 221,161" />
<!-- Um círculo -->
<circle cx="70" cy="240" r="60" stroke="#00FF00" stroke-width="5" fill="#FFFFFF" />
</svg>

UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Canvas
 Canvas API permite a criação de desenhos na tela do
navegador usando Javascript
 Para renderização do desenho, usamos um elemento canvas
 Performance superior ao SVG e sintaxe simplificada
function desenhar(){
context=document.getElementById('x').getContext('2d')
//Iniciamos um novo desenho
context.beginPath()
//Movemos a caneta para o inicio do desenho
context.moveTo(150,50)
//Desenhamos as linhas
context.lineTo(220,250)
context.lineTo(50,125)
context.lineTo(250,125)
context.lineTo(80,250)
context.lineTo(150,50)
//Vamos pintar o interior de amarelo
context.fillStyle='#ff0'
context.fill()
//Vamos pintar as linhas de vermelho.
context.strokeStyle='#f00'
context.stroke()
}

UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
EventSource
 Server-Sent Events API é uma API utilizada para “inverter” o
fluxo cliente->servidor das aplicações, tornando possível que
o servidor possa disparar o envio de dados ao cliente
 Em Javascript, instanciamos o objeto EventSource
es=new EventSource('comm.php')

 No exemplo, criamos uma conexão HTTP para comm.php e
a aplicação ficará escutando – cada vez que o servidor enviar
algo para o cliente, o evento onmessage será disparado
es.onmessage=function(e){
alert("Chegaram dados: "+e.data)
}
UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Histórico de Sessão
 Anteriormente, os browsers não tinham controle sobre o
histórico de ações de um usuário em uma página –
limitando-se a navegação usando os métodos go, back e
forward do objeto history do navegador
 O HTML5 turbinou o objeto history com novos métodos
para controlar a pilha de entradas do histórico e também
associar dados à essas entradas com maior liberdade
 pushState(data, title, url): acrescenta entrada no histórico
 replaceState(data, title, url): modifica entrada atual
 window.onpopstate : evento ativado ao navegar no histórico
UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Storage
 Ao invés de trabalhar com cookies complexos e com
funcionalidade limitada, o HTML5 traz uma nova maneira de
armazenar (e recuperar) dados no clientes – a API Storage
 Existem dois objetos de que podemos implementar
 localStorage: armazena dados sem data de expiração
 sessionStorage: armazena dados apenas durante a sessão

 Interface simplificada de acesso aos dados
getItem(key)
setItem(key, value),
removeItem(key) clear()

UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Geolocation
 A Geolocation API é capaz de permitir que o navegador
detecte a posição geográfica de um cliente
 Possível pelo IP, triangularização de antenas GPRS ou GPS

 A documentação especifica que o navegador deve perguntar
ao usuário se ele deseja compartilhar sua localização
 Como, por uma série de motivos, esses dados podem não
estar disponíveis, é necessário cautela na implementação
navigator.geolocation.getCurrentPosition(showpos)
function showpos(position){
alert('Your position: '+position.coords.latitude+','+ position.coords.longitude )
}

UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
É hora de pensar em HTML5?
 Sim! HTML5 inaugura a nova era do desenvolvimento web
 Hoje em dia, praticamente todos os navegadores do
mercado oferecem suporte a maioria dos elementos HTML5
 Existe uma frente que prefere esperar que os novos conceitos da
linguagem sejam consolidados e absorvidos
 Já outra frente, aplica alguns dos novos conceitos de cara e faz
o uso de scripts de compatibilidade para garantir o
funcionamento e aparência do site em todos os navegadores

 Estude quem é seu público-alvo e como ele acessa a web
para decidir se vale a pena e como será realizada a migração
UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Referências
 Referências










http://www.w3.org
http://tableless.com.br/html5/
http://html5demos.com/
http://www.infowester.com/introhtml5.php
https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/Content_categories
http://diveintohtml5.info/video.html
http://www.html5rocks.com/en/tutorials/forms/html5forms/input-types.html
http://www.modernizr.com
http://idgnow.uol.com.br/internet/2009/06/16/html-5-conheca-a-linguagem-quevai-revolucionar-sua-navegacao-na-web/

UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
Créditos
 Autor
 Luiz Fernando Machado Silva
 Bacharelando em Ciências da Computação – UNIFESP
 Contato: lfmachado90@gmail.com

 PESL
 Material educativo desenvolvido em dezembro de 2013 como
parte do PESL – Programa de Educação em Software Livre
 Coordenador: Prof. Dr. Arlindo Flavio da Conceição
 Site: www.pinguim.pro.br
UNIVERSIDADE FEDERAL DE SÃO PAULO
INSTITUTO DE CIÊNCIA E TECNOLOGIA
PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE

Contenu connexe

Tendances

Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento WebSérgio Souza Costa
 
Banco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoBanco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoRangel Javier
 
Java básico - Módulo 04: Estruturas de controle
Java   básico - Módulo 04:  Estruturas de controleJava   básico - Módulo 04:  Estruturas de controle
Java básico - Módulo 04: Estruturas de controleProfessor Samuel Ribeiro
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01 Léo Dias
 
Apresentação HTML e CSS
Apresentação HTML e CSSApresentação HTML e CSS
Apresentação HTML e CSSledsifes
 
Minicurso de HTML básico - Atualizado para HTML5
Minicurso de HTML básico - Atualizado para HTML5Minicurso de HTML básico - Atualizado para HTML5
Minicurso de HTML básico - Atualizado para HTML5Jose Augusto Cintra
 
Criação de páginas web
Criação de páginas webCriação de páginas web
Criação de páginas webarturramisio
 
Introdução à Criação De Páginas Web Aula1
Introdução à Criação De Páginas Web Aula1Introdução à Criação De Páginas Web Aula1
Introdução à Criação De Páginas Web Aula1marioreis
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Gustavo Zimmermann
 
13 Java Script - Validação de formulário
13 Java Script  - Validação de formulário13 Java Script  - Validação de formulário
13 Java Script - Validação de formulárioCentro Paula Souza
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosRafael Albani
 
Bootstrap praticas mais usadas
Bootstrap praticas mais usadas Bootstrap praticas mais usadas
Bootstrap praticas mais usadas Marconi Pacheco
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dadosvini_campos
 

Tendances (20)

Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
Banco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoBanco de Dados - MySQL Basico
Banco de Dados - MySQL Basico
 
Introdução ao CSS
Introdução ao CSSIntrodução ao CSS
Introdução ao CSS
 
Introdução ao HTML
Introdução ao HTMLIntrodução ao HTML
Introdução ao HTML
 
Java básico - Módulo 04: Estruturas de controle
Java   básico - Módulo 04:  Estruturas de controleJava   básico - Módulo 04:  Estruturas de controle
Java básico - Módulo 04: Estruturas de controle
 
Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
 
Apresentação HTML e CSS
Apresentação HTML e CSSApresentação HTML e CSS
Apresentação HTML e CSS
 
Minicurso de HTML básico - Atualizado para HTML5
Minicurso de HTML básico - Atualizado para HTML5Minicurso de HTML básico - Atualizado para HTML5
Minicurso de HTML básico - Atualizado para HTML5
 
Criação de páginas web
Criação de páginas webCriação de páginas web
Criação de páginas web
 
Introdução à Criação De Páginas Web Aula1
Introdução à Criação De Páginas Web Aula1Introdução à Criação De Páginas Web Aula1
Introdução à Criação De Páginas Web Aula1
 
Introdução a HTML5
Introdução a HTML5Introdução a HTML5
Introdução a HTML5
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
 
Curso de Desenvolvimento Web - Módulo 03 - JavaScript
Curso de Desenvolvimento Web - Módulo 03 - JavaScriptCurso de Desenvolvimento Web - Módulo 03 - JavaScript
Curso de Desenvolvimento Web - Módulo 03 - JavaScript
 
Curso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTMLCurso de Desenvolvimento Web - Módulo 01 - HTML
Curso de Desenvolvimento Web - Módulo 01 - HTML
 
13 Java Script - Validação de formulário
13 Java Script  - Validação de formulário13 Java Script  - Validação de formulário
13 Java Script - Validação de formulário
 
Projeto para WEB
Projeto para WEBProjeto para WEB
Projeto para WEB
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
 
Bootstrap praticas mais usadas
Bootstrap praticas mais usadas Bootstrap praticas mais usadas
Bootstrap praticas mais usadas
 
Aula 07
Aula 07Aula 07
Aula 07
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
 

En vedette

Desenvolvimento Web : HTML5, CSS3 & JavaScript
Desenvolvimento Web : HTML5, CSS3 & JavaScriptDesenvolvimento Web : HTML5, CSS3 & JavaScript
Desenvolvimento Web : HTML5, CSS3 & JavaScriptFábio Flatschart
 
CSS NA PRÁTICA PARA ALUNOS DE WEBDESIGN
CSS NA PRÁTICA PARA ALUNOS DE WEBDESIGNCSS NA PRÁTICA PARA ALUNOS DE WEBDESIGN
CSS NA PRÁTICA PARA ALUNOS DE WEBDESIGNRenato Melo
 
E-book sobre HTML 5 (Devmedia)
E-book sobre HTML 5 (Devmedia)E-book sobre HTML 5 (Devmedia)
E-book sobre HTML 5 (Devmedia)Devmedia
 
CSS Básico para Webdesign
CSS Básico para WebdesignCSS Básico para Webdesign
CSS Básico para WebdesignRenato Melo
 
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?Renato Bongiorno Bonfanti
 
HTML5 Básico: Formulários (aula 2)
HTML5 Básico: Formulários (aula 2)HTML5 Básico: Formulários (aula 2)
HTML5 Básico: Formulários (aula 2)Gustavo Zimmermann
 
Curriculo para Designer leonildo wagner - 08-2016
Curriculo para Designer  leonildo wagner - 08-2016 Curriculo para Designer  leonildo wagner - 08-2016
Curriculo para Designer leonildo wagner - 08-2016 Léo Dias
 
Consultoria em Processos de Produção
Consultoria em Processos de ProduçãoConsultoria em Processos de Produção
Consultoria em Processos de ProduçãoTaylor Aragão
 
Los golpes de_un_campeón_del_mundo
Los golpes de_un_campeón_del_mundoLos golpes de_un_campeón_del_mundo
Los golpes de_un_campeón_del_mundoLola Arroyo
 
Guia Referência Rápida HTML 5
Guia Referência Rápida HTML 5Guia Referência Rápida HTML 5
Guia Referência Rápida HTML 5Loiane Groner
 
Mobile First - Palestra no MobileConf 2013
Mobile First - Palestra no MobileConf 2013Mobile First - Palestra no MobileConf 2013
Mobile First - Palestra no MobileConf 2013Horácio Soares
 
Introdução ao HTML4 e HTML5
Introdução ao HTML4 e HTML5Introdução ao HTML4 e HTML5
Introdução ao HTML4 e HTML5Leonardo Soares
 

En vedette (20)

Desenvolvimento Web : HTML5, CSS3 & JavaScript
Desenvolvimento Web : HTML5, CSS3 & JavaScriptDesenvolvimento Web : HTML5, CSS3 & JavaScript
Desenvolvimento Web : HTML5, CSS3 & JavaScript
 
CSS NA PRÁTICA PARA ALUNOS DE WEBDESIGN
CSS NA PRÁTICA PARA ALUNOS DE WEBDESIGNCSS NA PRÁTICA PARA ALUNOS DE WEBDESIGN
CSS NA PRÁTICA PARA ALUNOS DE WEBDESIGN
 
Web design responsivo e adaptativo - HTML5/CSS3
Web design responsivo e adaptativo - HTML5/CSS3Web design responsivo e adaptativo - HTML5/CSS3
Web design responsivo e adaptativo - HTML5/CSS3
 
E-book sobre HTML 5 (Devmedia)
E-book sobre HTML 5 (Devmedia)E-book sobre HTML 5 (Devmedia)
E-book sobre HTML 5 (Devmedia)
 
CSS Básico para Webdesign
CSS Básico para WebdesignCSS Básico para Webdesign
CSS Básico para Webdesign
 
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
 
HTML5 Básico: Formulários (aula 2)
HTML5 Básico: Formulários (aula 2)HTML5 Básico: Formulários (aula 2)
HTML5 Básico: Formulários (aula 2)
 
Curriculo para Designer leonildo wagner - 08-2016
Curriculo para Designer  leonildo wagner - 08-2016 Curriculo para Designer  leonildo wagner - 08-2016
Curriculo para Designer leonildo wagner - 08-2016
 
Introdução ao HTML e CSS
Introdução ao HTML e CSSIntrodução ao HTML e CSS
Introdução ao HTML e CSS
 
Html5 aula 01
Html5 aula 01Html5 aula 01
Html5 aula 01
 
html5.ppt
html5.ppthtml5.ppt
html5.ppt
 
The Appy Hour
The Appy HourThe Appy Hour
The Appy Hour
 
Consultoria em Processos de Produção
Consultoria em Processos de ProduçãoConsultoria em Processos de Produção
Consultoria em Processos de Produção
 
Los golpes de_un_campeón_del_mundo
Los golpes de_un_campeón_del_mundoLos golpes de_un_campeón_del_mundo
Los golpes de_un_campeón_del_mundo
 
Guia Referência Rápida HTML 5
Guia Referência Rápida HTML 5Guia Referência Rápida HTML 5
Guia Referência Rápida HTML 5
 
Mobile First - Palestra no MobileConf 2013
Mobile First - Palestra no MobileConf 2013Mobile First - Palestra no MobileConf 2013
Mobile First - Palestra no MobileConf 2013
 
The wordl wide web
The wordl wide webThe wordl wide web
The wordl wide web
 
090401 justiça da reencarnação–livro ii, cap. 4
090401 justiça da reencarnação–livro ii, cap. 4090401 justiça da reencarnação–livro ii, cap. 4
090401 justiça da reencarnação–livro ii, cap. 4
 
Introdução ao HTML4 e HTML5
Introdução ao HTML4 e HTML5Introdução ao HTML4 e HTML5
Introdução ao HTML4 e HTML5
 
Upload
UploadUpload
Upload
 

Similaire à HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB

Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Rodrigo Marinho
 
Road Show TI Senac São Paulo - Jaú
Road Show TI Senac São Paulo - JaúRoad Show TI Senac São Paulo - Jaú
Road Show TI Senac São Paulo - JaúClécio Bachini
 
HTML5- Road Show TI - Senac Jaboticabal
HTML5- Road Show TI -  Senac Jaboticabal HTML5- Road Show TI -  Senac Jaboticabal
HTML5- Road Show TI - Senac Jaboticabal Clécio Bachini
 
Oficina Ases2.0 beta6.0 - André Luiz Rezende
Oficina Ases2.0 beta6.0 - André Luiz RezendeOficina Ases2.0 beta6.0 - André Luiz Rezende
Oficina Ases2.0 beta6.0 - André Luiz RezendeGovBR
 
Html5 - Notas de aula
Html5 - Notas de aulaHtml5 - Notas de aula
Html5 - Notas de aulaclodiney cruz
 
Trabalho de HTML, CSS e JavaScript - Eduardo Bertolucci - UNOPAR 2010
Trabalho de HTML, CSS e JavaScript - Eduardo Bertolucci - UNOPAR 2010Trabalho de HTML, CSS e JavaScript - Eduardo Bertolucci - UNOPAR 2010
Trabalho de HTML, CSS e JavaScript - Eduardo Bertolucci - UNOPAR 2010Eduardo Bertolucci
 
HTML5 - A nova fronteira no desenvolvimento de aplicações WEB
HTML5 - A nova fronteira no desenvolvimento de aplicações WEBHTML5 - A nova fronteira no desenvolvimento de aplicações WEB
HTML5 - A nova fronteira no desenvolvimento de aplicações WEBFábio Flatschart
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Eric Gallardo
 
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptxProjeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptxLuiz Antonio
 
Mercia regina portfólio-interdisciplinar-individual - analise-de-sistemas-1º-...
Mercia regina portfólio-interdisciplinar-individual - analise-de-sistemas-1º-...Mercia regina portfólio-interdisciplinar-individual - analise-de-sistemas-1º-...
Mercia regina portfólio-interdisciplinar-individual - analise-de-sistemas-1º-...Mércia Regina da Silva
 
HTML5 - Road Show TI Experience 2012
HTML5 - Road Show TI Experience 2012HTML5 - Road Show TI Experience 2012
HTML5 - Road Show TI Experience 2012Fábio Flatschart
 
Java No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo CustoJava No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo CustoÉberli Cabistani Riella
 
Campus Party 2011 html 5
Campus Party 2011 html 5Campus Party 2011 html 5
Campus Party 2011 html 5Danilo Sousa
 
Projeto Indiana
Projeto IndianaProjeto Indiana
Projeto Indianahellequin
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sitesthiagolima
 

Similaire à HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB (20)

XHTML e CSS
XHTML e CSSXHTML e CSS
XHTML e CSS
 
Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015
 
Front end - the right way
Front end - the right wayFront end - the right way
Front end - the right way
 
Road Show TI Senac São Paulo - Jaú
Road Show TI Senac São Paulo - JaúRoad Show TI Senac São Paulo - Jaú
Road Show TI Senac São Paulo - Jaú
 
HTML5- Road Show TI - Senac Jaboticabal
HTML5- Road Show TI -  Senac Jaboticabal HTML5- Road Show TI -  Senac Jaboticabal
HTML5- Road Show TI - Senac Jaboticabal
 
Curso de HTML5 CSS3 e JS
Curso de HTML5 CSS3 e JSCurso de HTML5 CSS3 e JS
Curso de HTML5 CSS3 e JS
 
HTML5
HTML5HTML5
HTML5
 
Oficina Ases2.0 beta6.0 - André Luiz Rezende
Oficina Ases2.0 beta6.0 - André Luiz RezendeOficina Ases2.0 beta6.0 - André Luiz Rezende
Oficina Ases2.0 beta6.0 - André Luiz Rezende
 
Html5 - Notas de aula
Html5 - Notas de aulaHtml5 - Notas de aula
Html5 - Notas de aula
 
Trabalho de HTML, CSS e JavaScript - Eduardo Bertolucci - UNOPAR 2010
Trabalho de HTML, CSS e JavaScript - Eduardo Bertolucci - UNOPAR 2010Trabalho de HTML, CSS e JavaScript - Eduardo Bertolucci - UNOPAR 2010
Trabalho de HTML, CSS e JavaScript - Eduardo Bertolucci - UNOPAR 2010
 
HTML5 - A nova fronteira no desenvolvimento de aplicações WEB
HTML5 - A nova fronteira no desenvolvimento de aplicações WEBHTML5 - A nova fronteira no desenvolvimento de aplicações WEB
HTML5 - A nova fronteira no desenvolvimento de aplicações WEB
 
Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 02 - ...
Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 02 - ...Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 02 - ...
Introdução aos Padrões Web e Tecnologias para o Ambiente Digital - Aula 02 - ...
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014
 
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptxProjeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
Projeto Web - Aula 1 - Fundamentos do Dev WEB.pptx
 
Mercia regina portfólio-interdisciplinar-individual - analise-de-sistemas-1º-...
Mercia regina portfólio-interdisciplinar-individual - analise-de-sistemas-1º-...Mercia regina portfólio-interdisciplinar-individual - analise-de-sistemas-1º-...
Mercia regina portfólio-interdisciplinar-individual - analise-de-sistemas-1º-...
 
HTML5 - Road Show TI Experience 2012
HTML5 - Road Show TI Experience 2012HTML5 - Road Show TI Experience 2012
HTML5 - Road Show TI Experience 2012
 
Java No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo CustoJava No Setor Público: Produtividade, Flexibilidade e Baixo Custo
Java No Setor Público: Produtividade, Flexibilidade e Baixo Custo
 
Campus Party 2011 html 5
Campus Party 2011 html 5Campus Party 2011 html 5
Campus Party 2011 html 5
 
Projeto Indiana
Projeto IndianaProjeto Indiana
Projeto Indiana
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
 

Plus de PeslPinguim

Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao ArduinoPeslPinguim
 
Aula 4 redes Inclusão Digital
Aula 4 redes Inclusão DigitalAula 4 redes Inclusão Digital
Aula 4 redes Inclusão DigitalPeslPinguim
 
Aula 3 parte 2 software Inclusão Digital
Aula 3 parte 2 software Inclusão DigitalAula 3 parte 2 software Inclusão Digital
Aula 3 parte 2 software Inclusão DigitalPeslPinguim
 
Aula 3 software Inclusão Digital
Aula 3 software Inclusão DigitalAula 3 software Inclusão Digital
Aula 3 software Inclusão DigitalPeslPinguim
 
Aula 2 parte 2 hardware Inclusão Digital
Aula 2 parte 2 hardware Inclusão DigitalAula 2 parte 2 hardware Inclusão Digital
Aula 2 parte 2 hardware Inclusão DigitalPeslPinguim
 
Aula 2 hardware Inclusão Digital
Aula 2 hardware Inclusão DigitalAula 2 hardware Inclusão Digital
Aula 2 hardware Inclusão DigitalPeslPinguim
 
Aula 1 apresentacao
Aula 1 apresentacaoAula 1 apresentacao
Aula 1 apresentacaoPeslPinguim
 
Aula 5 internet Inclusão Digital
Aula 5 internet Inclusão DigitalAula 5 internet Inclusão Digital
Aula 5 internet Inclusão DigitalPeslPinguim
 
Apresentação1_
Apresentação1_Apresentação1_
Apresentação1_PeslPinguim
 
Curso Básico de Java - Aula 10
Curso Básico de Java - Aula 10Curso Básico de Java - Aula 10
Curso Básico de Java - Aula 10PeslPinguim
 
Curso Básico de Java - Aula 5
Curso Básico de Java - Aula 5Curso Básico de Java - Aula 5
Curso Básico de Java - Aula 5PeslPinguim
 
Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4PeslPinguim
 
Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1PeslPinguim
 
Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7PeslPinguim
 
Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3PeslPinguim
 
Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2PeslPinguim
 
Curso Básico de Java - Aula 9
Curso Básico de Java - Aula 9Curso Básico de Java - Aula 9
Curso Básico de Java - Aula 9PeslPinguim
 
Curso Básico de Java - Aula 8
Curso Básico de Java - Aula 8 Curso Básico de Java - Aula 8
Curso Básico de Java - Aula 8 PeslPinguim
 
Eletrônica aplicada - interruptor sonoro
Eletrônica aplicada - interruptor sonoroEletrônica aplicada - interruptor sonoro
Eletrônica aplicada - interruptor sonoroPeslPinguim
 

Plus de PeslPinguim (20)

Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Aula 4 redes Inclusão Digital
Aula 4 redes Inclusão DigitalAula 4 redes Inclusão Digital
Aula 4 redes Inclusão Digital
 
Aula 3 parte 2 software Inclusão Digital
Aula 3 parte 2 software Inclusão DigitalAula 3 parte 2 software Inclusão Digital
Aula 3 parte 2 software Inclusão Digital
 
Aula 3 software Inclusão Digital
Aula 3 software Inclusão DigitalAula 3 software Inclusão Digital
Aula 3 software Inclusão Digital
 
Aula 2 parte 2 hardware Inclusão Digital
Aula 2 parte 2 hardware Inclusão DigitalAula 2 parte 2 hardware Inclusão Digital
Aula 2 parte 2 hardware Inclusão Digital
 
Aula 2 hardware Inclusão Digital
Aula 2 hardware Inclusão DigitalAula 2 hardware Inclusão Digital
Aula 2 hardware Inclusão Digital
 
Apresentação1
Apresentação1Apresentação1
Apresentação1
 
Aula 1 apresentacao
Aula 1 apresentacaoAula 1 apresentacao
Aula 1 apresentacao
 
Aula 5 internet Inclusão Digital
Aula 5 internet Inclusão DigitalAula 5 internet Inclusão Digital
Aula 5 internet Inclusão Digital
 
Apresentação1_
Apresentação1_Apresentação1_
Apresentação1_
 
Curso Básico de Java - Aula 10
Curso Básico de Java - Aula 10Curso Básico de Java - Aula 10
Curso Básico de Java - Aula 10
 
Curso Básico de Java - Aula 5
Curso Básico de Java - Aula 5Curso Básico de Java - Aula 5
Curso Básico de Java - Aula 5
 
Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4Curso Básico de Java - Aula 4
Curso Básico de Java - Aula 4
 
Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1Curso Básico de Java - Aula 1
Curso Básico de Java - Aula 1
 
Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7
 
Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3
 
Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2Curso Básico de Java - Aula 2
Curso Básico de Java - Aula 2
 
Curso Básico de Java - Aula 9
Curso Básico de Java - Aula 9Curso Básico de Java - Aula 9
Curso Básico de Java - Aula 9
 
Curso Básico de Java - Aula 8
Curso Básico de Java - Aula 8 Curso Básico de Java - Aula 8
Curso Básico de Java - Aula 8
 
Eletrônica aplicada - interruptor sonoro
Eletrônica aplicada - interruptor sonoroEletrônica aplicada - interruptor sonoro
Eletrônica aplicada - interruptor sonoro
 

Dernier

BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
A experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxA experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxfabiolalopesmartins1
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024Jeanoliveira597523
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADOcarolinacespedes23
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveaulasgege
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxLuizHenriquedeAlmeid6
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 

Dernier (20)

BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
A experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxA experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptx
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 

HTML5 - UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB

  • 1. HTML5 UM GUIA DE REFERÊNCIA PARA DESENVOLVEDORES WEB UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 2. HTML  HTML: Hypertext Markup Language  Linguagem de estruturação e apresentação de conteúdo web  Links, texto, imagem, vídeo, áudio, etc...  Baseada no conceito de hipertexto  “nós” ligados por conexões, formando uma rede de informações     Proposta como padrão por Tim Berners-Lee em 1990 Começou a ser popularizado na década de 90 (Mosaic) Oficialmente padronizada em 1997, pelo W3C (versão 3.2) Linguagem independente de plataforma, sistema ou browser UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 3. WHAT Working Group  Em 2004, Mozilla, Apple e Opera fundaram o WHATWG      Grupo de discussão sobre o futuro do desenvolvimento web Primeiro esboço do que viria a ser implementado no HTML5 Um dos focos era trazer melhor semântica à linguagem Facilitar manipulação de elementos via Javascript e CSS Eliminar necessidade de scripts para garantir compatibilidade  Em 2006, o WHATWG foi reconhecido pela W3C  Oficialização do desenvolvimento do padrão HTML5  Descontinuação do padrão XHTML2 UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 4. HTML5  Padronização das regras de marcação HTML5  Novas tags e alteração no comportamento de tags existentes       Padronização de seções comuns: cabeçalho, rodapé, menu, etc. Padronização de nomenclaturas: melhoria na semântica Elimina a necessidade de scripts externos (plugins / bibliotecas) Manipulação não-intrusiva de objetos Independente de sistema operacional ou navegador Retrocompatível: sem necessidade de reescrita de sites antigos  Definição de APIs base para arquitetura web (DOM Level 0) UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 5. Orientação à Semântica  Quando lemos um livro, conseguimos diferenciar parágrafos, títulos, rodapés e cabeçalhos devido a formatação visual  Robôs de busca não conseguem notar essas diferenças  Cabe ao desenvolvedor marcar essas informações com tags que atribuam significado a cada seção do código  Tags HTML, como <header>, <footer> e <time> foram introduzidas para auxiliar na marcação semântica do código  Tags <b> e <i> foram mantidas, mas ganharam semântica  Tags relacionadas apenas a formatação visual foram removidas já que são facilmente supridas por folhas de estilo CSS UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 6. Desenvolvimento modular  Em versões antigas do HTML e CSS:  Todas as ideias de uma nova versão eram especificadas  Depois de testadas, as especificações eram então divulgadas para implementação nos navegadores  HTML5 e CSS3:  Desenvolvimento modular  Grupos diferentes cuidam de tecnologias diferentes, que são publicadas (e implementadas) de maneira independente  Ponto negativo: problemas de compatibilidade UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 7. Motores de renderização  Múltiplos navegadores, cada um com suas características  Impossível garantir 100% de compatibilidade entre browsers  Desenvolvedores focam em manter o código compatível com os motores que processam e renderizam o código-fonte Motor Browser Webkit Safari, Google Chrome Gecko Firefox, Mozilla, Camino Trident Internet Explorer 4 ao 9 Presto Opera 7 ao 10 UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 8. Compatibilidade com HTML5 Safari Chrome Opera Firefox Local Storage Histórico de Sessão Aplicações Offline Novos tipos de campos Form: Autofocus Form: Autocomplete Form: Required Video, Audio, Canvas Text UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE IE 8 IE 9
  • 9. Técnicas de detecção  Navegadores distintos suportam HTML5 de maneira distinta  Como detectar se um navegador suporta HTML5 e CSS3?  Biblioteca Modernizr - http://www.modernizr.com if (Modernizr.geolocation) { // Aceita a feature de geolocalização } else { // Não aceita a feature de geolocalização }  Existem formas de manter a compatibilidade do site:  Redirecionar o usuário para uma versão simplificada do site  Exibir uma mensagem na tela alertando o usuário UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 10. Estrutura básica <!DOCTYPE HTML> Primeira linha de código do documento HTML5. Instrui o navegador sobre a codificação do documento. <html lang="pt-br"> Ao abrir a tag <html>, iniciamos a árvore de elementos de um código HTML. O atributo lang indica qual a língua principal do documento. <head> A tag <head> armazena os metadados – informações sobre a página e seu conteúdo. <meta charset="UTF-8"> Atributo charset: informações de codificação dos caracteres. <link rel="stylesheet" type="text/css" href="style.css"> <title>Exemplo</title> Tag <link>: conteúdo de fontes externas, Nesse exemplo, uma folha de estilos CSS. </head> <body> Dentro das tags <body> está o conteúdo que será renderizado ao usuário. </body> </html> UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 11. Modelos de conteúdo  De maneira geral, existem dois grandes grupos de elementos  Elementos de linha: denotam, na maioria das vezes, texto.  Elementos de bloco: dividem seções do layout.  De maneira mais específica, os elementos são agrupados em categorias de acordo com seu comportamento UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 12. Metadata  Elementos que modificam a apresentação ou comportamento do resto do documento  Elementos que fazem ligações com outros documentos <base>, <command>, <link>, <meta>, <noscript>, <script>, <style>, <title> UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 13. Flow  Elementos que tipicamente contém texto ou elementos da categoria de conteúdo Embedded <a>, <abbr>, <address>, <article>, <aside>, <audio>, <b>, <bdo>, <blockquote>, <br>, <button>, <canvas>, <cite>, <code>, <command>, <datalist>, <del>, <details>, <dfn>, <div>, <dl>, <em>, <embed>, <fieldset>, <figure>, <footer>, <form>, <h1>, <h2>, <h3>, <h4>, <h5>, <h6>, <header>, <hgroup>, <hr>, <i>, <iframe>, <img>, <input>, <ins>, <kbd>, <keygen>, <label>, <map>, <mark>, <math>, <menu>, <meter>, <nav>, <noscript>, <object>, <ol>, <output>, <p>, <pre>, <progress>, <q>, <ruby>, <samp>, <script>, <section>, <select>, <small>, <span>, <strong>, <sub>, <sup>, <svg>, <table>, <textarea>, <time>, <ul>, <var>, <video>, <wbr> UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 14. Sectioning  Elementos usados para definir o conteúdo de uma subseção dentro de um documento  <article> delimita publicações em um blog, notícias, etc.  <aside> delimita dados relacionados ao conteúdo ao redor  <nav> é usada para delimitar navegação dentro da página  <section> é uma delimitação genérica, sem tanta semântica <article>, <aside>, <nav>, <section> UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 15. Heading  Elementos que definem cabeçalhos.  Normalmente presentes dentro da categoria Sectioning <h1>, <h2>, <h3>, <h4>, <h5>, <h6>, <hgroup> UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 16. Phrasing  Elementos usados para definir, principalmente, texto e suas marcações, como formatação e outros atributos <abbr>, <audio>, <b>, <bdo>, <br>, <button>, <canvas>, <cite>, <code>, <command>, <datalist>, <dfn>, <em>, <embed>, <i>, <iframe>, <img>, <input>, <kbd>, <keygen>, <label>, <mark>, <math>, <meter>, <noscript>, <object>, <output>, <progress>, <q>, <ruby>, <samp>, <script>, <select>, <small>, <span>, <strong>, <sub>, <sup>, <svg>, <textarea>, <time>, <var>, <video>, <wbr> UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 17. Embedded  Elementos que importam informações de recursos externos ou de outras linguagens de marcação para o documento <audio>, <canvas>, <embed>, <iframe>, <img>, <math>, <object>, <svg>, <video> UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 18. Interactive  Elementos que fazem interação com o usuário  Normalmente, aparecem em um formulário  São ativados por um comportamento pré-determinado como clique, movimento do mouse ou entrada pelo teclado <a>, <audio>, <button>, <details>, <embed>, <iframe>, <img>, <input>, <keygen>, <label>, <menu>, <object>, <select>, <textarea>, <video> UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 19. Formulários: Novos atributos  Elemento input recebe novos atributos para type  tel: sem máscara de validação e integração com agenda  search: campo de busca semanticamente interpretado  email: com formatação/validação e integração com agenda  url: endereço web com formatação/validação  color: seletor de cor renderizado pelo navegador  number: aceita apenas valores númericos  step, min, max: atributos opcionais para configurar escopo  range: variante visual do tipo number UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 20. Formulários: Data e Hora  Novos atributos introduzidos para controle de data e hora       datetime date month week time datetime-local (trata diferenças de fuso-horário)  Oferecem suporte a formatação/validação com o servidor  step: define a diferença mínima entre dois horários (em s) UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 21. Formulários: Usabilidade  Soluções de validação e usabilidade, agora, nativas ao HTML  autofocus: dá foco ao campo assim que o campo for criado  placeholder: texto padrão do campo antes do foco  required: torna o preenchimento de um campo obrigatório  maxlength: agora disponível para o elemento textarea  pattern: define expressões regulares de validação (regex)  novalidate: em form, indica a não-validação do formulário  formnovalidate: em um botão submit, pode ser usado para submeter dados sem realizar validação (ex: rascunhos) UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 22. Formulários: Customização  Ao invés de se “amarrar” ao Javascript e bibliotecas (como jQuery), o HTML5 fornece interfaces para tornar a interação com a linguagem o mais transparente o possível  Por exemplo, para criar uma validação de dados customizada, implementamos uma rotina padronizada  Evento oninput no input é disparado quando ocorre qualquer modificação no valor de um campo  Método setCustomValidity, implementado dentro de um método Javascript e é usado para dar informar o usuário em caso de erros durante a validação UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 23. Formulários: Ortografia  Através do uso do atributo spellcheck="true" é possível habilitar a revisão ortográfica (e também gramátical) para qualquer campo de um formulário  Vale ressaltar que, assim como a grande maioria das tags de HTML5, essa funcionalidade está restrita ao que estiver disponível na plataforma de destino  Também é possível desativar qualquer tipo de validação utilizando spellcheck="false" UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 24. Menus  O elemento menu é usado para definir menus e barras de ferramenta de maneira simples e semântica  Em um navegador compátivel, exibirá os elementos menu (e seus sub-elementos) de maneira organizada e aninhada <menu type="toolbar"> <li> <menu label="File"> <button type="button" <button type="button" <button type="button" <button type="button" </menu> </li> <li> <menu label="Edit"> <button type="button" <button type="button" <button type="button" </menu> </li> ... </menu> onclick="fnew()">New...</button> onclick="fopen()">Open...</button> onclick="fsave()">Save</button> onclick="fsaveas()">Save as...</button> onclick="ecopy()">Copy</button> onclick="ecut()">Cut</button> onclick="epaste()">Paste</button> UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 25. Sumário e detalhamento  Visualizar uma descrição sumarizada e, ao clicar, abrir o detalhamento é uma prática comum da web  No entanto, isso é realizado via métodos Javascript  No HTML5, foram inseridas as tags details e summary para realizar essa operação de forma semântica UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 26. Conteúdo editável  É possível fazer com que qualquer elemento do HTML seja editável pelo agente do usuário  Para isso, basta setar o atributo contenteditable="true"  Isso permite criar, com facilidade, uma área de edição de HTML dentro de uma página UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 27. Truques de visualização  Para facilitar o trabalho dos desenvolvedores foram inseridos dois antigos “truques” de Javascript e CSS foram padronizados no HTML5  A funcionalidade hidden agora pode ser declarada como atributo de qualquer objeto <div hidden=true>Texto escondido.</div>  O método scrollIntoView pode ser chamado para trazer qualquer elemento da página para o foco do navegador document.getElementById('id').scrollIntoView() UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 28. Drag and Drop  Essa API permite que elementos sejam “arrastáveis” pelo usuário – assim como ícones no sistema operacional  No objeto arrastado, inserimos draggable="true"  Esse objeto dispara os eventos dragstart, drag e dragend  No objeto alvo, não é necessário inserir nenhum atributo  Esse objeto escuta os eventos dragenter, dragleave, dragover e drop  Fica ao cargo do programador definir o comportamento da página quando algum desses eventos for chamado UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 29. Áudio, Vídeo e Codecs  Novos elementos substituem o uso de elementos iframe ou embed para renderizar players de áudio  Elementos audio e video podem ser customizados  Controls: define a exibição de uma barra de controle  Autoplay: define se o conteúdo terá reprodução automática  Source: tags utilizadas para definir fontes alternativas  Codecs: informa ao browser qual o formato da fonte alternativa <video controls="true" autoplay="true" width="400" height="300"> <source src='video.ogv' type='video/ogg; codecs="theora, vorbis"'> <source src='video.mp4' type='video/mp4; codecs="mp4v.20.240, mp4a.40.2"'> <p>Faça o <a href="dl.mp4">download do vídeo</a>.</p> </video> UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 30. MathML  MathML é uma linguagem de marcação, baseada em XML, usada para representação de fórmulas matemáticas  No HTML5, o elemento math denota o uso de MathML <math xmlns="http://www.w3.org/1998/Math/MathML"> <mrow> <mi>x</mi> <mo>=</mo> <mfrac> <mrow> <mo form="prefix">&minus;</mo><mi>b</mi> <mo>&PlusMinus;</mo> <msqrt> <msup> <mi>b</mi><mn>2</mn> </msup> <mo>&minus;</mo> <mn>4</mn><mo>&InvisibleTimes;</mo><mi>a</mi><mo>&InvisibleTimes;</mo><mi>c</mi> </msqrt> </mrow> <mrow> <mn>2</mn><mo>&InvisibleTimes;</mo><mi>a</mi> </mrow> </mfrac> </mrow> </math> UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 31. SVG  SVG é uma linguagem de marcação, baseada em XML, usada para marcação de gráficos vetoriais  No HTML5, o elemento svg denota o uso de SVG  O conteúdo vetorial é escalável e acessível a leitores de tela <svg width="400" height="400"> <!-- Um retângulo: --> <rect x="10" y="10" width="150" height="50" stroke="#000000" stroke-width="5" fill="#FF0000" /> <!-- Um polígono: --> <polygon fill="red" stroke="blue" stroke-width="10" points="250,75 279,161 369,161 297,215 323,301 250,250 177,301 203,215 131,161 221,161" /> <!-- Um círculo --> <circle cx="70" cy="240" r="60" stroke="#00FF00" stroke-width="5" fill="#FFFFFF" /> </svg> UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 32. Canvas  Canvas API permite a criação de desenhos na tela do navegador usando Javascript  Para renderização do desenho, usamos um elemento canvas  Performance superior ao SVG e sintaxe simplificada function desenhar(){ context=document.getElementById('x').getContext('2d') //Iniciamos um novo desenho context.beginPath() //Movemos a caneta para o inicio do desenho context.moveTo(150,50) //Desenhamos as linhas context.lineTo(220,250) context.lineTo(50,125) context.lineTo(250,125) context.lineTo(80,250) context.lineTo(150,50) //Vamos pintar o interior de amarelo context.fillStyle='#ff0' context.fill() //Vamos pintar as linhas de vermelho. context.strokeStyle='#f00' context.stroke() } UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 33. EventSource  Server-Sent Events API é uma API utilizada para “inverter” o fluxo cliente->servidor das aplicações, tornando possível que o servidor possa disparar o envio de dados ao cliente  Em Javascript, instanciamos o objeto EventSource es=new EventSource('comm.php')  No exemplo, criamos uma conexão HTTP para comm.php e a aplicação ficará escutando – cada vez que o servidor enviar algo para o cliente, o evento onmessage será disparado es.onmessage=function(e){ alert("Chegaram dados: "+e.data) } UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 34. Histórico de Sessão  Anteriormente, os browsers não tinham controle sobre o histórico de ações de um usuário em uma página – limitando-se a navegação usando os métodos go, back e forward do objeto history do navegador  O HTML5 turbinou o objeto history com novos métodos para controlar a pilha de entradas do histórico e também associar dados à essas entradas com maior liberdade  pushState(data, title, url): acrescenta entrada no histórico  replaceState(data, title, url): modifica entrada atual  window.onpopstate : evento ativado ao navegar no histórico UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 35. Storage  Ao invés de trabalhar com cookies complexos e com funcionalidade limitada, o HTML5 traz uma nova maneira de armazenar (e recuperar) dados no clientes – a API Storage  Existem dois objetos de que podemos implementar  localStorage: armazena dados sem data de expiração  sessionStorage: armazena dados apenas durante a sessão  Interface simplificada de acesso aos dados getItem(key) setItem(key, value), removeItem(key) clear() UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 36. Geolocation  A Geolocation API é capaz de permitir que o navegador detecte a posição geográfica de um cliente  Possível pelo IP, triangularização de antenas GPRS ou GPS  A documentação especifica que o navegador deve perguntar ao usuário se ele deseja compartilhar sua localização  Como, por uma série de motivos, esses dados podem não estar disponíveis, é necessário cautela na implementação navigator.geolocation.getCurrentPosition(showpos) function showpos(position){ alert('Your position: '+position.coords.latitude+','+ position.coords.longitude ) } UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 37. É hora de pensar em HTML5?  Sim! HTML5 inaugura a nova era do desenvolvimento web  Hoje em dia, praticamente todos os navegadores do mercado oferecem suporte a maioria dos elementos HTML5  Existe uma frente que prefere esperar que os novos conceitos da linguagem sejam consolidados e absorvidos  Já outra frente, aplica alguns dos novos conceitos de cara e faz o uso de scripts de compatibilidade para garantir o funcionamento e aparência do site em todos os navegadores  Estude quem é seu público-alvo e como ele acessa a web para decidir se vale a pena e como será realizada a migração UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE
  • 39. Créditos  Autor  Luiz Fernando Machado Silva  Bacharelando em Ciências da Computação – UNIFESP  Contato: lfmachado90@gmail.com  PESL  Material educativo desenvolvido em dezembro de 2013 como parte do PESL – Programa de Educação em Software Livre  Coordenador: Prof. Dr. Arlindo Flavio da Conceição  Site: www.pinguim.pro.br UNIVERSIDADE FEDERAL DE SÃO PAULO INSTITUTO DE CIÊNCIA E TECNOLOGIA PESL PROGRAMA DE EDUCAÇÃO EM SOFTWARE LIVRE