JavaScript de Alto Desempenho

JavaScript de Alto Desempenho Esgotado
× JavaScript de Alto Desempenho

JavaScript de Alto Desempenho

Compartilhar

Autor: Nicholas C. Zakas

ISBN impresso: 978-85-7522-241-6
ISBN ebook: 978-85-7522-775-6
Ano: 2010
Páginas: 248
Preço: R$ 65,00

6 opiniões | Opine sobre este livro

Descrição do livro

Se for semelhante à maioria dos desenvolvedores, você costuma usar JavaScript frequentemente para criar aplicações web interativas e de resposta rápida. O problema é que todas essas linhas de código em JavaScript podem tornar suas aplicações mais lentas. Este livro revela técnicas e estratégias que irão ajudar a eliminar gargalos de desempenho durante o desenvolvimento. Você aprenderá como melhorar o tempo de execução, a realização de downloads, a interação com o DOM, o ciclo de vida da página e muito mais.

O engenheiro de frontend do Yahoo!, Nicholas C. Zakas, e cinco outros especialistas em JavaScript – Ross Harmes, Lecome, Steven Levithan, Stoyan Stefanov e Matt Sweeney – demonstram métodos ideais para a inclusão de código na página, oferecendo dicas de programação que poderão ajudá-lo a encontrar os problemas uma vez que seu site esteja no ar.

•    Identifique códigos problemáticos e adote alternativas mais eficientes para cumprir tarefas específicas.
•    Melhore seus scripts aprendendo como o JavaScript armazena e acessa dados.
•    Implemente código em JavaScript de uma forma que não prejudique a interação com o DOM.
•    Utilize técnicas de otimização para melhorar o desempenho do tempo de execução.
•    Descubra maneiras de garantir que sua UI seja sempre responsiva.
•    Obtenha uma comunicação cliente-servidor mais rápida.
•    Use um sistema de criação para reduzir seus arquivos e a compressão HTTP para enviá-los ao navegador.

É recomendável um entendimento de JavaScript de intermediário a avançado.

“JavaScript de Alto Desempenho cobre todas as questões relacionadas ao desempenho que os desenvolvedores atuais de JavaScript devem ter em mente. O livro certamente ampliou minha lista de boas práticas sobre desempenho.”

Steve Souders

“JavaScript de Alto Desempenho é um acervo impressionante de tópicos, dicas e truques para JavaScript compilados por especialistas no assunto: tudo em um único livro. Trata-se de uma leitura imprescindível para todos que desejam escrever JavaScript de alta qualidade.”

Venkat Udayasankar, guru de desempenho de pesquisas, Yahoo! Search

Ver menos ▲

