Cuando entramos en el mundo de la programación y diseño de páginas web nos encontramos frente a dos opciones básicas de presentación de la información: las páginas web estáticas y las páginas web dinámicas. Mientras que para el diseño sólo precisamos decidir dónde y cómo presentaremos la información: los bloques de contenido, el tipo de contenido (texto, multimedia, formularios); para la programación debemos optar por una de las dos opciones anteriores existentes. Cuando optamos por una página web estática haremos uso para su creación del lenguaje HTML (usando sus etiquetas y atributos) unido a las reglas y plantillas CSS para darles formato y estilo a los datos. La información se queda entonces presentada tal cual, a no ser que entremos de nuevo en el código y cambiemos la forma del mismo.
Sin embargo, cuando optamos por una página web dinámica nos enfrentamos a una tercera tecnología a utilizar: los lenguajes de script. Los lenguajes de script pueden emplearse en el lado del cliente (ejecutándose el programa en el navegador del cliente) o en el lado del servidor (ejecutándose el programa en el lado del servidor y proporcionándole al cliente una web ya conformada en HTML). Las tecnologías usadas para la programación en el lado del cliente emplean habitualmente Javascript o JQuery, aunque se están abandonando por falta de seguridad. La programación en el lado del servidor emplea lenguajes de programación de scripts: PHP, Java, Python, .NET,...y son los más habituales hoy en día. Si queremos diseñar una web de ejecución en el lado servidor necesitaremos para su diseño instalar en nuestros equipos servidores un servidor web (que sirva la página, y que suele ser Apache), un servidor de bases de datos (para obtener información a mostrar dinámicamente en nuestra web sin necesidad de cambiar el código HTML) y un procesador del lenguaje de script utillizado. Todo esto lo aglutina XAMPP, un paquete de aplicaciones multiplataforma de software libre que nos permitirá diseñar ¡con total libertad de creación!