HTML5 em Ação
Descrição do livro
O HTML5 não constitui apenas algumas tags e recursos novos adicionados a um velho padrão – ele é a base da Web moderna, alavancando seus serviços interativos, UI de página única, jogos interativos e aplicativos empresariais complexos. Com o suporte ao desenvolvimento de aplicativos móveis baseados em padrões, recursos poderosos como o armazenamento local e WebSockets, ótimas APIs de áudio e vídeo e novas opções de layout com o uso de CSS3, SVG e Canvas, o HTML5 entrou em sua fase áurea.
O livro HTML5 em Ação fornece uma introdução completa ao desenvolvimento web com o uso de HTML5. Ele examina a especificação HTML5 por meio de códigos e exemplos do mundo real. Também faz jus ao termo “em Ação” disponibilizando o guia útil e prático necessário para a construção segura dos aplicativos e sites que você (e seus clientes) espera há anos.
Qual o conteúdo?
• Novos elementos semânticos e tipos de entrada de formulário
• Design de aplicativo de página única
• Criação de elementos gráficos interativos
• Aplicativos web móveis
Este livro é dedicado aos novos recursos HTML5 e supõe que você esteja familiarizado com HTML padrão.
Ver menos ▲Sumário
- Apresentação
- Prefácio
- Agradecimentos
- Sobre este livro
- Introdução
- Capítulo 1 ■ HTML5: de documentos a aplicativos
- 1.1 Explorando a marcação: um passeio relâmpago pelo HTML5
- 1.1.1 Criando a estrutura básica de um documento HTML5
- 1.1.2 Usando os novos elementos semânticos
- 1.1.3 Melhorando a acessibilidade usando papéis do ARIA
- 1.1.4 Permitindo o suporte no Internet Explorer versões 6 a 8
- 1.1.5 Introduzindo os novos recursos de formulários do HTML5
- 1.1.6 Barras de progresso, medidores e conteúdo colapsável
- 1.2 Além da marcação: padrões web adicionais
- 1.2.1 Microdados
- 1.2.2 CSS3
- 1.2.3 O JavaScript e o DOM
- 1.3 As APIs do DOM incluídas no HTML5
- 1.3.1 Canvas
- 1.3.2 Áudio e vídeo
- 1.3.3 Arrastar e soltar
- 1.3.5 Edição de documentos
- 1.3.6 Armazenamento web
- 1.3.7 Aplicativos web offline
- 1.4 APIs e especificações adicionais
- 1.4.1 API Geolocation
- 1.4.2 Banco de dados indexado (API IndexedDB)
- 1.4.3 APIs File, File Reader, File Writer e File System
- 1.4.4 Scalable Vector Graphics
- 1.4.5 Web Graphics Library
- 1.5 Resumo
- Parte II ■ Aplicativos com base em navegador
- 2.1 Visão geral do formulário e coleta dos pré-requisitos
- 2.1.1 Coletando os pré-requisitos do aplicativo
- 2.2 Construindo a interface de usuário de um formulário
- 2.2.1 Definindo a estrutura básica do documento HTML do formulário
- autofocus, required e placeholder
- 2.2.3 Usando o atributo de entrada de formulário required
- ber, os atributos de entrada min/max e data-* e o elemento <output>
- 2.2.5 Usando o tipo de entrada month e o atributo de entrada pattern
- rio: usando os atributos de entrada formnovalidate e formaction
- 2.2.1 Definindo a estrutura básica do documento HTML do formulário
- 2.3 Calculando totais e exibindo a saída do formulário
- 2.3.1 Construindo funções de cálculo
- 2.3.2 Acessando valores dos atributos data-* do HTML5
- 2.4 Verificando os dados de entrada do formulário com a API Constraint Validation
- setCustomValidity e a propriedade validationMessage
- 2.4.2 Detectando uma validação de formulário malsucedida com o evento invalid
- 2.4.3 Estilizando elementos inválidos usando pseudoclasses CSS3
- 2.5 Fornecendo alternativas para navegadores sem suporte
- 2.5.1 Detectando recursos e carregando funcionalidades com o Modernizr
- 2.5.2 Usando polyfills e o Modernizr para preencher lacunas
- 2.5.3 Executando validação sem a API Constraint Validation
- 2.6 Resumo
- arquivos, arrastar e soltar
- 3.1 Super HTML5 Editor: visão geral do aplicativo, pré-requisitos e primeiras etapas
- 3.1.1 Definindo a estrutura do documento HTML
- 3.1.2 Implementando a navegação e o gerenciamento de estado em JavaScript
- 3.2 Edição de rich-text e geolocalização
- 3.2.1 Usando designMode para tornar um documento HTML editável
- 3.2.2 Fornecendo controles de edição de rich-text com execCommand
- 3.2.3 Mapeando a localização atual de um usuário com a API Geolocation
- Writer
- 3.3.1 Criando o sistema de arquivos do aplicativo
- 3.3.2 Obtendo uma lista com os arquivos do sistema de arquivos
- 3.3.3 Carregando, visualizando, editando e excluindo arquivos
- 3.3.4 Criando novos arquivos
- 3.3.5 Salvando arquivos usando a API File Writer
- 3.4 Adicionando a interatividade de arrastar e soltar
- 3.4.1 Arrastando arquivos para um aplicativo para importação
- 3.4.2 Arrastando arquivos para fora de um aplicativo para exportação
- 3.5 Resumo
- Capítulo 4 ■ Comunicação com troca de mensagens entre scripts em HTML5
- 4.1 Eventos enviados pelo servidor (SSEs)
- 4.1.1 Um aplicativo de bate-papo simples com SSEs
- 4.1.2 Quando usar o SSE
- tempo real
- 4.2.1 Visão geral e pré-requisitos do aplicativo
- 4.2.2 Criando um WebSocket com o Node js
- 4.2.3 Construindo o aplicativo de planejamento
- 4.3 Trocando mensagens no lado do cliente
- 4.3.1 Comunicação entre domínios com postMessage
- 4.3.2 Unindo os aplicativos com a troca de mensagens entre documentos
- 4.4 Resumo
- Capítulo 5 ■ Aplicativos móveis: armazenamento no cliente e execução offline
- 5.1 My Tasks: visão geral, pré-requisitos e primeiras etapas do aplicativo
- 5.1.1 Definindo a estrutura do documento HTML
- 5.1.2 Controlando a visibilidade dos modos de exibição usando CSS
- 5.1.3 Implementando a navegação com JavaScript
- 5.2 Gerenciando dados com a API Web Storage
- 5.2.1 Lendo dados em localStorage
- 5.2.2 Salvando dados em localStorage
- 5.2.3 Excluindo dados de localStorage
- 5.3 Gerenciando dados usando IndexedDB
- 5.3.1 Detectando o suporte a banco de dados de um navegador
- índices de objetos
- 5.3.3 Desenvolvendo uma lista dinâmica com HTML e JavaScript
- 5.3.4 Pesquisando um banco de dados IndexedDB
- 5.3.6 Atualizando e excluindo dados em um banco de dados IndexedDB
- 5.3.7 Excluindo um banco de dados usando o IndexedDB
- 5.3.1 Detectando o suporte a banco de dados de um navegador
- 5.4 Criando um aplicativo web que funcione offline
- aplicativo
- 5.4.2 Criando um arquivo de manifesto de cache
- 5.4.3 Automatizando atualizações do aplicativo
- 5.5 Resumo
- Elementos gráficos, mídia e jogos interativos
- Capítulo 6 ■ Canvas 2D: renderização de elementos gráficos 2D de baixo nível
- 6.1 Aspectos básicos do Canvas
- 6.1.1 Definindo o contexto do Canvas
- 6.1.2 Gerando um contexto do Canvas
- 6.2 Criando um jogo Canvas
- 6.2.1 Criando os componentes do mecanismo principal
- 6.2.2 Criando retângulos dinâmicos
- 6.2.3 Criando arcos e círculos
- 6.2.4 Usando caminhos para criar formas complexas
- 6.3 Dando vida aos elementos do Canvas
- 6.3.1 Animando elementos do jogo
- 6.3.2 Detectando sobreposição
- 6.3.3 Criando controles de teclado, mouse e toque
- 6.3.4 Considerações sobre os controles de entradas
- 6.4 Dando acabamento a jogos Canvas
- 6.4.1 Controlando o placar e os níveis
- 6.4.2 Adicionando as telas de abertura e fechamento
- 6.4.3 Obtendo ajuda nas bibliotecas de códigos
- 6.5 Resumo
- Capítulo 7 ■ SVG: elementos gráficos responsivos no navegador
- 7.1 Diferenças entre elementos gráficos de bitmap e vetoriais
- 7.2 Começando o SVG Aliens com XML
- 7.2.1 Configurando o SVG dentro do HTML
- 7.2.2 Programando formas simples e texto
- 7.2.3 Usando o XLink e formas avançadas
- 7.3 Adicionando JavaScript para gerar interatividade
- 7.3.1 Aspectos básicos do mecanismo do jogo e o uso de telas
- 7.3.2 Padrões de projeto, criação dinâmica de objetos e entradas
- 7.3.3 Criando e organizando formas complexas
- 7.3.4 Mantendo um grupo de SVGs complexos
- 7.3.5 SVG vs. Canvas
- 7.4 Resumo
- Capítulo 8 ■ Vídeo e áudio: reproduzindo mídia no navegador
- 8.1 Reproduzindo vídeo com HTML5
- 8.1.1 Visão geral e pré-requisitos do aplicativo
- 8.1.2 Construindo a estrutura básica da jukebox
- 8.1.3 Usando o elemento de vídeo para adicionar vídeos a páginas web
- 8.2 Controlando vídeos com a interface HTMLMediaElement
- 8.3 Especificando vários formatos com o elemento <source>
- 8.3.1 Descobrindo que vídeo está sendo reproduzido com .currentSrc
- 8.3.2 Fazendo a conversão entre formatos de mídia
- 8.4 Combinando a entrada do usuário com vídeo para construir um telestrator
- 8.4.1 Reproduzindo vídeo por meio do elemento <canvas>
- 8.4.2 Criando controles personalizados de reprodução de vídeo
- 8.4.3 Manipulando vídeo enquanto ele está sendo reproduzido
- 8.4.4 Construindo os recursos do telestrator
- 8.5 Resumo
- Capítulo 9 ■ WebGL: Desenvolvimento de aplicativos 3D
- 9.1 Construindo um mecanismo WebGL
- 9.1.1 Definindo o layout do mecanismo
- 9.1.2 Ferramentas para criar, alterar e excluir objetos
- 9.2 Comunicando-se com uma placa gráfica
- 9.2.1 Placas gráficas: um guia rápido
- 9.2.2 Criando shaders para dados 3D
- 9.2.3 Criando buffers para forma, cor e dimensão
- 9.2.4 Exibindo dados de formas em uma tela
- 9.3 Juntando tudo: criando o Geometry Destroyer
- 9.3.1 Criando objetos de interface e controle de um jogo
- 9.3.2 Criando formas 2D em 3D
- 9.3.3 Criando formas e partículas 3D
- 9.4 Resumo
- Apêndice A ■ Especificações HTML5 e outras especificações relacionadas
- A 1 As origens do HTML5
- A 1.1 WHATWG versus W3C
- A 1.2 Bem… mas o que é HTML5?
- A 2 Especificações HTML5 populares
- A 2.1 Marcação semântica e formulários
- A 2.2 Vídeo e áudio (multimídia)
- A 2.3 Canvas e SVG (mídia interativa)
- A 2.4 Armazenamento
- A 2.5 Troca de mensagens
- A 2.6 Objeto XML HTTP Request
- A 3 Tecnologias não HTML5 populares
- A 3.1 CSS3
- A 3.2 Geolocalização
- A 3.3 Armazenamento
- A 3.4 WebGL
- A 3.5 Node js
- A 3.6 jQuery e outras bibliotecas JavaScript
- A 4 Mantendo-se atualizado com as especificações
- Apêndice B ■ Guia das APIs HTML5
- B 1 APIs HTML5
- B 1.1 API Constraint Validation
- B 1.2 API de aplicativos web offline
- B 1.3 API Editing
- B 1.4 API Drag and Drop
- B 1.5 API Microdata
- B 1.6 APIs de armazenamento web
- B 1.7 API Media Element
- B 2 Outras APIs e especificações
- B 2.1 API Geolocation
- B 2.2 Especificação IndexedDB
- B 3 API File System
- B 3.1 APIs com base em diretório da API File System
- B 3.2 APIs de dados Blob
- Apêndice C ■ Instalando o PHP e o MySQL
- C 1 Instalando o PHP no Windows 7
- C 1.1 Configurando o IIS no Windows 7
- C 1.2 Baixando o PHP
- C 1.3 Instalando o PHP
- C 1.4 Confirme se o PHP está instalado
- C 2 Instalando o MySQL no Windows 7
- C 2.1 Baixando o MySQL
- C 2.2 Instalando o MySQL
- C 2.3 Criando um banco de dados e executando scripts
- C 3 Instalando o PHP e o MySQL no Mac OS X Mountain Lion
- C 3.1 Configurando o Apache e o PHP
- C 3.2 Instalando o MySQL no Mac OS X
- C 3.3 Fazendo o MySQL e o PHP funcionarem bem juntos
- Apêndice D ■ Guia básico de redes de computadores
- D 1 Aspectos básicos da rede de computadores
- D 2 Overhead dos cabeçalhos
- D 3 Métricas de desempenho da rede: latência e throughput
- D 4 Polling versus basear-se em eventos
- D 5 Opções de aplicativos web com base em eventos no lado do servidor
- D 6 Entendendo o protocolo WebSocket
- D 6.1 Protocolo WebSocket versus API WebSocket
- D 6.2 O protocolo WebSocket
- D 6.3 Suporte dos navegadores ao WebSocket
- Apêndice E ■ Instalando o Node js
- E 1 Configurando o Node js para servir conteúdo web
- E 1.1 Crie um aplicativo Node Hello World
- E 1.2 Servindo arquivos estáticos com o Node
- E 1.3 Servindo uma combinação de conteúdo estático e dinâmico com o Node
- E 1.4 Roteamento: servindo arquivos distintos para diferentes URLs
- E 2 Aplicativos web fáceis com módulos do Node
- Apêndice F ■ Troca de mensagens por canais
- Apêndice G ■ Ferramentas e bibliotecas
- G 1 Ferramentas para aplicativos web móveis
- G 2 Ferramentas para aplicativos HTML5
- de desenvolvedor do IE
- G 2.2 Versões de desenvolvimento dos navegadores
- G 2.3 HTML5 Shiv
- G 2.4 Modernizr
- G 2.5 HTML5 Boilerplate
- G 2.6 jsFiddle
- G 2.7 Sites de suporte a recursos
- Apêndice H ■ Codificando com o FFmpeg
- H 1 Como obter o FFmpeg
- H 2 Descobrindo quais codecs foram usados no vídeo de origem
- H 3 Determinando formatos de contêiner e os codecs suportados
- H 4 Codificando para MP4/h264 com AAC
- H 5 Codificando para MP4/h264 com MP3
- H 6 Codificando para WebM/VP8
- H 7 Codificando para Ogg/Theora
- Apêndice I ■ Próximos recursos HTML
- I 1 Acessando e compartilhando dispositivos de mídia
- I 1.1 Capture entradas com getUserMedia()
- I 1.2 Conexões de mídia ponto a ponto com o WebRTC
- I 2 Trilhas de texto de mídia: fornecendo subtiles e legendas para mídia
- I 2.1 Adicionando uma trilha ao texto do vídeo
- I 2.2 Adicionando várias trilhas de texto
- I 2.3 A API Text Track
- I 2.4 Usando eventos de TextTrack
- I 2.5 Estilizando trilhas de texto
- I 3 APIs para jogos e dispositivos móveis
- I 3.1 Preparando um banco de teste – o retorno de Wilson
- elemento
- I 3.3 A API Full-Screen: expandindo qualquer elemento para tela cheia
- do dispositivo
- I 3.5 A API Vibration: acessando a função de vibração de um dispositivo móvel
- vida da bateria
- mouse
- I 3.1 Preparando um banco de teste – o retorno de Wilson
- I 4 Resumo
- Apêndice J ■ Links e referências
Sobre os autores
Rob Crowther é desenvolvedor web, blogueiro e autor de Hello! HTML5 & CSS3.… Ver perfil completo ▶
Joe Lennon é desenvolvedor de aplicativos empresariais móveis.… Ver perfil completo ▶
Ash Blue constrói projetos interativos premiados.… Ver perfil completo ▶
Greg Wanish é desenvolvedor independente da Web e de e-commerce.… Ver perfil completo ▶
Livros relacionados
Recursos
Opinião dos leitores
Marcus B
É um livro para quem já trabalha com HTML e JS. Os exemplos muitas vezes incluem soluções alternativas para features ainda sem suporte pelos navegadores e há uma preocupação com o conhecimento extra necessário para entender alguns capítulos, como por exemplo o apêndice D que aborda o protocolo HTTP.
Josivan P de S
O livro é bem completo. Como toda a série "em ação" é excelente para consultas. Idealmente o livro deveria ser dividido em 2 volumes, o primeiro para desenvolvedores e designers e o segundo para gamers. O conteúdo de WebGL é um pouco massante para quem não é gamer, mas vale o conhecimento. Eu recomendo sim o livro. Novamente, só não vai levar 5 estrelas por que não tme um índice remissivo. Uma coisa que notei é que o visual do livro não é 100% fiel à série in action original. Mas é aceitável.
Carlos V
Não recomendo o livro, as informações são muito superficiais, além de uma linguagem rebuscada, o que dificulta o entendimento. O livro traz muitos exemplos pescados da Internet, referenciado, mas demonstra a falta de criatividade dos autores em criar seus próprios exemplos. Estou muito desapontado.