Sumário

  • Prefácio
  • Capítulo 1 ■ Carregamento e execução
    • Posicionamento do script
    • Agrupamento de scripts
    • Scripts não bloqueadores
      • Scripts adiados
      • Elementos de script dinâmicos
      • Injeção de script com XMLHttpRequest
      • Padrão de desbloqueio recomendado
    • Resumo
  • Capítulo 2 ■ Acesso aos dados
    • Gerenciamento de escopo
      • Cadeias de escopo e resolução do identificador
      • Desempenho da resolução do identificador
      • Acréscimo na cadeia de escopo
      • Escopos dinâmicos
      • Closures, escopo e memória
    • Membros de objeto
      • Protótipos
      • Cadeias de protótipos
      • Membros aninhados
      • Armazenamento em cache de valores de membros de objetos
    • Resumo
  • Capítulo 3 ■ Criação de scripts DOM
    • DOM no mundo dos navegadores
      • Inerentemente lento
    • Acesso e modificação do DOM
      • innerHTML versus métodos DOM
      • Clonagem de nodos
      • Coleções HTML
      • Caminhando pelo DOM
    • Repaints e reflows
      • Quando ocorre um reflow?
      • Enfileiramento e esvaziamento das alterações à árvore de renderização
      • Minimização de repaints e reflows
      • Armazenamento em cache de informações de layout
      • Remova elementos do fluxo para animações
      • O IE e o :hover
    • Delegação de eventos
    • Resumo
  • Capítulo 4 ■ Algoritmos e controle de fluxo
    • Loops
      • Tipos de loops
      • Desempenho do loop
      • Iteração com base em função
    • Condicionais
      • if-else versus switch
      • Otimização do if-else
      • Tabelas de consulta
    • Recursão
      • Limites da pilha de chamadas
      • Padrões de recursão
      • Iteração
      • Memoização
    • Resumo
  • Capítulo 5 ■ Strings e expressões regulares
    • Concatenação de strings
      • Operadores de adição (+) e de atribuição por adição (+=)
      • Junção de arrays
      • String prototype concat
    • Otimização de expressões regulares
      • Como funcionam as expressões regulares
      • Compreensão do backtracking
      • Backtracking desenfreado
      • Um lembrete sobre benchmarking
      • Outras formas de melhorar a eficiência das expressões regulares
      • Quando não devemos utilizar expressões regulares
    • Aparo de suas strings
      • Aparo com expressões regulares
      • Aparo sem a utilização de expressões regulares
      • Uma solução híbrida
    • Resumo
  • Capítulo 6 ■ Interfaces responsivas
    • Thread da interface do usuário do navegador
      • Limites dos navegadores
      • Qual a duração ideal?
    • Utilização de temporizadores
      • Informações básicas sobre temporizadores
      • A precisão dos temporizadores
      • Processamento de arrays com temporizadores
      • Divisão de tarefas
      • Código cronometrado
      • Temporizadores e desempenho
    • Web workers
      • Ambiente dos workers
      • Comunicação com os workers
      • Carregamento de arquivos externos
      • Utilização na prática
    • Resumo
  • Capítulo 7 ■ Ajax
    • Transmissão de dados
      • Solicitação de dados
      • Envio de dados
    • Formatos de dados
      • XML
      • JSON
      • HTML
      • Formatação personalizada
      • Conclusões quanto aos formatos de dados
    • Diretrizes de desempenho do Ajax
      • Armazenamento dos dados em cache
      • Conheça as limitações de sua biblioteca Ajax
    • Resumo
  • Capítulo 8 ■ Práticas de programação
    • Evite a avaliação dupla
    • Utilize literais objeto/array
    • Não repita seu trabalho
      • Carregamento tardio
      • Carregamento prévio condicional
    • Utilize as partes rápidas
      • Operadores bit a bit
      • Métodos nativos
    • Resumo
  • Capítulo 9 ■ Criação e disponibilização de aplicações JavaScript de alto desempenho
    • Apache Ant
    • Combinação de arquivos JavaScript
    • Pré-processamento de arquivos JavaScript
    • Minificação do JavaScript
    • Processos no tempo de build versus processos no tempo de execução
    • Compressão JavaScript
    • Armazenamento em cache de arquivos JavaScript
    • Como lidar com problemas de caching
    • Utilização de uma rede de entrega de conteúdo
    • Disponibilização de recursos JavaScript
    • Processos JavaScript de build
    • Resumo
  • Capítulo 10 ■ Ferramentas
    • Criação de perfis com JavaScript
    • YUI Profiler
    • Funções anônimas
    • Firebug
      • Profiler do painel Console
      • API do Console
      • Painel Net
    • Ferramentas para desenvolvimento do Internet Explorer
    • Web Inspector do Safari
      • Painel de perfis
      • Painel Resources
    • Ferramentas para desenvolvedores do Chrome
    • Bloqueio de scripts
    • Page Speed
    • Fiddler
    • YSlow
    • dynaTrace Edição Ajax
    • Resumo
    • Sobre o autor
    • Colofão
Ver sumário completo ▼

Sobre o autor

Nicholas C. Zakas

Nicholas C. Zakas, engenheiro-chefe de frontend da página do Yahoo! e colaborador da biblioteca Yahoo! User Interface (YUI), é um engenheiro de software especializado em design e implementação de interface web utilizando JavaScript, HTML, CSS, XML e XSLT.… Ver perfil completo ▶

Opinião dos leitores

Eduardo P

Ótimo livro! Queria muito saber sobre o reflow e repaint e o livro abordou bem sobre estes dois itens e finalmente consegui entender. O livro também explica até sobre o jeito mais rápido de executar um loop etc...

Claudio A

Podemos chamar este livro de uma obra!(Sem exagero algum). Mesmo sendo um livro de 2010, é um livro que traz informações preciosas para codificar em JavaScript nos dias atuais. Se você trabalha com código legado essa será uma excelente escolha para ajudar a entender e resolver problemas de lentidão. O único capítulo que pode ser descartado da sua leitura é sobre as ferramentas, pois já se atualizaram.

Rodrigo C

Recomendo.

Gilberto S J

Ótimo livro para quem busca aumentar seus conhecimentos em Javascript.

Ver todas ▼