HTML5 em Ação

HTML5 em Ação
× HTML5 em Ação

HTML5 em Ação

Compartilhar

Autores: Rob Crowther
Joe Lennon
Ash Blue
Greg Wanish

ISBN impresso: 978-85-7522-399-4
Ano: 2014
Páginas: 592
Preço: R$ 139,00

3 opiniões | Opine sobre este livro

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.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.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 4 Resumo
  • Apêndice J ■ Links e referências
Ver sumário completo ▼

Sobre os autores

Rob Crowther

Rob Crowther é desenvolvedor web, blogueiro e autor de Hello! HTML5 & CSS3.… Ver perfil completo ▶

Joe Lennon

Joe Lennon é desenvolvedor de aplicativos empresariais móveis.… Ver perfil completo ▶

Ash Blue

Ash Blue constrói projetos interativos premiados.… Ver perfil completo ▶

Greg Wanish

Greg Wanish é desenvolvedor independente da Web e de e-commerce.… Ver perfil completo ▶

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.

Ver todas ▼