ROTEIRO VISÃO GERAL FORMULÁRIOS MULTIMÍDIA A NOVA GERAÇÃO DE APLICAÇÕES WEB CSS 3 DEMONSTRAÇÕES



Documentos relacionados
HTML5 e CSS3 O presente e o futuro da WEB. Danilo Borges da Silva Daniloborges_@hotmail.com

HTML5. André Tavares da Silva.

Minicurso introdutório de desenvolvimento para web em HTML5. Cristiano Costa

Programação para Internet I 9. HTML5. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

Aplicativos para Internet Aula 01

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique.

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5

Análise da Nova Linguagem HTML5 para o Desenvolvimento Web

HTML5 ESSENCIAL. Fundamentos de todo serviço na Web

Web Design. Prof. Felippe

MANUAL JOOMLA 2.5 PORTAL INTERNET. Ministério do Esporte

DWEB. Design para Web. CSS3 - Fundamentos. Curso Superior de Tecnologia em Design Gráfico

HTML5. Jhonny R. S. Frischembruder

Pré-requisito Treinamento de Lógica de Programação, ou conhecimento equivalente.

Primeiro contato com JavaScript

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

Monday, January 23, 12. Introdução sobre Acessibilidade na web

O papel do "devigner" e as novidades do HTML5. O novo profissional de Interfaces

Análise Comparativa dos Recursos e Diferenças das Tecnologias de Programação HTML5 e HTML4

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Afinal o que é HTML?

Roteiro 2: Conceitos de Tags HTML

Desenvolvedor Web Docente André Luiz Silva de Moraes

HTML5 E WEB SEMÂNTICA, A WEB COM SIGNIFICADO

HTML5 e Mobile Web Reinaldo Ferraz W3C Brasil

Manual de Integração Via Gadget. Passo a passo para realizar a integração entre websites e a plataforma Virtual Target.

Internet e Programação Web

HTML5 - POR QUE USÁ-LO?

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

MANUAL DE UTILIZAÇÃO DO SISTEMA GLPI

Anote aqui as informações necessárias:

Colégio da Policia Militar do Estado do Tocantins. HTML5 e CSS3 Formulários Prof. Gleison Batista de Sousa

PDI 1 - Projeto e Design de Interfaces Web

Desenvolvimento de Sites com PHP e Mysql Docente André Luiz Silva de Moraes

Manual de Utilização do GLPI

HTML5. Prof. Salustiano Rodrigues de Oliveira

Inicialização Rápida do Novell Vibe Mobile

Introdução. História. Como funciona

parte I Apostila Esquematizada de Informática Sumário Navegadores e Mecanismos de Pesquisas na web Unidade 1 Navegadores (browser)

O W3C Futuro da Web HTML5 Web Semântica. Março/2011 SENAC Ribeirão Preto Road Show TI 2011

O HTML 5 E SUAS NOVAS API s

TECNOLOGIAS WEB. Unidade 2 Introdução a Construção de Páginas Estáticas. Luiz Leão luizleao@gmail.com

Responsive Web Design

Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2

Criar Newsletters. Guia rápido sobre...

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -HTML 5: ARMAZENAMENTO DE DADOS (CLIENTE) Prof. Angelo Augusto Frozza, M.Sc.

"Manual de Acesso ao Moodle - Discente" 2014

Programação Web Prof. Wladimir

Manual de utilização do Zimbra

VPAT (Voluntary Product Accessibility Template, Modelo de Acessibilidade de Produto) do eportfolio da Desire2Learn Maio de 2013 Conteúdo

Introdução ao HTML 5 e Implementação de Documentos

Manual de Utilização do Sistema GLPI

Conceitos Básicos

PROGRAMAÇÃO MANUAL DE INSTRUÇÕES SEJA BEM VINDO VERSÃO /01/2013 UDS SOLUÇÕES DIGITAIS

Programação WEB I DOM (Document Object Manager)

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -HTML 5: ARMAZENAMENTO DE DADOS (CLIENTE) Prof. Angelo Augusto Frozza, M.Sc.

I - O que é o Mobilize-se

Coleção - Análises de marketing em clientes de

Introdução à Tecnologia Web. Tipos de Sites. Profª MSc. Elizabete Munzlinger

Manual das funcionalidades Webmail AASP

Índice. Parte 1: Markup. Parte 2: Formulários e Multimídia. Parte 3: A nova geração de aplicações web I. Parte 4: A nova geração de aplicações web II

