Desenvolvimento de Grandes Aplicações Web
Produzindo código capaz de crescer e prosperar
Descrição do livro
Como você pode criar sites cruciais que ofereçam desempenho excepcional sendo sempre flexíveis, adaptáveis e confiáveis 24/7? Escrito por um gerente de grupo de Interface de Usuário no Yahoo!, o livro Desenvolvimento de Grandes Aplicações Web oferece passos práticos para o desenvolvimento de aplicações sólidas que permaneçam eficientes mesmo após a adição de novas características, funções e usuários. Você aprenderá como desenvolver grandes aplicações com a precisão extrema exigida para outros tipos de software.
• Evite os problemas comuns de codificação e manutenção que ocorrem quando pequenos websites adicionam mais páginas, código e programadores.
• Aprenda soluções abrangentes para melhorar seu código HTML, CSS, JavaScript, PHP e Ajax, em aplicações web de larga escala.
• Realize mudanças pontuais que se propagam para todos os elementos de página correspondentes.
• Adote as virtudes da modularidade, encapsulamento, abstração e dos componentes em acoplamentos fracos.
• Utilize técnicas garantidas para administrar o intercâmbio de dados, incluindo formulários e cookies.
• Aprenda boas práticas muitas vezes ignoradas no gerenciamento de código e na engenharia de software.
• Prepare seu código para facilitar testes e melhorias de desempenho.
"Se deseja criar um grande site com muita qualidade, este livro é para você. Comece hoje mesmo, pois o mundo está esperando sua aplicação."
Sumário
- Introdução
- Prefácio
- Capítulo 1 ■ Princípios
- Gerenciamento da complexidade
- Componentes modulares
- Atingindo a modularidade
- Benefícios da modularidade
- Dez princípios para grandes aplicações web
- Capítulo 2 ■ Orientação a objetos
- Fundamentos da POO
- Por que a orientação a objetos?
- Diagramas de classe UML
- Generalização
- Associação
- Modelagem de página web
- Definição de tipos de páginas
- Definição dos tipos de módulos
- Escrevendo o código
- Obtenção da modularidade
- PHP orientado a objeto
- Classes e interfaces
- Herança em PHP
- JavaScript orientado a objetos
- Objetos
- Herança em JavaScript
- Capítulo 3 ■ HTML em larga escala
- HTML modular
- Um mau exemplo: a utilização de uma tabela e de marcação de apresentação
- Um exemplo melhorado: utilizando CSS
- O melhor exemplo: HTML com significado semântico
- Benefícios de um bom HTML
- Tags HTML
- Tags HTML ruins
- Boas tags HTML
- IDs, classes e nomes
- Convenções de nomenclatura
- XHTML
- Benefícios do XHTML
- Diretrizes para XHTML
- RDFa
- Trios RDFa
- Aplicação da RDFa
- HTML 5
- HTML modular
- Capítulo 4 ■ CSS em larga escala
- CSS modular
- Inclusão das CSS
- Aplicação das CSS
- Especificidade e importância
- Escopos com CSS
- Formatos-padrão de módulos
- Técnicas de posicionamento
- Modelo de caixa CSS
- Fluxo do documento
- Posicionamento relativo
- Posicionamento absoluto
- Flutuação
- Layouts e containers
- Exemplos de layouts
- Exemplos de containers
- Outras práticas
- CSS de reset, ou reconfiguração, do navegador
- Normalização das fontes
- CSS modular
- Capítulo 5 ■ JavaScript em larga escala
- JavaScript modular
- Inclusão do JavaScript
- Escopos com JavaScript
- Trabalho com o DOM
- Métodos comuns do DOM
- Bibliotecas DOM populares
- Como trabalhar com eventos
- Normalização da manipulação de eventos
- Um mau exemplo: dados globais dentro de manipuladores de eventos
- Um bom exemplo: dados de objeto dentro de manipuladores de eventos
- Aplicações orientadas a eventos
- Trabalho com animações
- Animação de movimento
- Animação de tamanho
- Transição de cores
- Um exemplo: listas de seleção encadeada
- JavaScript modular
- Capítulo 6 ■ Gerenciamento de dados
- Módulos dinâmicos
- Gerenciadores de dados
- Criação de gerenciadores de dados
- Extensão dos gerenciadores de dados
- Dados que utilizam SQL como fonte
- Um exemplo de SQL
- Dados que utilizam XML como fonte
- Um exemplo em XML
- Dados de web services
- Dados no formato JSON
- Cookies e formulários
- Gerenciamento de dados em cookies
- Gerenciamento dos dados de formulários
- Capítulo 7 ■ PHP em larga escala
- Páginas web modulares
- Geração de páginas em PHP
- Trabalho com páginas
- Interface pública para a classe Page
- Interface abstrata para a classe Page
- Implementação da classe Page
- Extensão da classe Page
- Trabalhando com módulos
- Interface pública para a classe Module
- Interface abstrata para a classe Module
- Implementações da classe Module
- Extensão da classe Module
- Layouts e containers
- Considerações especiais
- Manipulação de variações de módulos
- Várias instâncias de um módulo
- JavaScript e CSS dinâmicos
- Implementação de módulos aninhados
- Páginas web modulares
- Capítulo 8 ■ Ajax em larga escala
- No navegador
- Gerenciamento de conexões
- Utilização de bibliotecas Ajax
- No servidor
- Formatos de transmissão
- Servidor proxy
- Ajax modular
- MVC e Ajax
- Utilização do Ajax com o MVC
- Interface pública para o objeto Model
- Implementação do objeto Model
- Interface pública para o objeto View
- Interface abstrata para o objeto View
- Implementação do objeto View
- Interface pública para o objeto Connect
- Interface abstrata para o objeto Connect
- Implementação do objeto Connect
- Controladores
- Um exemplo de Ajax com MVC: Listas accordion
- No navegador
- Capítulo 9 ■ Desempenho
- Oportunidades de armazenamento em cache
- Armazenamento em cache de CSS e JavaScript
- Armazenando módulos em cache
- Armazenamento em cache para páginas
- Armazenamento em cache com Ajax
- Utilização de cabeçalhos Expires
- Gerenciamento do JavaScript
- Posicionamento do JavaScript
- Minificação do JavaScript
- Remoção de duplicatas
- Distribuição de recursos
- Redes de entrega de conteúdo
- Minimização das consultas DNS
- Minimização das solicitações HTTP
- Controle sobre a métrica do site
- Testes modulares
- Utilização de dados de testes
- Criação de dados de testes
- Oportunidades de armazenamento em cache
- Capítulo 10 ■ Arquitetura de aplicação
- Pensamento modular
- Organização dos componentes
- Arquitetura para o site inteiro
- Arquitetura de seção
- Arquitetura para as páginas
- Arquitetura e manutenção
- Reorganização da utilização dos módulos
- Adição de variações de módulos
- Realização de alterações abrangentes
- Alterações nas fontes de dados
- Exposição externa de módulos
- Sobre o autor
- Colofão
- Índice remissivo
Sobre o autor
Kyle Loudon lidera um grupo de desenvolvimento no Yahoo!. Previamente, trabalhou na interface de usuário para o iPod original da Apple e liderou um grupo de IU na Jeppesen DataPlan, uma empresa do grupo Boeing, no desenvolvimento de um sistema de planejamento de voo utilizado por linhas aéreas em todo o mundo.… Ver perfil completo ▶
Livros relacionados
Opinião dos leitores
Lázaro E da S
Eu estava esperando exemplos e dicas de implementação de grandes aplicações com padrões de projeto e o mesmo faz as implementações de forma confusa com uma série de associações e agregações que deixam o código nem um pouco intuitivo



