HTML 5 II Jornada de Sistemas para Internet - FATESM 1sexta-feira, 22 de outubro de 2010
O que é o HTML 5? 2sexta-feira, 22 de outubro de 2010
XML APIs HTML 5 CSS 3 JavaScript 3sexta-feira, 22 de outubro de 2010
Histórico HTML HTML 4 XHTML HTML 5 1990 1997 2000 2010+ 4sexta-feira, 22 de outubro de 2010
w3c e o xhtml 2 <img /> 5sexta-feira, 22 de outubro de 2010
XHTML 2 não é web! 6sexta-feira, 22 de outubro de 2010
XHTML 2 não é web! 7sexta-feira, 22 de outubro de 2010
XHTML 2 não é web! 8sexta-feira, 22 de outubro de 2010
XHTML 2 não é web! 9sexta-feira, 22 de outubro de 2010
XHTML 2 não é web! 10sexta-feira, 22 de outubro de 2010
Grupos de Trabalho HTML WGWHAT WG 11sexta-feira, 22 de outubro de 2010
Princípios básicos Simplicidade Adaptação 12sexta-feira, 22 de outubro de 2010
Enxergar o futuro Compreender o passado Tradição 13sexta-feira, 22 de outubro de 2010
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional// EN" "http://www.w3.org/ TR/xhtml1/DTD/xhtml1- transitional.dtd"> 14sexta-feira, 22 de outubro de 2010
<!DOCTYPE html> 15sexta-feira, 22 de outubro de 2010
<html xmlns="http://www.w3.org/1999/xhtml" lang=”pt-BR”> <html lang=”pt-BR”> 16sexta-feira, 22 de outubro de 2010
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta charset=utf-8 > 17sexta-feira, 22 de outubro de 2010
- XML + HTML 18sexta-feira, 22 de outubro de 2010
WEB 3.0 19sexta-feira, 22 de outubro de 2010
20sexta-feira, 22 de outubro de 2010
21sexta-feira, 22 de outubro de 2010
Quando vai estar pronto? 22sexta-feira, 22 de outubro de 2010
W3C: não utilize HTML 5! Mito ou verdade? 23sexta-feira, 22 de outubro de 2010
Chrome Opera Internet Explorer SafariFirefox 24sexta-feira, 22 de outubro de 2010
CNN Flickr The NewYork Times Time Vimeo Apple Google Youtube Nike Globo.com Facebook Adobe National Geographic Videolog 25sexta-feira, 22 de outubro de 2010
26sexta-feira, 22 de outubro de 2010
Progressive Enhancement ■ conteúdo e funcionalidades básicas disponível para qualquer browser ■ marcação semântica ■ CSS e JavaScript em arquivos externos e modularizados ■ manter os padrões do browser do usuário 27sexta-feira, 22 de outubro de 2010
Shims, Fallbacks e Polyfills @rem // Remy Sharp http://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills http://goo.gl/KQDB 28sexta-feira, 22 de outubro de 2010
Estamos coletando todos os shims, fallbacks e polyfills a fim de implementar a funcionalidade do HTML 5 em browsers que não oferecem suporte ao mesmo. A ideia geral é: nós, desenvolvedores, devemos ser capazes de desenvolver com as APIs do HTML 5 e scripts podem criar os métodos e objetos que precisam existir. Desenvolver nesse modo “a prova de futuro” significa que enquanto os usuários se atualizam, seu código não precisa mudar e assim eles já migram para uma experiência melhor e nativa, através de uma forma limpa. 29sexta-feira, 22 de outubro de 2010
Novos elementos 30sexta-feira, 22 de outubro de 2010
header hgroup section article aside nav footer audiovideo figure ruby progress Elementos estruturais 31sexta-feira, 22 de outubro de 2010
section uma seção genérica do documento div passa a ser somente um bloco qualquer 32sexta-feira, 22 de outubro de 2010
header cabeçalho do documento ou seção footer rodapé do documento ou seção 33sexta-feira, 22 de outubro de 2010
aside conteúdo que não representa o assunto principal do documento ou seção nav seção de navegação 34sexta-feira, 22 de outubro de 2010
article uma seção independente do documento hgroup conjunto de títulos e subtítulos em um cabeçalho 35sexta-feira, 22 de outubro de 2010
video coisa mais linda do mundo audio coisa mais linda do mundo, só que você não vê 36sexta-feira, 22 de outubro de 2010
video elemento contento vídeo nativo, sem utilização de plugin externo audio o mesmo que acima, mas obviamente indica um áudio 37sexta-feira, 22 de outubro de 2010
Mas como funciona essa estrutura? 38sexta-feira, 22 de outubro de 2010
header footer section 39sexta-feira, 22 de outubro de 2010
header footer section#container asidesection#artigos 40sexta-feira, 22 de outubro de 2010
header footer section#container hgroup h1 com título da página h2 com um subtítulo bem legal nav home contato faq docs ul li: section / div pesquisar... 41sexta-feira, 22 de outubro de 2010
header footer section#container asidesection#artigos article article article 42sexta-feira, 22 de outubro de 2010
article h1 com título do artigo header algumas informações nesse rodapé do artigo, sobre o artigo footer algum texto aqui, o próprio conteúdo do artigo 43sexta-feira, 22 de outubro de 2010
H1 no artigo?? E a hierarquia???!?! 44sexta-feira, 22 de outubro de 2010
Nova ordenação hierárquica dos títulos 45sexta-feira, 22 de outubro de 2010
Como fica a marcação? 46sexta-feira, 22 de outubro de 2010
Temos mais elementos? 47sexta-feira, 22 de outubro de 2010
E o que não temos mais? acronym font big frame applet frameset marquee!!! 48sexta-feira, 22 de outubro de 2010
A marcação HTML não define estilização visual 49sexta-feira, 22 de outubro de 2010
O HTML 5 não tem <marquee>! 50sexta-feira, 22 de outubro de 2010
Mais simplicidade 51sexta-feira, 22 de outubro de 2010
<head> e <body> podem ser omitidos... 52sexta-feira, 22 de outubro de 2010
<head> e <body> podem ser omitidos... Mas não faça isso! 52sexta-feira, 22 de outubro de 2010
tags únicas não precisam de / <br /> <br> 53sexta-feira, 22 de outubro de 2010
<script> não precisa mais de declaração de tipo <script type=”text/javascript” src=”script.js”></script> <script src=”script.js”></script> 54sexta-feira, 22 de outubro de 2010
Esqueça os blocos 55sexta-feira, 22 de outubro de 2010
Problema Estrutural 56sexta-feira, 22 de outubro de 2010
É muito simples resolver... 57sexta-feira, 22 de outubro de 2010
Podemos criar elementos “novos” document.createElement(‘article’); article { display: block } 58sexta-feira, 22 de outubro de 2010
<!--[if IE]>   <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"> </script> <![endif]--> <style>   article, aside, figure, footer, header, hgroup,   menu, nav, section { display: block; } </style> 59sexta-feira, 22 de outubro de 2010
As APIs do HTML 5 60sexta-feira, 22 de outubro de 2010
- WebForms 2.0 - Web Storage - Web Sockets - Web Workers - Geolocation -Video & Audio - Canvas & SVG - Aplicações Offline 61sexta-feira, 22 de outubro de 2010
SVG <svg>   <circle id="sol" cx="50%" cy="50%" r="100"     fill="yellow"   /> </svg> 62sexta-feira, 22 de outubro de 2010
SVG <svg>   <circle id="sol" cx="50%" cy="50%" r="100"     fill="yellow"   /> </svg> 62sexta-feira, 22 de outubro de 2010
WebForms 2.0 63sexta-feira, 22 de outubro de 2010
Novos tipos de input email datetime etc range searchnumber 64sexta-feira, 22 de outubro de 2010
Se o browser não reconhece? 65sexta-feira, 22 de outubro de 2010
Novos atributos dos inputs required min / max pattern autofocusautocomplete placeholder 66sexta-feira, 22 de outubro de 2010
<form> <input type=”search” id="q" autofocus required placeholder=”Pesquisar...”> <script> if (!("autofocus" in document.createElement("input"))) { document.getElementById("q").focus(); } </script> <input type="submit" value="Ir"> </form> 67sexta-feira, 22 de outubro de 2010
Validando um form <script> form = document.getElementById(‘f’); if ( form.checkValidity() ) console.log(‘form válido’); </script> 68sexta-feira, 22 de outubro de 2010
Aplicações Off-line <html manifest=”cache.manifest”> 69sexta-feira, 22 de outubro de 2010
CACHE MANIFEST #comentarios e versões CACHE: index.html stylesheet.css imagens/logo.png js/script.js NETWORK: login.php /myapi http://api.twitter.com FALLBACK: /main.php /static.html Arquivos cacheados Arquivos que necessitam de status online Fallback para recurso não disponível 70sexta-feira, 22 de outubro de 2010
var cacheStatus = window.applicationCache.status; window.applicationCache.update(); window.applicationCache.swapCache(); 71sexta-feira, 22 de outubro de 2010
Web Storage Cookies Máximo de 20 Limitados a 4KB Reduzem velocidade da página pois são transferidos via headers do HTTP 72sexta-feira, 22 de outubro de 2010
localStorage sessionStorage domínio de acesso aba/janela aberta 73sexta-feira, 22 de outubro de 2010
localStorage.chave = “valor”; localStorage[‘chave’] = “valor”; sessionStorage.chave = “valor”; sessionStorage[‘chave’] = “valor”; 74sexta-feira, 22 de outubro de 2010
75sexta-feira, 22 de outubro de 2010
SQL Database 76sexta-feira, 22 de outubro de 2010
var db = openDatabase(“nome”, “versão”); db.transaction(function(tx) { tx.executeSql(“SELECT * FROM tabela”, callbackSucesso, callbackErro); }); 77sexta-feira, 22 de outubro de 2010
78sexta-feira, 22 de outubro de 2010
Geolocation 79sexta-feira, 22 de outubro de 2010
if (navigator.geolocation) { var geo = navigator.geolocation; geo.getCurrentPosition( function (posicao) { lat = posicao.coords.latitude; lng = posicao.coords.longitude; }); } 80sexta-feira, 22 de outubro de 2010
Web Workers 81sexta-feira, 22 de outubro de 2010
Script principal Worker A Worker B Worker C Worker D 82sexta-feira, 22 de outubro de 2010
Script principal Worker A Worker B Worker C Worker D 82sexta-feira, 22 de outubro de 2010
Script principal Worker A Worker B Worker C Worker D 82sexta-feira, 22 de outubro de 2010
main.js: var worker = new Worker('paralelo.js'); worker.onmessage = function(event) { alert(event.data); }; paralelo.js: self.onmessage = function(event) { // trabalho a ser exeucado em paralelo. self.postMessage(dados); } http://leobalter.net/html5/webworkers.html 83sexta-feira, 22 de outubro de 2010
WebSockets 84sexta-feira, 22 de outubro de 2010
Ajax Uma requisição ao servidor vale para um pedido e uma resposta 85sexta-feira, 22 de outubro de 2010
WebSockets Uma única requisição da pra ficar mandando e recebendo mensagens do servidor o dia todo! 86sexta-feira, 22 de outubro de 2010
var socket = new WebSocket(location); socket.onopen = function(event) { socket.postMessage(“Olá, servidor”); } socket.onmessage = function(event) { alert(event.data); } socket.onclose = function(event) { alert(“Socket fechado”); } 87sexta-feira, 22 de outubro de 2010
http://www.rumpetroll.com/ 88sexta-feira, 22 de outubro de 2010
Canvas 89sexta-feira, 22 de outubro de 2010
<canvas id="myCanvas" width="300" height="300"></canvas> var canvas = document.getElementById("myCanvas"); var ctx = canvas.getContext('2d'); ctx.fillStyle = "rgb(200,0,0)"; ctx.fillRect( 10, 10, 55, 50 ); ctx.fillStyle = "rgba(0,0,200, 0.5)"; ctx.fillRect( 30, 30, 55, 50 ); 90sexta-feira, 22 de outubro de 2010
91sexta-feira, 22 de outubro de 2010
Audio <audio src="sound.mp3" controls></audio> 92sexta-feira, 22 de outubro de 2010
Video 93sexta-feira, 22 de outubro de 2010
<video width="480" height="267" poster="imagemPoster.jpg" controls> <source type="video/mp4" src="video.mp4" /> <source type="video/webm" src="video.webm" /> <source type="video/ogg" src="video.ogv" /> </video> 94sexta-feira, 22 de outubro de 2010
Tipos deVídeo WEBM MP4/h.264 OGV Safari Chrome 5 Firefox 3.5 Opera 10.5 Safari Chrome 5 IE 9 iPhone Android Safari Chrome 6 IE 9 com v8 Firefox 4 Opera 10.6 95sexta-feira, 22 de outubro de 2010
Atributos HTML e JS para <video> loop autoplay controls preload 96sexta-feira, 22 de outubro de 2010
<video src=”exp.mov” controls preload=”false” loop autoplay></video> var vid = document.getElementById('idVideo'); console.log(vid.controls); console.log(vid.preload); console.log(vid.loop); console.log(vid.autoplay); HTML: JS: 97sexta-feira, 22 de outubro de 2010
Controles JS play() / play pause() / pause volume muted currentTime loadeddata ended 98sexta-feira, 22 de outubro de 2010
99sexta-feira, 22 de outubro de 2010
Como colocar vídeo para funcionar em qualquer browser? 100sexta-feira, 22 de outubro de 2010
<video controls> <source type="video/mp4" src="video.mp4" /> <img src="placeholder.jpg" /> </video> <video controls> <source type="video/mp4" src="video.mp4" /> Esse browser não toca esse vídeo super legal </video> <video controls> <source type="video/mp4" src="video.mp4" /> <object><embed> // Muito flash no meio disso </embed></object> </video> 101sexta-feira, 22 de outubro de 2010
http://www.thewildernessdowntown.com/ 102sexta-feira, 22 de outubro de 2010
CSS 3 103sexta-feira, 22 de outubro de 2010
HTML CSSJavaScript 104sexta-feira, 22 de outubro de 2010
Cascading Style Sheet 105sexta-feira, 22 de outubro de 2010
1996 106sexta-feira, 22 de outubro de 2010
Usamos o CSS 2.1 107sexta-feira, 22 de outubro de 2010
E um pouco de CSS 3 108sexta-feira, 22 de outubro de 2010
Podemos implementar 100%? 109sexta-feira, 22 de outubro de 2010
110sexta-feira, 22 de outubro de 2010
111sexta-feira, 22 de outubro de 2010
html5readiness.com 112sexta-feira, 22 de outubro de 2010
IE 6 IE 7 IE 8 IE 9 Firefox 3.6 Firefox 4 Opera Safari Chrome 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% caniuse.com (html5 + css3) 113sexta-feira, 22 de outubro de 2010
IE 6 IE 7 IE 8 IE 9 Firefox 3.6 Firefox 4 Opera Safari Chrome 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% caniuse.com (css3) 114sexta-feira, 22 de outubro de 2010
O que temos de novo? 115sexta-feira, 22 de outubro de 2010
Novos seletores 116sexta-feira, 22 de outubro de 2010
tag #id .class 117sexta-feira, 22 de outubro de 2010
tag[atributo=valor] ex.: input[type=text] 118sexta-feira, 22 de outubro de 2010
a[hrefˆ=http] Toda tag “a” com atributo href em que o valor começa com a palavra “http”: 119sexta-feira, 22 de outubro de 2010
a[rel*=nofollow] Toda tag “a” com atributo rel em que nele esteja contido - em qualquer parte - o valor “nofollow”: 120sexta-feira, 22 de outubro de 2010
input[type!=text] inputs que não sejam do tipo texto: 121sexta-feira, 22 de outubro de 2010
.linha:nth-child(even) { background: #dde; } .linha:nth-child(odd) { background: white; } 122sexta-feira, 22 de outubro de 2010
:not(.box) selecionar elementos que não tenham a classe “box” 123sexta-feira, 22 de outubro de 2010
li:first-child li:last-child 124sexta-feira, 22 de outubro de 2010
@font-face 125sexta-feira, 22 de outubro de 2010
Times new Roman é legal mas... 126sexta-feira, 22 de outubro de 2010
Quero um texto assim no meu site... 127sexta-feira, 22 de outubro de 2010
@font-face { font-family: 'Graublau Web'; src: url('GraublauWeb.eot'); src: local('☺'), url('GraublauWeb.woff') format('woff'), url ('GraublauWeb.ttf') format('truetype'); } @font-face à prova de balas! 128sexta-feira, 22 de outubro de 2010
@font-face Kit Generator http://www.fontsquirrel.com/fontface/generator 129sexta-feira, 22 de outubro de 2010
Google Web Fonts http://code.google.com/webfonts 130sexta-feira, 22 de outubro de 2010
text wrapping 131sexta-feira, 22 de outubro de 2010
p.test {   text-overflow: ellipsis; }    p {  width: 300px;  overflow: hidden;  height: 50px;  white-space: nowrap;  border: 1px solid #000; } 132sexta-feira, 22 de outubro de 2010
Border Radius 133sexta-feira, 22 de outubro de 2010
#elemento { border-radius: 10px; } 134sexta-feira, 22 de outubro de 2010
CSS 3 Mozilla Webkit border-top-right-radius -moz-border-radius-topright -webkit-border-top-right-radius border-bottom-right-radius -moz-border-radius- bottomright -webkit-border-bottom-right- radius border-bottom-left-radius -moz-border-radius-bottomleft -webkit-border-bottom-left- radius border-top-left-radius -moz-border-radius-topleft -webkit-border-top-left-radius border-radius -moz-border-radius -webkit-border-radius 135sexta-feira, 22 de outubro de 2010
border-radius: 10px 10px 10px 10px; A B C D A B C D top-left top-right bottom-right bottom-left A B CD 136sexta-feira, 22 de outubro de 2010
border-radius: 10px 10px; A B A B AB 137sexta-feira, 22 de outubro de 2010
Border Image 138sexta-feira, 22 de outubro de 2010
border-image: url(border.png) 27 27 27 27 round round; border-image: url(border.png) 27 27 27 27 stretch stretch; http://ejohn.org/blog/border-image-in-firefox/ http://www.lrbabe.com/sdoms/borderImage/ 139sexta-feira, 22 de outubro de 2010
Cores 140sexta-feira, 22 de outubro de 2010
RGB HSL color: rgba(100,100,100, 0.5); background-color: rgb(230,230,230); color: hsl(0,100%,50%); background-color: hsla(120, 100%, 50%, 0.6); 141sexta-feira, 22 de outubro de 2010
Box-Shadow 142sexta-feira, 22 de outubro de 2010
#boxshadow {   -webkit-box-shadow: 10px 10px 10px rgba( 0, 0, 0, 0.6 );   -moz-box-shadow: 10px 10px 10px rgba( 0, 0, 0, 0.6 );   box-shadow: 10px 10px 10px rgba( 0, 0, 0, 0.6 ); } 143sexta-feira, 22 de outubro de 2010
box-shadow: 10px 10px 10px rgba( 0, 0, 0, 0.6 ); Distância horizontal Distância vertical “Nitidez” Cores RGB Opacidade 144sexta-feira, 22 de outubro de 2010
Text Shadow text-shadow: 4px 4px 4px rgba( 0, 0, 0, 0.6 ); 145sexta-feira, 22 de outubro de 2010
Reflexos 146sexta-feira, 22 de outubro de 2010
-webkit-box-reflect: pos dist máscara 147sexta-feira, 22 de outubro de 2010
-webkit-box-reflect: below 5px -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(0.5, transparent), to(white)); <img src="http://www.saomateus.edu.br/Images/logo.jpg" /> http://jsbin.com/ufusa4/edit 148sexta-feira, 22 de outubro de 2010
Transforms 149sexta-feira, 22 de outubro de 2010
-webkit-transform: rotateZ(5deg); 150sexta-feira, 22 de outubro de 2010
Gradient 151sexta-feira, 22 de outubro de 2010
-webkit-gradient(linear, left top, left bottom, from(#00abeb), to(white), color-stop(0.5, white), color-stop(0.5, #66cc00)) 152sexta-feira, 22 de outubro de 2010
-webkit-gradient(radial, 430 50, 0, 430 50, 200, from(red), to(#000)) 153sexta-feira, 22 de outubro de 2010
background-size 154sexta-feira, 22 de outubro de 2010
background-size:100% auto contain cover 155sexta-feira, 22 de outubro de 2010
Múltiplos Backgrounds 156sexta-feira, 22 de outubro de 2010
background-image:  url(image1.jpg),  url(image2.jpg); background-position:  top left,         bottom right; background-repeat:    no-repeat,       repeat-y; 157sexta-feira, 22 de outubro de 2010
Colunas 158sexta-feira, 22 de outubro de 2010
-webkit-column-count: 2; -webkit-column-rule: 1px solid #bbb; -webkit-column-gap: 2em; -moz-column-count: 2; -moz-column-rule: 1px solid #bbb; -moz-column-gap: 2em; column-count: 2; column-rule: 1px solid #bbb; column-gap: 2em; 159sexta-feira, 22 de outubro de 2010
-webkit-column-count: 2; -webkit-column-rule: 1px solid #bbb; -webkit-column-gap: 2em; -moz-column-count: 2; -moz-column-rule: 1px solid #bbb; -moz-column-gap: 2em; column-count: 2; column-rule: 1px solid #bbb; column-gap: 2em; 159sexta-feira, 22 de outubro de 2010
Transitions 160sexta-feira, 22 de outubro de 2010
161sexta-feira, 22 de outubro de 2010
161sexta-feira, 22 de outubro de 2010
161sexta-feira, 22 de outubro de 2010
161sexta-feira, 22 de outubro de 2010
#bola {    -webkit-transition: margin-left 1s ease-in-out;    -moz-transition: margin-left 1s ease-in-out;    -o-transition: margin-left 1s ease-in-out;  }  #bola.left {    margin-left: 0;  }  #bola.right {    margin-left: 780px;  } 162sexta-feira, 22 de outubro de 2010
#bola {    -webkit-transition: margin-left 1s ease-in-out;    -moz-transition: margin-left 1s ease-in-out;    -o-transition: margin-left 1s ease-in-out;  }  #bola.left {    margin-left: 0;  }  #bola.right {    margin-left: 780px;  } 162sexta-feira, 22 de outubro de 2010
#bola {    -webkit-transition: margin-left 1s ease-in-out;    -moz-transition: margin-left 1s ease-in-out;    -o-transition: margin-left 1s ease-in-out;  }  #bola.left {    margin-left: 0;  }  #bola.right {    margin-left: 780px;  } 162sexta-feira, 22 de outubro de 2010
Animations 163sexta-feira, 22 de outubro de 2010
@-webkit-keyframes pulse {   from {     font-size: 100%;   }   to {     font-size: 200%;   } } div {   -webkit-animation-name: pulse;   -webkit-animation-duration: 2s;   -webkit-animation-iteration-count: infinite;   -webkit-animation-timing-function: ease-in-out;   -webkit-animation-direction: alternate; } 164sexta-feira, 22 de outubro de 2010
@-webkit-keyframes pulse {   from {     font-size: 100%;   }   to {     font-size: 200%;   } } div {   -webkit-animation-name: pulse;   -webkit-animation-duration: 2s;   -webkit-animation-iteration-count: infinite;   -webkit-animation-timing-function: ease-in-out;   -webkit-animation-direction: alternate; } Pulso 164sexta-feira, 22 de outubro de 2010
http://goo.gl/mc76 165sexta-feira, 22 de outubro de 2010
166sexta-feira, 22 de outubro de 2010
http://goo.gl/Vnqe 167sexta-feira, 22 de outubro de 2010
Leo Balter @leobalter leo@balter.com.br yayquery.com.br 168sexta-feira, 22 de outubro de 2010

Html 5 e Css3