Proposta de Reformulação do Site do Conselho de Transparência da Administração Pública

Desenvolvendo para WEB

CORPVS SEGURANÇA SETOR DE TECNOLOGIA DA INFORMAÇÃO

HTML (Hypertext Markup Language)

MP-MOBILE. Manual do usuário

Manual de Utilização Moodle

Omega Tecnologia Manual Omega Hosting

CONFIGURAÇÃO DO ACESSO REMOTO PARA HS-DHXX93 E HS-DHXX96

PROGRAMAÇÃO PARA INTERNET RICA FUNDAMENTOS DO JQUERY

A. O Sindepark. 1. História

I N T R O D U Ç Ã O W A P desbloqueio,

Manual de Utilização do Zimbra

Maurício Samy Silva. Novatec

Algoritmia e Programação APROG HTML. Introdução. Nelson Freire (ISEP DEI-APROG 2014/15) 1/15

Programação para Internet I

A barra de menu a direita possibilita efetuar login/logout do sistema e também voltar para a página principal.

Coleção - Análises de marketing em clientes de

#Aula Nº 4 XHTML+CSS webstandards.samus.com.br webstandards.samus.com.br/aulas/aula4.pdf Vinicius Fiorio Custódio samus@samus.com.

HTML5 Curso W3C Escritório Brasil

Web Services. Autor: Rômulo Rosa Furtado

CSS é a abreviatura para Cascading Style Sheets Folhas de Estilo em Cascata

Aula 03: Noções Fundamentais do CSS, Formatação de Fonte e Inserção de Imagens

Sumário. Conteúdo Certificação OFFICE 2010

Manual do Usuário Central de Agendamento. Versão 1.1

Coleção - Análises de marketing em clientes de

TRBOnet MDC Console. Manual de Operação

INTRODUÇÃO AO DESENVOLVIMENTO WEB

Como funciona a MEO Cloud?

Webdesign HTML. Introdução a HTML e as principais tags da linguagem. Thiago Miranda dos Santos Souza

Web I F R N I N S T I T U TO F E D E R A L D E E D U C A Ç Ã O, C I Ê N C I A E T E C N O LO G I A D O R I O G R A N D E D O N R T E.

Transcrição:

SOBRE O PALESTRANTE Desenvolvedor Web e líder técnico do projeto ICD (Intercâmbio de Conteúdos Digitais) pela Dynavideo Mestrando em Informática pela UFPB Tecnólogo em Sistemas para Internet pelo IFPB

ROTEIRO VISÃO GERAL FORMULÁRIOS MULTIMÍDIA A NOVA GERAÇÃO DE APLICAÇÕES WEB CSS 3 DEMONSTRAÇÕES

VISÃO GERAL

1. Histórico de versões

1. Histórico de versões

2. HTML 5 e suas mudanças Lançado o HTML a W3c alertou sobre as boas práticas; Como separação da estrutura do código e formatação; Porém, HTML4 não trazia diferença real para semântica; HTML4 também não facilitava manipulação de elementos via Javascript ou CSS Ex.: Drag and drop

2. HTML 5 e suas mudanças Criação de APIs que formarão a base da arquitetura Web Fácil manipulação de objetos de forma transparente ao usuário Ferramentas para CSS e Javascript Novas tags e recursos Seções, componentes de formulário, gráficos, multimídia, etc Maior semântica, código interoperável Retrocompatibilidade

3. ESTRUTURA BÁSICA <!DOCTYPE HTML> <html lang="pt-br"> <head> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" ref="estilo.css"> <title></title> </head> <body> </body> </html> Doctype: indica a especificação em uso ao browser ou dispositivo HTML: lang é necessário para que os user-agents saibam a linguagem principal do documento Link: rel pode assumir outros valores como ALTERNATE, mapeando por exemplo um feed como (application/atom+xml)

4. Novos elementos e atributos elementos; HTML deve indicar o tipo da informação exibida; Quando lemos um livro é fácil identificar os tipos; Robôs de busca não conseguem diferenciá-los. Em versões anteriores, era possível diferenciar um parágrafo de um título, mas não o rodapé do cabeçalho; Cabe ao desenvolvedor marcar a informação; Essa diferenciação era percebida apenas visualmente; Não havia maneira de detectar automaticamente estes elementos

