- Desgranar el nombre del módulo: desarrollar, aplicación web, entorno servidor
- Qué significa desarrollar una aplicación (analizar, diseñar, implementar)
- Compilación frente a interpretación, y por qué PHP encaja en la web
Finalidad
Al terminar deberás…
- Dar una definición decente de “desarrollar una aplicación”
- Distinguir analizar / diseñar / implementar con un ejemplo pequeño
- Explicar por qué en este módulo trabajamos con un lenguaje interpretado
El objetivo del módulo lo describe su propio nombre.
En esta introducción no programamos todavía: desmontamos esa frase por piezas.
Partes a analizar

Desarrollar una aplicación
Conocimiento previo
Qué es desarrollar una aplicación
Hay muchas respuestas posibles. En clase debería salir al menos una que se pueda defender.
Actividad
Aporta una definición
Intenta decir, en dos o tres frases, qué es desarrollar una aplicación. Luego la contrastamos con la de abajo.
Una definición que nos sirve
Dado un problema de naturaleza lógica:
- Implementar o construir un programa
- usando un lenguaje de programación
- formado por un conjunto de instrucciones
- que, ejecutadas en un entorno computacional,
- solucionan de forma automatizada el problema planteado
Para llegar ahí no basta con “ponerse a picar”:
- Hay que entender muy bien lo que queremos hacer
- Hay que planificarlo
- Hay que realizar esa planificación y probarla

Diseñando y desarrollando: los atajos se pagan más adelante.
Una IA puede ayudarte a redactar un análisis, a inventar casos de prueba o a traducir un diseño a sintaxis. No entiende el problema por ti. Si el enunciado está mal leído, el código —tuyo o generado— también lo estará. En el examen no hay chat
Qué es implementar
Cuando decimos implementar nos referimos a:
- Analizar el problema
- Diseñar una solución algorítmica válida
- Escribir el código de esa solución en uno o varios lenguajes, interpretados o compilados

Actividad
Ecuaciones de segundo grado
Vamos a recorrer el esquema con una aplicación pequeña: ecuaciones de segundo grado.
El planteamiento (el que se expone en clase) es este:
- Se trata de encontrar dos valores para que la ecuación se satisfaga (el valor de x)
- Se especifica la ecuación que hay que aplicar
- Eso ya es análisis: entender el problema que el cliente nos transmite

Actividad
Análisis
Un posible análisis:
Análisis de una ecuación de segundo grado

Actividad
Un posible diseño
Diseño de la ecuación

Actividad
Implementación
Consiste en transcribir el diseño usando un lenguaje concreto, con su sintaxis.
Implementación de la ecuación de segundo grado

Más adelante eso se hace en PHP. El esquema no cambia: lo que cambia es la sintaxis.
Compilación o interpretación
Pregunta
Compilación o interpretación
Las instrucciones escritas, de alguna manera, tienen que pasar a código máquina para ejecutarse. Pueden compilarse o interpretarse. ¿Cuál usamos en la web, y por qué?
Conocimiento previo
Compilación vs interpretación
Un compilador traduce antes a un ejecutable (o a bytecode). Un intérprete traduce mientras se ejecuta, instrucción a instrucción —o casi.
Pregunta
Java
¿Java es un lenguaje compilado o interpretado?
Java hace las dos cosas: se compila a bytecode y la máquina virtual lo interpreta (y a menudo lo acelera con JIT). No es un sí/no limpio; por eso la pregunta sirve para discutir, no para memorizar una etiqueta.
Pregunta
En un entorno de ejecución web, ¿qué tipo de modelo se debe usar?
PHP es interpretado: Modificamos el archio .php y al recargar la página, el servidor interpreta y ejecuta el código en ese momento, no se compila (CGI)
La versión actual es PHP 8.5 (8.6 está en testing) además guarda bytecode en OPcache, así que no es “lento como en 2005”.
En internet también encontramos servidores y aplicaciones desarrollados con Go, Java, Python, PHP, etc. No existe una tecnología mejor en todos los casos: cada una tiene ventajas, inconvenientes y escenarios donde resulta más adecuada. En este módulo trabajaremos principalmente con PHP detrás de Apache, normalmente dentro de Docker.
No buscamos demostrar que PHP es mejor; buscamos aprender desarrollo web del lado servidor, necesitamos usar alguna tecnología, y usremos PHP.
Una aplicación web
Conocimiento previo
Qué es una aplicación web
En un ordenador solemos ver un programa con el que interactuamos. No todos los programas son del mismo tipo.
Hay software de escritorio, de tiempo real, científico, juegos… y aplicaciones web. Los lenguajes de propósito general pueden resolver casi cualquier algoritmo; lo que cambia es dónde se ejecuta y cómo llega el resultado al usuario.
En una app de escritorio el programa puede esperar a que teclees un valor. En la web no: el servidor recibe la solicitud junto con los datos (formulario, URL, JSON) y responde. Esa diferencia condiciona todo el módulo.
| Bloque | Qué es |
|---|---|
| Presentación | Horario, exámenes, contacto |
| Motivación | De dónde partimos y cómo vamos a trabajar |
| 1. Introducción | Este tema: qué es desarrollar |
| 2. Auxiliares | Git, Docker, IA, redes, Linux |
| 3. Conceptos web | Cliente/servidor, WWW, qué es PHP |
| 4. PHP | El lenguaje |
| 5. Laravel | Más adelante |