Dica incolor: Este download foi corrigido, baixe novamente esta versão chinesa do tutorial. Desculpe pelo transtorno causado a você!
Parte 1 Repensando Aplicações Web Capítulo 1 Uma Nova Abordagem para Web Design 1.1 Por que você precisa do rich client Ajax? 1.1.1 Comparando a experiência do usuário 1.1.2 Atraso de rede 1.1.3 Interação assíncrona 1.1.4 Padrões de uso exclusivos ou transitórios 1.1.5 Esqueça a Web 1.2 Quatro princípios básicos do Ajax 1.2.1 Os aplicativos, e não o conteúdo, estão no navegador 1.2.2 O servidor entrega dados em vez de conteúdo 1.2.3 A interação do usuário torna-se suave e contínua 1.2.4 Programação disciplinada e séria 1.3 Clientes ricos Ajax no mundo real 1.3.1 Situação atual 1.3.2 Google Mapas 1.4 Alternativas ao Ajax 1.4.1 Solução baseada em Macromedia Flash 1.4.2 Java Web Start e tecnologias relacionadas 1.5 Resumo 1.6 Recursos Capítulo 2 Iniciantes em Ajax: Primeiros passos 2.1 Elementos-chave do Ajax 2.2 Use JavaScript para melhorar a experiência do usuário 2.3 Use CSS para definir a aparência do seu aplicativo 2.3.1 Seletores CSS 2.3.2 Propriedades de estilo CSS 2.3.3 Exemplo CSS simples 2.4 Organizar visualizações com DOM 2.4.1 Usando JavaScript para manipular DOM 2.4.2 Encontre nós DOM 2.4.3 Criar nós DOM 2.4.4 Adicionar estilos aos documentos 2.4.5 Atalho: Use o atributo innerHTML 2.5 Carregamento assíncrono de dados usando tecnologia XML 2.5.1 IFrame 2.5.2 Objetos XMLDocument e XMLHttpRequest 2.5.3 Enviar solicitação ao servidor 2.5.4 Monitore solicitações usando funções de retorno de chamada 2.5.5 Ciclo de vida completo 2.6 Como o Ajax é diferente? 2.7 Resumo 2.8 Recursos Capítulo 3 Colocando o Ajax em ordem 3.1 Do caos à ordem 3.1.1 Padrões: Criando um Vocabulário Comum 3.1.2 Refatoração e Ajax 3.1.3 Manter o equilíbrio 3.1.4 Reconstrução do combate real 3.2 Alguns estudos de caso de pequenas refatorações 3.2.1 Inconsistência entre navegadores: modos Fachada e Adaptador 3.2.2 Função de processamento de eventos de gerenciamento: modo observador 3.2.3 Reutilizar funções de processamento de operação do usuário: Modo de comando 3.2.4 Mantendo uma referência única para um recurso: padrão Singleton 3.3 Controlador de visualização de modelo 3.4 MVC no lado do servidor Web 3.4.1 Servidor web Ajax sem padrões 3.4.2 Reconstruir o modelo de domínio 3.4.3 Separando conteúdo da apresentação 3.5 Bibliotecas e estruturas de terceiros 3.5.1 Bibliotecas entre navegadores 3.5.2 Componentes de UI e conjuntos de componentes de UI 3.5.3 Estrutura de aplicação 3.6 Resumo 3.7 Recursos Parte 2 Tecnologia Central Capítulo 4 Páginas como Aplicativos 4.1 Um tipo diferente de MVC 4.1.1 Repetindo o padrão MVC em diferentes escalas 4.1.2 Aplicar MVC no lado do navegador 4.2 Visualizações em aplicações Ajax 4.2.1 Separando lógica de visualizações 4.2.2 Mantenha visualizações e lógica separadas 4.3 Controladores em aplicações Ajax 4.3.1 Funções tradicionais de manipulação de eventos JavaScript 4.3.2 Modelo de evento W3C 4.3.3 Implementando um modelo de evento flexível em JavaScript 4.4 Modelos em aplicações Ajax 4.4.1 Modelando domínios de negócios usando JavaScript 4.4.2 Interagindo com o servidor 4.5 Gerando visualizações a partir de modelos 4.5.1 Reflexão de objetos JavaScript 4.5.2 Trabalhando com arrays e objetos 4.5.3 Adicionando um controlador 4.6 Resumo 4.7 Recursos Capítulo 5 A função do servidor 5.1 Trabalhando com o servidor 5.2 Escrevendo código do lado do servidor 5.2.1 Linguagens de implementação populares 5.2.2 Arquitetura de N camadas 5.2.3 Manter modelos de domínio do lado do cliente e do lado do servidor 5.3 Panorama Geral: Design Universal do Lado do Servidor 5.3.1 Codificação simples de servidor web sem uso de frames 5.3.2 Usando a estrutura de fluxo de trabalho do Model2 5.3.3 Usando estruturas baseadas em componentes 5.3.4 Usando arquitetura orientada a serviços 5.4 Detalhes: troca de dados 5.4.1 Interação somente cliente 5.4.2 Apresentando o exemplo do navegador planetário 5.4.3 Pensando na perspectiva de uma página Web: interação centrada no conteúdo 5.4.4 Pensando em termos de plug-ins: interação centrada em script 5.4.5 Pensando a partir de uma perspectiva de aplicação: interações centradas em dados 5.5 Gravar dados no servidor 5.5.1 Usando formulários HTML 5.5.2 Usando objeto XMLHttpRequest 5.5.3 Gerenciar efetivamente as atualizações do usuário 5.6 Resumo 5.7 Recursos Parte 3 Ajax de nível profissional Capítulo 6 Experiência do usuário 6.1 Faça a coisa certa: desenvolva aplicativos de alta qualidade 6.1.1 Capacidade de resposta 6.1.2 Robustez 6.1.3 Consistência 6.1.4 Simplicidade 6.1.5 Coloque em prática 6.2 Mantenha os usuários informados 6.2.1 Tratamento de respostas a solicitações próprias 6.2.2 Tratamento de atualizações enviadas por outros usuários 6.3 Projetando um sistema de notificação para Ajax 6.3.1 Notificações de modelagem 6.3.2 Definir requisitos de interface do usuário 6.4 Implementar estrutura de notificação 6.4.1 Exibir ícone da barra de status 6.4.2 Exibir informações detalhadas de notificação 6.4.3 Integração 6.5 Use a estrutura de notificação para lidar com solicitações de rede 6.6 Representando a atualidade dos dados 6.6.1 Definir um formato de destaque simples 6.6.2 Destacando com a biblioteca de efeitos Scriptaculous 6.7 Resumo 6.8 Recursos Capítulo 7 Segurança e Ajax 7.1 JavaScript e segurança do navegador 7.1.1 Introdução da política do servidor de origem 7.1.2 Considerações relacionadas ao Ajax 7.1.3 Problemas de subdomínio 7.1.4 Segurança entre navegadores 7.2 Comunicação usando serviços remotos 7.2.1 Atendimento remoto do agente 7.2.2 Usando serviços web 7.3 Proteção de dados confidenciais 7.3.1 Intermediários 7.3.2 Use HTTP seguro 7.3.3 Criptografando dados usando JavaScript em HTTP simples 7.4 Estratégia de acesso para fluxo de dados Ajax 7.4.1 Projetando uma camada web segura 7.4.2 Restringindo o acesso a dados da web 7.5 Resumo 7.6 Recursos Capítulo 8 Desempenho 8.1 O que é desempenho? 8.2 Velocidade de execução do JavaScript 8.2.1 Medindo o tempo de aplicação da maneira mais difícil 8.2.2 Usando o Analisador de Desempenho Venkman 8.2.3 Otimize a velocidade de execução de aplicações Ajax 8.3 Uso de memória JavaScript 8.3.1 Evite vazamentos de memória 8.3.2 Considerações especiais para Ajax 8.4 Projete pensando no desempenho 8.4.1 Medindo o uso de memória 8.4.2 Exemplo simples 8.4.3 Resultados: Como reduzir o uso de memória em 150x 8.5 Resumo 8.6 Recursos Parte 4 Estudo de caso Ajax Capítulo 9 Função dinâmica de combinação dupla 9.1 Script de combinação dupla 9.1.1 Limitações das soluções do cliente 9.1.2 Limitações das soluções do lado do servidor 9.1.3 Soluções baseadas em Ajax 9.2 Arquitetura do cliente 9.2.1 Formulário de projeto 9.2.2 Projetando interações cliente/servidor 9.3 Implementação VB.NET no lado do servidor 9.3.1 Definir formato de resposta XML 9.3.2 Escrevendo código do lado do servidor 9.4 Exibir resultados 9.4.1 Percorrendo documentos XML 9.4.2 Aplicando CSS 9.5 Problemas avançados 9.5.1 Permitir múltiplas consultas de seleção 9.5.2 Expandir a combinação dupla em uma combinação tripla 9.6 Refatoração 9.6.1 Net.ContentLoader novo e aprimorado 9.6.2 Criando componentes compostos duplos 9.7 Resumo Capítulo 10 Prompts de pré-entrada 10.1 10.1 Examine a aplicação de prompts de pré-entrada 10.1.3 10.1.1 Recursos comuns de prompts de pré-entrada 10.1.4 10.1.2 Sugestões do Google 10.1.3 Desenvolvimento prático de prompts de pré-entrada Ajax 10.2 Estrutura do lado do servidor: C# 10.2.1 Servidor e banco de dados 10.2.2 Testando código do lado do servidor 10.3 Estrutura do Cliente 10.3.1 HTML 10.3.2 JavaScript 10.3.3 Acessando o servidor 10.4 Funcionalidade adicionada: vários elementos contendo consultas diferentes 10.5 10.5 Refatoração 10.5.1 Dia 1: Plano de jogo para desenvolver o componente TextSuggest 10.5.2 Dia 2: Criando TextSuggest – claro e configurável 10.5.3 Dia 3: Ativar Ajax 10.5.4 Dia 4: Tratamento de incidentes 10.5.5 Dia 5: UI da caixa pop-up de prompt 10.5.6 Relatório de reconstrução 10.6 Resumo Capítulo 11 Portal Web Ajax Aprimorado 11.1 O portal em evolução 11.1.1 Portal tradicional 11.1.2 Portais com interfaces de usuário ricas 11.2 Arquitetura do Portal Ajax usando Java 11.3 Login do Ajax 11.3.1 Tabela de usuários 11.3.2 Código de login do lado do servidor: implementado em Java 11.3.3 Estrutura de login do cliente 11.4 Implementar janela DHTML 11.4.1 Banco de dados da janela do portal 11.4.2 Código do lado do servidor para janelas do portal 11.4.3 Adicionar biblioteca JS externa 11.5 Adicionar função de salvamento automático do Ajax 11.5.1 Modifique o código da biblioteca 11.5.2 Salvar informações automaticamente no banco de dados 11.6 Refatoração 11.6.1 Definindo o construtor 11.6.2 Modificar biblioteca AjaxWindows.js 11.6.3 Especifique o comando protal 11.6.4 Executando processamento Ajax 11.6.5 Relatório de refatoração 11.7 Resumo Capítulo 12 Pesquisa dinâmica usando XSLT 12.1 Compreendendo a tecnologia de pesquisa 12.1.1 Examinando a pesquisa tradicional 12.1.2 Desvantagens das abordagens Frame e Popup 12.1.3 Investigue a pesquisa dinâmica usando Ajax e XSLT 12.1.4 Enviar resultados de volta ao cliente 12.2 Código do cliente 12.2.1 Configurando o cliente 12.2.2 Iniciando o processo de pesquisa 12.3 Código PHP do lado do servidor 12.3.1Criando documentos XML 12.3.2 Criando documentos XSLT 12.4 Mesclando documentos XSLT e XML 12.4.1 Usando o Microsoft IE 12.4.2 Usando Mozilla 12.5 Pesquisa completa 12.5.1 Aplicando folhas de estilo em cascata 12.5.2 Melhorando a pesquisa 12.5.3 Decidindo usar XSLT 12.5.4 Superando as deficiências do suporte a marcadores Ajax 12.6 Refatoração 12.6.1 XSLT Helper 12.6.2 Componente de pesquisa dinâmica 12.6.3 Relatório de refatoração 12.7 Resumo Capítulo 13 Usando AJAX para criar aplicativos independentes 13.1 Lendo informações de fora 13.1.1 Encontrando feeds XML 13.1.2 Estrutura RSS 13.2 Crie interfaces de usuário ricas 13.2.1 Processo 13.2.2 Quadros HTML sem tabelas 13.2.3 Use o método CSS para composição tipográfica 13.3 Carregando feeds RSS 13.3.1 Escopo global 13.3.2 Função de pré-carregamento Ajax 13.4 Adicione efeitos de gradiente ricos 13.4.1 Regras de opacidade entre navegadores 13.4.2 Implementando gradientes de aumento/desaparecimento 13.4.3 Integrando temporizador JavaScript 13.5 Funções adicionais 13.5.1 Inserindo feeds adicionais 13.5.2 Funções integradas de pular e pausar 13.6 Evite restrições do projeto 13.6.1 Superando as limitações de segurança da Mozilla 13.6.2 Modificar o escopo de aplicação 13.7 Refatoração 13.7.1 Modelo de leitor RSS 13.7.2 Visualização do leitor RSS 13.7.3 Controlador de leitor RSS 13.7.4 Relatório de refatoração 13.8 Resumo Apêndice A Caixa de Ferramentas Ajax A.1 Escolha o conjunto de ferramentas certo para trabalhar de maneira mais inteligente A.1.1 Obtenha as ferramentas certas A.1.2 Crie suas próprias ferramentas A.1.3 Caixa de ferramentas de manutenção A.2 Editores e IDEs A.2.1 Quais funcionalidades são necessárias em um editor de código A.2.2 Ferramentas atuais A.3 Depurador A.3.1 Por que usar um depurador A.3.2 Depurador JavaScript A.3.3 Depurador HTTP A.3.4 Crie seu próprio console de saída entre navegadores A.4 Inspetor DOM A.4.1 Usando o Mozilla DOM Inspector A.4.2 Inspetor DOM do IE A.5 Instale a extensão do Firefox A.6 Recursos Apêndice B JavaScript para programadores orientados a objetos B.1 JavaScript não é Java B.2 Objetos em JavaScript B.2.1 Criar um objeto que funcione imediatamente (ad hoc) B.2.2 Construtores, classes e protótipos B.2.3 Estendendo classes integradas B.2.4 Herança de protótipo B.2.5 Reflexão de objetos JavaScript B.2.6 Interfaces e "digitação de pato" B.3 Métodos e funções B.3.1 As funções são cidadãs de primeira classe B.3.2 Anexando funções a objetos B.3.3 Empréstimo de funções de outros objetos B.3.4 Manipulação de eventos Ajax e contexto de função B.3.5 Fechamentos em JavaScript B.4 Resumo