5. Novos elementos e atributos Como era... <div id="header"> <div class="article"> <div id="nav"> <div id="content"> <div id="right"> <div id="footer">

5. Novos elementos e atributos Como será... <header> <article> HTML 5 trouxe elementos que ajudam a definir setores principais; <nav> <section> <footer> <aside> Pode-se diferenciar áreas como sidebar, rodapé, cabeçalho; Tais mudanças simplificam o trabalho dos sistemas de busca;

5. Novos elementos e atributos

6. Elementos descontinuados

7. SUPORTE ATUAL PELOS BROWSERS Desenvolvimento Modular Motores de renderização: Motor Webkit Gecko Browser Safari, Google Chrome Firefox, Mozilla, Camino Trident Internet Explorer 4 ao 9 Presto Opera 7 ao 10 Webkit alcança aparelhos como Blackberry, iphone, ipod Touch, ipad e dispositivos que rodam Android

8. COMPATIBILIDADE COM HTML5 Atualmente Webkit é o motor mais compatível Firefox e opera já estão compatíveis com boa parte

FORMULÁRIOS

1. Novos valores para o atributo type tel search Não há máscara ou validação; Integração com agenda de contatos, útil em celulares. Muda ligeiramente de acordo com o navegador. Email url datetime number range color Formatação e validação; Integração com agenda de contatos Endereço web com formação e validação; Validação, formatação e calendários; Usa-se também: date, month, week, time e datetime-local Validação e formatação; Componente personalizado. Componente personalizado para números. Seletor de cores

2. Datas e Horas <input type= datetime step= 10 /> Outros tipos disponíveis: datetime date month week time datetime-local

3. Números <input value= 7 type= number step= 1 min= 1 max= 20 /> <input value= 7 type= range step= 1 min= 1 max= 20 />

4. TIPOS DE DADOS E VALIDADORES Foco automático antes do carregamento da página: <input name= login type= autofocus /> Suporte a placeholder: <input placeholder= Seu login aqui /> Required: <input name= login required /> Max-length para textarea: <textarea maxlength= 50 ></textarea>

4. TIPOS DE DADOS E VALIDADORES Validação com REGEX: <input name= CEP pattern= \d{5}-?\d{3} /> Submeter sem validação: <input type= submit formnovalidate /> Validador personalizado: function vcpf(i){ i.setcustomvalidity(validacpf(i.value)?'':'cpf inválido!') } <input name= cpf oninput= vcpf(this) />

5. COMPONENTES WEB APPLICATION Barra de progresso <progressbar max= 100 value= 75 /> Detalhes e sumário <details> <summary>copiando <progress max="39248" value="14718"> 37,5%</summary> <dl> <dt>tamanho total:</dt> <dd>39.248kb</dd> <dt>transferido:</dt> <dd>14.718</dd> <dt>taxa de transferência:</dt> <dd>127kb/s</dd> <dt>nome do arquivo:</dt> <dd>html5.mp4</dd> </dl> </details>

5. COMPONENTES WEB APPLICATION Conteúdo editável <div contenteditable= true >Edite-me</div> Revisão ortográfica e gramatical spellcheck= true Utiliza o revisor ortográfico disponível na plataforma Controle pode ser feito individualmente para cada elemento

5. COMPONENTES WEB APPLICATION Drag and Drop Eventos do objeto arrastado : Dragstart, drag, dragend Eventos do objeto que recebe o outro: dragenter, dragleave, dragover, drop <div id="box" ondrop="return dragdrop(event)" ondragover="return dragover(event)"> <div id="drag" draggable="true" ondragstart="return dragstart(event)"> drag me</div> <div id="drag2" draggable="true" ondragstart="return dragstart(event)">drag me</div> </div>

MULTIMÍDIA

1. ÁUDIO <audio src= musica.oga controls= true autoplay= true /> Se controls for desabilitado será preciso controlar as operações do player via javascript

1. ÁUDIO Nem todo browser suporta o codec livre OggVorbis É preciso oferecer um formato alternativo de áudio Ou até mesmo uma opção para baixar o conteúdo <audio controls= true autoplay= true /> <source src= musica.oga /> <source src= musica.mp3 /> <source src= musica.wma /> <p>faça o download <a href= musica.mp3 >da música</a>.</p> </audio>

2. VÍDEO <video src= video.ogv width= 400 height= 300 />

