Programación AJAX con JavaScript, PHP, XML y JSON   

El desarrollo de aplicaciones web siguiendo el esquema AJAX se basa en realizar la interfaz con el cliente mediante páginas web (HTML, CSS, JavaScript, DOM) e interactuar de forma asíncrona con el servidor en segundo plano sin necesidad de recargar las páginas, como ocurría en el modelo tradicional. En el servidor, se emplean normalmente lenguajes de script como PHP, ASP, JSP, etc. (en el curso nos centraremos en el uso de PHP), los cuales pueden interactuar con bases de datos en MySQL, PostgreSQL, Oracle, etc. (en el curso nos centraremos en MySQL). Asimismo, para el envío de datos entre cliente (navegador) y servidor se pueden usar strings de texto o html, pero también XML y JSON, mucho más flexibles y potentes.

  • El primer bloque del curso presentará de forma resumida los lenguajes HTML y CSS para la definición de páginas web.
  • El segundo bloque se centrará en los fundamentos del lenguaje JavaScript, revisando sus diferentes características (interacción con la página a través del HMTL DOM, uso de cookies, modelo de eventos, interacción con formularios, links, imágenes, etc).
  • El tercer bloque, mucho más práctico, se centrará en el desarrollo de aplicaciones AJAX. Primero, se presentará un esquema sencillo en el que nos limitamos a cargar asíncronamente ficheros de texto o html en el navegador. Luego, interactuaremos con scripts PHP en el servidor, los cuales a su vez podrán interactuar con una base de datos MySQL. Finalmente, se tratará el envío de datos entre cliente (navegador) y servidor usando XML y JSON. Se realizarán actividades prácticas que ilustren el uso de cada una de las tecnologías introducidas.

El material del curso puede encontrarse en la pestaña material.

Profesor

Contenidos

  1. Breve repaso a HTML y CSS
  2. JavaScript básico
  3. HTML DOM y JavaScript
  4. Persistencia (cookies) y modelo de eventos
  5. JavaScript cliente (formularios, links, imágenes, etc)
  6. Fundamentos de AJAX: el objeto XMLHttpRequest
  7. AJAX y PHP/MySQL
  8. AJAX y XML
  9. AJAX y JSON
  10. Patrones AJAX

Requisitos

Conocimientos básicos de HTML y CSS (aunque se revisarán en la primera parte del curso). Conocimientos básicos de programación en PHP (necesarios para la parte servidor).

Certificado de asistencia/aprovechamiento

El certificado de asistencia se obtiene asistiendo regularmente al curso (se puede faltar a dos sesiones como máximo).

Respecto al certificado de aprovechamiento, en las dos últimas horas de la última sesión del curso, se propondrá una actividad (similar a las realizadas durante el curso) que deberá completarse antes de finalizar la clase. La realización de esta prueba es opcional y dará lugar a la obtención del certificado de aprovechamiento (como alternativa al certificado de asistencia).

Preinscripción y matrícula

La preinscripción y/o matrícula en el curso se realiza a través del CFP (Centro de Formación Permanente) de la UPV en el siguiente link.

Más información

Durante el curso, las dudas se resolverán (preferentemente) en el aula o bien por correo electrónico a gvidal@dsic.upv.es. También podéis preguntarme dudas relacionadas con la materia una vez finalizado el curso. El material del curso estará activo durante el curso y la semana siguien a su finalización. Si pasado ese tiempo, queréis descargaros la versión final del material y la contraseña ha cambiado, podéis pedírmela por correo electrónico.

El curso está dividido temáticamente en sesiones. Las sesiones estarán disponibles a medida que avance el curso.

Además de los ejemplos, el curso incluye un cierto número de actividades (semi-)dirigidas que ayudan a asentar los conocimientos y ponerlos en práctica en proyectos de tamaño medio.

Las actividades estarán inicialmente inactivas y se irán activando a medida que avance el curso (primero el fichero de partida, para usarlo en clase y, posteriormente, la versión completa).

Todo el material del curso está disponible en la siguiente página (sólo para los alumnos del curso).

Cualquier sugerencia será bienvenida ya que contribuirá a mejorar las futuras ediciones del curso. En particular, me gustaría saber si

  • ¿hay algún apartado que consideres que podría eliminarse o reducirse del curso? (por ej., el apartado de HTML, el de CSS, la parte de orientación a objetos de JavaScript, etc)
  • ¿hay algún apartado que no aparece y que te gustaría que estuviera incluido en el curso?

Por supuesto, cualquier otra sugerencia u opinión sobre el curso (muy corto, muy largo, demasiadas actividades, demasiadas pocas, etc) también será bienvenido!

Los comentarios que me mandes serán totalmente anónimos!