Consejo incoloro: esta descarga se ha corregido. Vuelva a descargar esta versión china del tutorial. ¡Perdón por las molestias causadas!
Parte 1 Repensar las aplicaciones web Capítulo 1 Un nuevo enfoque del diseño web 1.1 ¿Por qué necesitas un cliente enriquecido Ajax? 1.1.1 Comparar la experiencia del usuario 1.1.2 Retraso de la red 1.1.3 Interacción asincrónica 1.1.4 Patrones de uso exclusivos o transitorios 1.1.5 Olvídate de la Web 1.2 Cuatro principios básicos de Ajax 1.2.1 Las aplicaciones, no el contenido, están en el navegador 1.2.2 El servidor entrega datos en lugar de contenido 1.2.3 La interacción del usuario se vuelve fluida y continua 1.2.4 Programación disciplinada y seria 1.3 Clientes ricos de Ajax en el mundo real 1.3.1 Situación actual 1.3.2 Mapas de Google 1.4 Alternativas al Ajax 1.4.1 Solución basada en Macromedia Flash 1.4.2 Java Web Start y tecnologías relacionadas 1.5 Resumen 1.6 Recursos Capítulo 2 Introducción a los novatos de Ajax 2.1 Elementos clave de Ajax 2.2 Utilice JavaScript para mejorar la experiencia del usuario 2.3 Utilice CSS para definir la apariencia de su aplicación 2.3.1 Selectores CSS 2.3.2 Propiedades de estilo CSS 2.3.3 Ejemplo de CSS sencillo 2.4 Organizar vistas con DOM 2.4.1 Usar JavaScript para manipular DOM 2.4.2 Buscar nodos DOM 2.4.3 Crear nodos DOM 2.4.4 Agregar estilos a los documentos 2.4.5 Acceso directo: utilizar el atributo internalHTML 2.5 Carga asincrónica de datos utilizando tecnología XML 2.5.1 Marco flotante 2.5.2 Objetos XMLDocument y XMLHttpRequest 2.5.3 Enviar solicitud al servidor 2.5.4 Monitorear solicitudes usando funciones de devolución de llamada 2.5.5 Ciclo de vida completo 2.6 ¿En qué se diferencia Ajax? 2.7 Resumen 2.8 Recursos Capítulo 3 Poniendo Ajax en Orden 3.1 Del caos al orden 3.1.1 Patrones: creación de un vocabulario común 3.1.2 Refactorización y Ajax 3.1.3 Mantener el equilibrio 3.1.4 Combate real de reconstrucción 3.2 Algunos estudios de caso de pequeñas refactorizaciones 3.2.1 Inconsistencia entre navegadores: modos Fachada y Adaptador 3.2.2 Función de procesamiento de eventos de gestión: modo observador 3.2.3 Reutilizar funciones de procesamiento de operaciones del usuario: modo comando 3.2.4 Mantener una referencia única a un recurso: patrón Singleton 3.3 Modelo-Vista-Controlador 3.4 MVC en el lado del servidor web 3.4.1 Servidor web Ajax sin patrones 3.4.2 Reconstruir el modelo de dominio 3.4.3 Separar el contenido de la presentación 3.5 Bibliotecas y marcos de terceros 3.5.1 Bibliotecas entre navegadores 3.5.2 Componentes de la interfaz de usuario y conjuntos de componentes de la interfaz de usuario 3.5.3 Marco de aplicación 3.6 Resumen 3.7 Recursos Parte 2 Tecnología central Capítulo 4 Páginas como aplicaciones 4.1 Un tipo diferente de MVC 4.1.1 Repetir el patrón MVC en diferentes escalas 4.1.2 Aplicar MVC en el lado del navegador 4.2 Vistas en aplicaciones Ajax 4.2.1 Separar la lógica de las vistas 4.2.2 Mantener las vistas y la lógica separadas 4.3 Controladores en aplicaciones Ajax 4.3.1 Funciones tradicionales de manejo de eventos de JavaScript 4.3.2 Modelo de eventos del W3C 4.3.3 Implementación de un modelo de eventos flexible en JavaScript 4.4 Modelos en aplicaciones Ajax 4.4.1 Modelado de dominios comerciales utilizando JavaScript 4.4.2 Interactuar con el servidor 4.5 Generando vistas a partir de modelos 4.5.1 Reflejo de objetos JavaScript 4.5.2 Trabajar con matrices y objetos 4.5.3 Agregar un controlador 4.6 Resumen 4.7 Recursos Capítulo 5 El rol del servidor 5.1 Trabajar con el servidor 5.2 Escribir código del lado del servidor 5.2.1 Lenguajes de implementación populares 5.2.2 Arquitectura de N niveles 5.2.3 Mantener los modelos de dominio del lado del cliente y del lado del servidor 5.3 Panorama general: diseño universal del lado del servidor 5.3.1 Codificación de servidor web simple sin utilizar marcos 5.3.2 Uso del marco de trabajo de Model2 5.3.3 Uso de marcos basados en componentes 5.3.4 Uso de arquitectura orientada a servicios 5.4 Detalles: intercambio de datos 5.4.1 Interacción sólo con el cliente 5.4.2 Presentación del ejemplo del navegador de planetas 5.4.3 Pensar desde la perspectiva de una página web: interacción centrada en el contenido 5.4.4 Pensar en términos de complementos: interacción centrada en scripts 5.4.5 Pensar desde una perspectiva de aplicación: interacciones centradas en datos 5.5 Escribir datos en el servidor 5.5.1 Usando formularios HTML 5.5.2 Uso del objeto XMLHttpRequest 5.5.3 Gestionar eficazmente las actualizaciones de los usuarios 5.6 Resumen 5.7 Recursos Parte 3 Ajax de nivel profesional Capítulo 6 Experiencia del usuario 6.1 Hacer lo correcto: desarrollar aplicaciones de alta calidad 6.1.1 Capacidad de respuesta 6.1.2 Robustez 6.1.3 Consistencia 6.1.4 Simplicidad 6.1.5 Ponlo en práctica 6.2 Mantener informados a los usuarios 6.2.1 Manejo de respuestas a solicitudes propias 6.2.2 Manejo de actualizaciones enviadas por otros usuarios 6.3 Diseño de un sistema de notificación para Ajax 6.3.1 Notificaciones de modelado 6.3.2 Definir los requisitos de la interfaz de usuario 6.4 Implementar marco de notificación 6.4.1 Mostrar icono de la barra de estado 6.4.2 Mostrar información de notificación detallada 6.4.3 Integración 6.5 Utilice el marco de notificación para manejar solicitudes de red 6.6 Representación de la puntualidad de los datos 6.6.1 Definir un formato de resaltado simple 6.6.2 Resaltado con la biblioteca de efectos Scriptaculous 6.7 Resumen 6.8 Recursos Capítulo 7 Seguridad y Ajax 7.1 JavaScript y seguridad del navegador 7.1.1 Introducción de la política del servidor de origen 7.1.2 Consideraciones relacionadas con Ajax 7.1.3 Problemas de subdominio 7.1.4 Seguridad entre navegadores 7.2 Comunicación mediante servicios remotos 7.2.1 Servicio remoto del agente 7.2.2 Uso de servicios web 7.3 Protección de datos confidenciales 7.3.1 Intermediarios 7.3.2 Utilice HTTP seguro 7.3.3 Cifrar datos usando JavaScript sobre HTTP simple 7.4 Estrategia de acceso para el flujo de datos Ajax 7.4.1 Diseño de una capa web segura 7.4.2 Restringir el acceso a los datos web 7.5 Resumen 7.6 Recursos Capítulo 8 Rendimiento 8.1 ¿Qué es el rendimiento? 8.2 Velocidad de ejecución de JavaScript 8.2.1 Medir el tiempo de aplicación de la manera más difícil 8.2.2 Uso del analizador de rendimiento Venkman 8.2.3 Optimizar la velocidad de ejecución de aplicaciones Ajax 8.3 Uso de memoria de JavaScript 8.3.1 Evitar pérdidas de memoria 8.3.2 Consideraciones especiales para Ajax 8.4 Diseño pensando en el rendimiento 8.4.1 Medición del uso de la memoria 8.4.2 Ejemplo sencillo 8.4.3 Resultados: Cómo reducir el uso de memoria en 150 veces 8.5 Resumen 8.6 Recursos Parte 4 Estudio de caso de Ajax Capítulo 9 Función de combinación doble dinámica 9.1 Guión de doble combinación 9.1.1 Limitaciones de las soluciones del cliente 9.1.2 Limitaciones de las soluciones del lado del servidor 9.1.3 Soluciones basadas en Ajax 9.2 Arquitectura del cliente 9.2.1 Formulario de diseño 9.2.2 Diseño de interacciones cliente/servidor 9.3 Implementación de VB.NET del lado del servidor 9.3.1 Definir formato de respuesta XML 9.3.2 Escribir código del lado del servidor 9.4 Mostrar resultados 9.4.1 Atravesando documentos XML 9.4.2 Aplicar CSS 9.5 Problemas avanzados 9.5.1 Permitir consultas de selección múltiple 9.5.2 Expandir la combinación doble a una combinación triple 9.6 Refactorización 9.6.1 Net.ContentLoader nuevo y mejorado 9.6.2 Creación de componentes compuestos duales 9.7 Resumen Capítulo 10 Mensajes previos a la entrada 10.1 10.1 Examinar la aplicación de indicaciones previas a la entrada 10.1.3 10.1.1 Características comunes de las indicaciones previas a la entrada 10.1.4 10.1.2 Sugerencia de Google 10.1.3 Desarrollo práctico de indicaciones previas a la entrada de Ajax 10.2 Marco del lado del servidor: C# 10.2.1 Servidor y base de datos 10.2.2 Prueba del código del lado del servidor 10.3 Marco del cliente 10.3.1 HTML 10.3.2 JavaScript 10.3.3 Accediendo al servidor 10.4 Funcionalidad agregada: múltiples elementos que contienen diferentes consultas 10.5 10.5 Refactorización 10.5.1 Día 1: Plan de juego para desarrollar el componente TextSuggest 10.5.2 Día 2: Creación de TextSuggest: claro y configurable 10.5.3 Día 3: Activar Ajax 10.5.4 Día 4: Manejo de incidentes 10.5.5 Día 5: Interfaz de usuario del cuadro emergente emergente 10.5.6 Informe de reconstrucción 10.6 Resumen Capítulo 11 Portal web Ajax mejorado 11.1 El portal en evolución 11.1.1 Portal tradicional 11.1.2 Portales con interfaces de usuario enriquecidas 11.2 Arquitectura del Portal Ajax usando Java 11.3 Inicio de sesión Ajax 11.3.1 Tabla de usuarios 11.3.2 Código de inicio de sesión del lado del servidor: implementado en Java 11.3.3 Marco de inicio de sesión del cliente 11.4 Implementar ventana DHTML 11.4.1 Base de datos de la ventana del portal 11.4.2 Código del lado del servidor para ventanas del portal 11.4.3 Agregar biblioteca JS externa 11.5 Agregar la función de guardado automático de Ajax 11.5.1 Modificar el código de la biblioteca 11.5.2 Guardar información automáticamente en la base de datos 11.6 Refactorización 11.6.1 Definición del constructor 11.6.2 Modificar la biblioteca AjaxWindows.js 11.6.3 Especificar comando protal 11.6.4 Realizar procesamiento Ajax 11.6.5 Informe de refactorización 11.7 Resumen Capítulo 12 Búsqueda dinámica usando XSLT 12.1 Comprender la tecnología de búsqueda 12.1.1 Examinando la búsqueda tradicional 12.1.2 Desventajas de los enfoques de marco y ventana emergente 12.1.3 Investigar la búsqueda dinámica usando Ajax y XSLT 12.1.4 Enviar resultados al cliente 12.2 Código de cliente 12.2.1 Configurar el cliente 12.2.2 Iniciar el proceso de búsqueda 12.3 Código PHP del lado del servidor 12.3.1Crear documentos XML 12.3.2 Crear documentos XSLT 12.4 Fusionar documentos XSLT y XML 12.4.1 Uso de Microsoft IE 12.4.2 Usando Mozilla 12.5 Búsqueda completa 12.5.1 Aplicar hojas de estilo en cascada 12.5.2 Mejora de la búsqueda 12.5.3 Decidir utilizar XSLT 12.5.4 Superar las deficiencias del soporte de marcadores Ajax 12.6 Refactorización 12.6.1 Ayudante XSLT 12.6.2 Componente de búsqueda dinámica 12.6.3 Informe de refactorización 12.7 Resumen Capítulo 13 Uso de AJAX para crear aplicaciones independientes 13.1 Leer información desde el exterior 13.1.1 Encontrar fuentes XML 13.1.2 Estructura RSS 13.2 Crear interfaces de usuario enriquecidas 13.2.1 Proceso 13.2.2 Marcos HTML sin tablas 13.2.3 Usar el método CSS para componer tipografía 13.3 Cargando canales RSS 13.3.1 Alcance global 13.3.2 Función de precarga de Ajax 13.4 Agregar efectos de degradado enriquecidos 13.4.1 Reglas de opacidad entre navegadores 13.4.2 Implementación de gradientes de aparición y desaparición gradual 13.4.3 Integración del temporizador de JavaScript 13.5 Funciones adicionales 13.5.1 Insertar feeds adicionales 13.5.2 Funciones integradas de salto y pausa 13.6 Evitar restricciones del proyecto 13.6.1 Superar las limitaciones de seguridad de Mozilla 13.6.2 Modificar el ámbito de aplicación 13.7 Refactorización 13.7.1 Modelo de lector RSS 13.7.2 Vista del lector RSS 13.7.3 Controlador de lector RSS 13.7.4 Informe de refactorización 13.8 Resumen Apéndice A Caja de herramientas Ajax A.1 Elija el conjunto de herramientas adecuado para trabajar de forma más inteligente A.1.1 Obtenga las herramientas adecuadas A.1.2 Crea tus propias herramientas A.1.3 Caja de herramientas de mantenimiento A.2 Editores e IDE A.2.1 ¿Qué funcionalidad se necesita en un editor de código? A.2.2 Herramientas actuales A.3 Depurador A.3.1 Por qué utilizar un depurador A.3.2 Depurador de JavaScript A.3.3 Depurador HTTP A.3.4 Cree su propia consola de salida para varios navegadores A.4 Inspector DOM A.4.1 Uso del inspector DOM de Mozilla A.4.2 Inspector DOM de IE A.5 Instalar la extensión de Firefox A.6 Recursos Apéndice B JavaScript para programadores orientados a objetos B.1 JavaScript no es Java B.2 Objetos en JavaScript B.2.1 Crear un objeto que funcione de forma inmediata (ad hoc) B.2.2 Constructores, clases y prototipos B.2.3 Ampliación de clases integradas B.2.4 Herencia de prototipos B.2.5 Reflexión de objetos JavaScript B.2.6 Interfaces y "escritura de pato" B.3 Métodos y funciones B.3.1 Funciones son ciudadanos de primera B.3.2 Adjuntar funciones a objetos B.3.3 Préstamo de funciones de otros objetos B.3.4 Manejo de eventos Ajax y contexto de función B.3.5 Cierres en JavaScript B.4 Resumen