2. VÍDEO Também suporta controle com vários sources <video controls= true autoplay= true /> <source src= video.ogg /> <source src= video.mp4 /> <source src= video.wmv /> <p>faça o download <a href= video.mp4 >do vídeo</a>.</p> </video>

2. VÍDEO - CODECS É importante incluir informações a respeito do container e codecs utilizados Isso antecipa a detecção de alguma incompatibilidade A extensão do arquivo não é relevante para isso Para indicar essas informações usa-se o atributo type Para OGG usando os codecs Theora e Vorbis: <source src= video.ogv type= video/ogg; codecs= theora,vorbis /> Para MPEG-4: <source src= video.mp4 type= video/mp4; codecs= mp4v.20.240, mp4a.40.2 />

2. VÍDEO ELEMENTO DEVICE É possível inserir no HTML um elemento de acesso à Webcam do usuário Solicita confirmação do usuário para acesso Em caso de mais de um dispositivo, será possível escolher um para fazer stream <script> function update(stream) { document.getelementsbytagname( video )[0].src = stream.url } </script> <device type= media onchange= update(this.data) /> <video widht= 400 height= 300 />

A NOVA GERAÇÃO DE APLICAÇÕES WEB

1. MATHML O HTML5 incorpora a linguagem de marcação MathML <math xmlns="http://www.w3.org/1998/math/mathml"> <mrow> <mi>x</mi> <mo>=</mo><mfrac> <mrow><mo form="prefix"> </mo><mi>b</mi> <mo>&plusminus;</mo> <msqrt> <msup> <mi>b</mi> <mn>2</mn> </msup> <mo> </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>

2. SVG Linguagem para marcação de gráficos vetoriais Também pode ser incorporada com facilidade <svg width= 400 height= 400 > <rect x= 10 y= 10 width= 150 height= 50 stroke= #000000 stroke-width= 5 fill= #FF0000 /> <circle cx="70" cy="240" r="60" stroke="#00ff00" strokewidth="5" fill="#ffffff" /> </svg>

2. SVG A maioria dos editores gráficos vetoriais exporta e importa automaticamente SVG Pode-se construir javascript para manipular SVG, usando métodos do DOM Isso possibilita gráficos dinâmicos, com animação, escaláveis e com excelente qualidade visual, programáveis em javascript e sem tecnologias proprietáris e plugins

