La presente obra está dirigida a los estudiantes del Ciclo Formativo Desarrollo de Aplicaciones Web de Grado Superior, en concreto para el módulo profesional Desarrollo Web en Entorno Cliente. Los contenidos incluidos en este libro abarcan los conceptos básicos y las técnicas habituales para el desarrollo de aplicaciones web que serán ejecutadas en un cliente web. Además, se presentan compañados de ejemplos intuitivos que sirven para ilustrar dichos conceptos y técnicas. Como punto de partida se introducen brevemente los diferentes navegadores, sus principales características y se presentan las arquitecturas y tecnologías existentes para el desarrollo de este tipo de aplicaciones. A continuación, se abordan los puntos principales relacionados con el uso de estas tecnologías, describiendo la sintaxis de Javascript. Posteriormente, se estudia el desarrollo de páginas web dinámicas. También se presenta el modelo de objetos, el modelo de gestión de eventos de Javascript y el modelo de objetos del documento que permite modificar la apariencia de las páginas web utilizando sentencias de ese lenguaje. Finalmente, se estudian los aspectos avanzados del desarrollo web en entorno cliente, que pasan por el desarrollo de aplicaciones AJAX, basadas en el uso extensivo de Javascript y la utilización de XML y/o JSON como formato de almacenamiento e intercambio de datos. Todos los capítulos incluyen actividades y ejemplos con el propósito de facilitar la asimilación de los conocimientos tratados. Así mismo, se incorporan test de conocimientos y ejercicios propuestos con la finalidad de comprobar que los objetivos de cada capítulo se han asimilado correctamente. Además, reúne los recursos necesarios para incrementar la didáctica del libro, tales como un glosario con los términos informáticos necesarios, bibliografía y documentos para ampliación de los conocimientos. CAPÍTULO 1. SELECCIÓN DE ARQUITECTURAS Y HERRAMIENTAS DE PROGRAMACIÓN CAPÍTULO 2. INTRODUCCIÓN AL LENGUAJE JAVASCRIPT CAPÍTULO 3. UTILIZACIÓN DE LOS OBJETOS PREDEFINIDOS DE JAVASCRIPT CAPÍTULO 4. PROGRAMACIÓN CON FUNCIONES, ARRAYS Y OBJETOS DEFINIDOS POR EL USUARIO CAPÍTULO 5. INTERACCIÓN CON EL USUARIO. EVENTOS Y FORMULARIOS CAPÍTULO 6. UTILIZACIÓN DEL MODELO DE OBJETOS DEL DOCUMENTO CAPÍTULO 7. UTILIZACIÓN DE MECANISMOS DE COMUNICACIÓN ASÍNCRONA CAPÍTULO 8. ALMACENAMIENTO DE DATOS EN EL LADO CLIENTE CAPÍTULO 9. INTEGRACIÓN AVANZADA DE COMPONENTES
1.1 EVOLUC IÓN Y CARACTERÍSTICAS DE LOS NAVEGADORES WEB
1.2 ARQUITECTURA DE EJECUC IÓN
1.3 LENGUAJES Y TECNOLOGÍAS DE PROGRAMACIÓN EN ENTORNO CLIENTE
1.3.1 HTML y derivados
1.3.2 CSS
1.3.3 JavaScript
1.3.4 Applets de Java
1.3.5 A JAX
1.3.6 Adobe Flash y ActionScript
1.4 INTEGRACIÓN DEL CÓDIGO CON LAS ETIQUETAS HTML
1.4.1 JavaScript en el mismo documento HTML
1.4.2 JavaScript en un archivo externo
1.4.3 JavaScript en elementos HTML
RESUMEN DEL CAPÍTULO
EJERCICIOS PROPUESTOS
TEST DE CONOCIMIENTOS
2.1 CARACTERÍSTICAS DE JAVASCRIPT
2.2 "HOLA MUNDO" CON JAVASCRIPT
2.3 EL LENGUAJE JAVASCRIPT: SINTAXIS
2.3.1 Mayúsculas y minúsculas
2.3.2 Comentarios en el código
2.3.3 Tabulación y saltos de línea
2.3.4 El punto y coma
2.3.5 Palabras reservadas
2.4 TIPOS DE DATOS
2.4.1 Números
2.4.2 Cadenas de texto
2.4.3 Valores booleanos
2.5 VARIABLES
2.5.1 Declaración de variables
2.5.2 Inicialización de variables
2.6 OPERADORES
2.6.1 Operadores aritméticos
2.6.2 Operadores lógicos
2.6.3 Operadores de asignación
2.6.4 Operadores de comparación
2.6.5 Operadores condicionales
2.7 SENTENCIAS CONDICIONALES
2.7.1 Sentencia if
2.7.2 Sentencia switch
2.7.3 Bucle while
2.7.4 Bucle for
RESUMEN DEL CAPÍTULO
EJERCICIOS PROPUESTOS
TEST DE CONOCIMIENTOS
3.1 OBJETOS NATIVOS DE JAVASC RIPT
3.1.1 El objeto Date
3.1.2 El objeto Math
3.1.3 El objeto Number
3.1.4 El objeto String
3.2 INTERACC IÓN DE LOS OBJETOS CON EL NAVEGADOR
3.2.1 El objeto Navigator
3.2.2 El objeto Screen
3.2.3 El objeto Window
3.2.4 El objeto Document
3.2.5 El objeto History
3.2.6 El objeto Location
3.3 GENERACIÓN DE ELEMENTOS HTML DESDE CÓDIGO JAVASC RIPT
3.4 APLICACIONES PRÁCTICAS DE LOS MARCOS
3.4.1 Uso de marcos con JavaScript
3.5 GESTIÓN DE LAS VENTANAS
3.5.1 Abrir y cerrar nuevas ventanas
3.5.2 Apariencia de las ventanas
3.5.3 Comunicación entre ventanas
RESUMEN DEL CAPÍTULO
EJERCICIOS PROPU ESTOS
TEST DE CONOCIMIENTOS
4.1 FUNCIONES PREDEFINIDAS DEL LENGUAJE
4.2 FUNCIONES DEL USUARIO
4.2.1 Definición de funciones
4.2.2 Invocación de funciones
4.3 ARRAYS
4.3.1 Declaración de arrays
4.3.2 Inicialización de arrays
4.3.3 Uso de los arrays mediante bucles
4.3.4 Propiedades de los arrays
4.3.5 Métodos de los arrays
4.3.6 Arrays multidimensionales
4.4 OBJETOS DEFINIDOS POR EL USUARIO
4.4.1 Declaración e inicialización de los objetos
4.4.2 Definición de propiedades y métodos
RESUMEN DEL CAPÍT ULO
EJERCICIOS PROPUESTOS
TEST DE CONOCIMIENTOS
5.1 MODELO DE GESTIÓN DE EVENTOS
5.1.1 Eventos del ratón
5.1.2 Eventos del teclado
5.1.3 Evento HTML
5.1.4 Evento DOM
5.2 UTILIZACIÓN DE FORMULARIOS DESDE CÓDIGO
5.2.1 Estructura de un formulario
5.2.2 Elementos de un formulario
5.2.3 Estructura de una etiqueta input
5.2.4 Tipos de input
5.3 MODIFICACIÓN DE APARIENCIA Y COMPORTAMIENTO
5.3.1 Modificación de la apariencia de un formulario
5.3.2 Modificación del comportamiento de un formulario
5.4 VALIDACIÓN Y ENVÍO
5.4.1 Estructura del form para validar datos
5.5 EXPRESIONES REGULARES
5.5.1 Caracteres especiales de las expresiones regulares
5.5.2 Validar un formulario con expresiones regulares
5.6 UTILIZACIÓN DE COOKIES
5.6.1 Usos de las cookies
5.6.2 Lectura y escritura de las cookies
RESUMEN DEL CAPÍT ULO
EJERCICIOS PROPUESTOS
TEST DE CONOCIMIENTOS
(DOM-DOCUMENT OBJECT MODEL)
6.1 EL MODELO DE OBJETOS DEL DOCUMENTO (DOM)
6.1.1 Tipos de modelos DOM
6.1.2 Estructura del árbol DOM
6.2 OBJETOS DEL MODELO. PROPIEDADES Y METODOS DE LOS OBJETOS
6.2.1 Objetos del modelo
6.2.2 La interfaz Node
6.3 ACCESO AL DOCUMENTO DESDE CÓDIGO
6.3.1 Acceso a los tipos de nodo
6.3.2 Acceso directo a los nodos
6.3.3 Acceso a los atributos de un nodo tipo element
6.3.4 Creación y eliminación de nodos
6.4 PROGRAMACIÓN DE EVENTOS
6.4.1 Carga de la página HTML
6.4.2 Comprobar si el árbol DOM está cargado
6.4.3 Actuar sobre el DOM al desencadenarse eventos
6.5 DIFERENCIAS EN LAS IMPLEMENTACIONES DEL MODELO
6.5.1 Adaptaciones de código para diferentes navegadores
6.6 USO DE LIBRERÍAS DE TERCEROS
RESUMEN DEL CAPÍTULO
EJERCICIOS PROPUESTOS
TEST DE CONOCIMIENTOS
7.1 MECANISMOS DE COMUNICACIÓN ASÍNCRONA
7.1.1 Definición de AJAX
7.1.2 Elección de AJAX
7.1.3 Repaso a las tecnologías involucradas
7.1.4 Perspectiva global de un desarrollo AJAX
7.2 FORMATOS PARA EL ENVÍO Y RECEPC IÓN DE INFORMACIÓN. XML Y JSON
7.2.1 Sintaxis de JSON
7.2.2 Ejemplos de intercambio de datos con JSON y XML
7.3 EJEMPLO DE COMUNI CACIÓN ASÍN CRONA
7.3.1 Comunicación con XML
7.4 LIBRERÍAS DE ACTUALIZACIÓN DINÁMICA
7.4.1 JQuery
7.4.2 Prototype
RESUMEN DEL CAPÍTULO
EJERCICIOS PROPU ESTOS
TEST DE CONOCIMIENTOS
8.1 ALMACENAMIENTO WEB
8.1.1 Las cookies
8.1.2 Problemas con las cookies
8.1.3 Las cookies de Flash
8.1.4 La especificación web Storage de la W3C
8.2 BASES DE DATOS SQL (STANDARD QUERY LANGU AGE) EN ENTORNO CLIENTE
8.2.1 WebSQL
8.2.2 Indexed Database API
8.3 APLICACIONES EN CACH É
8.3.1 Ventajas y desventajas
8.3.2 ML 5
RESUMEN DEL CAPÍTULO
EJERCICIOS PROPUESTOS
TEST DE CONOCIMIENTOS
9.1 REPRODUC TORES MULTIMEDIA Y PLUGINS ASOCIADOS
9.1.1 Reproducción de vídeos en HTML 5
9.1.2 Reproducción de audio en HTML 5
9.2 GEOLOCALIZACIÓN
9.2.1 API de geolocalización de HTML 5
9.2.2 Utilización de la geolocalización
RESUMEN DEL CAPÍTULO
EJERCICIOS PROPUESTOS
TEST DE CONOCIMIENTOS
MATERIAL ADICIONAL
ÍNDICE ALFABÉTICO