3. CANVAS API Permite desenhar na tela do navegador via Javascript O único elemento HTML existente para isso é o canvas: <canvas id= x width= 400 height= 400 /> Para desenhar: <script> function desenhar() { context=document.getelementbyid('x').getcontext('2d'); context.fillrect(10, 10, 50, 150); //x,y,w,h context.fillstyle='#ff0 ; context.fill(); } </script>

3. CANVAS API www.effectgames.com/demos/canvascycle/

3. CANVAS X SVG SVG: O Conteúdo é acessível a leitores de tela O gráfico é escalável, não perde resolução ou serrilha ao redimensionar O conteúdo é acessível via DOM Canvas: A performance é muito superior ao SVG É fácil desenhar via Javascript. Em SVG é preciso escrever XML.

4. SERVER-SENT EVENTS Maneira de inverter o fluxo das aplicações Ajax Servidor dispara o envio de dados ao cliente Cria-se em javascript um objeto EventSource: es = new EventSource( messages.php ); es.onmessage=function(e){ alert( Chegaram dados: "+e.data) } Isso vai abrir uma conexão HTTP com messages.php O cliente se mantém escutando e cada vez que o servidor enviar dados, o evento message será disparado Pode ser utilizado para implementar chat ou monitor de status de alguma operação demorada que esteja ocorrendo no servidor

4. SERVER-SENT EVENTS Protocolo de comunicação A página messages.php deve enviar mensagens no seguinte formato: data: mensagem 1 id: 1 data: mensagem com duas data: linhas id: 2 data: mensagem 3 id: 3 Pelo ID é possível recuperar a última mensagem enviada através do valor no header HTTP Last-Event-ID

5. MENUS E TOOLBARS <menu type= toolbar > <menu label="file > <command onclick="fnew()" label="new..." /> <command onclick="fopen()" label="open..." /> [ ] </menu> </menu>

6. MICRODATA Permite tornar a estrutura semântica um pouco mais específica, definindo o que é o conteúdo de cada elemento. <dl itemscope temtype= notas"> <dt>nome</dt><dd itemprop="nome">diego</dd> <dt>total</dt><dd itemprop="total">9.7</dd> </dl> <script> resultados=document.getitems( notas ); for(var i=0;i<resultados.length;i++){ alert(resultados[i].properties.nome[0].content+": R$ "+ resultados[i].properties.total[0].content) } </script>

6. MICRODATA Já existem vários padrões de metadados prédefinidos: <section itemscope itemtype="http://data-vocabulary.org/person"> <h1 itemprop="name">diego Ernesto Rosa Pessoa</h1> <h2 itemprop= nickname">diego Pessoa</h2> <a itemprop= url href=http://diegopessoa.com >diegopessoa.com</a> </section> Usar formatos padronizados ajuda os sistemas de busca a tratar e entender esses dados Mais informações em: http://www.google.com/support/webmasters/bin/ans wer.py?hl=en&answer=146861

7. HISTÓRICO DE SESSÃO Um grande desafio de aplicações web é apresentar um modelo de navegação consistente para o usuário. Famoso problema do back-button O objeto history foi vitaminado no HTML5 com dois novos métodos: pushstate(data,title[,url]): acrescenta uma entrada na lista de histórico. replacestate(data,title[,url]): modifica a entrada atual na lista de histórico. Com isso, pode-se acrescentar itens à lista de histórico, associando dados ou mesmo uma URL;

8. STORAGE API Nova maneira de armazenar dados no cliente (alternativa aos cookies) Objeto Storage possui os métodos: getitem(key); setitem(key); removeitem(key); clear(); Dois objetos disponíveis: localstorage sessionstorage

9. APLICAÇÕES OFF-LINE HTML5 provê uma maneira de se indicar ao navegador que elementos devem ser postos em cache para que uma aplicação funcione offline. Para permitir que o usuário acesse uma página offiline é preciso escrever um arquivo de manifesto, indicando que URLs devem ser postas em cache. CACHE MANIFEST meu.html meu.css meu.js <html manifest= meu.manifest">

10. GEOLOCATION API Três métodos: Geolocalização IP: localização através de consultas whois Triangulação GPRS: rede de celulares sem GPS ou GPS desabilitado GPS: método mais preciso, margem de erro de apenas 5 metros navigator.geolocation.getcurrentposition(showpos); function showpos(position){ lat=position.coords.latitude lon=position.coords.longitude alert('your position: '+lat+','+lon) } Watch Position (rastrear a posição continuamente)

11. UNDO Navegador guarda um histórico de alterações para cada documento; Histórico controlado pelo objeto UndoManager, acessível através de window.undomanager. O histórico guarda dois tipos de alterações: Alterações DOM Objetos undo Ex.: uma aplicação de e-mail pode guardar um objeto undo representando o fato do usuário mover um e-mail de uma pasta para outra. document.execcom mand('undo') document.execcom mand('redo')

CSS 3

1. BORDAS ARREDONDADAS

2. SOMBRAS Regular box-shadow: -3px -3px 10px #212121; Interna box-shadow: 0px 0px 10px #212121;

2. SOMBRAS Compatibilidade dos navegadores:

3. MÚLTIPLOS BACKGROUNDS background: url(body-top.gif) top left no-repeat, url(banner.jpg) top 11px no-repeat, C url(body-bottom.gif) bottom left no-repeat, url(body-middle.gif) left repeat-y; Suporte atual apenas dos navegadores baseados em Webkit

4. FONTES EMBUTIDAS @font-face { font-family: SketchRockwell; src: url( SketchRockwell.ttf ); }.my_css3_class { font-family: SketchRockwell; font-size: 3.2em; text-shadow: 3px 3px 7px #111; }

4. E MUITO MAIS... Bordas com imagem Degradê em background Transparência de elementos Layouts multi-ccolunas Transformações 2D e 3D de imagens (girar, perspectiva, etc) Animações Controle do conteúdo de um elemento Etc... Mais informações em: http://www.css3.com/

DEMONSTRAÇÕES

1. Recursos / APIs HTML5 Canvas animation WebSocket (Chat)

2. JOGOS Legend of Sadness Adventure Game PACMAM Torus (Tetris 3D)

Perguntas? Contato: E-mail: diegopessoa12@gmail.com Twitter: @diegopessoa Referências: http://tableless.com.br/html5/ http://dev.w3.org/html5/spec/overview.html