Un desarrollo web consiste en hacer una aplicación que el usuario la va a ejecutar en un entorno web
A la hora de desarrolla aplicaciones web, son diferentes las tecnologías que intervienen
Html
CSS
Lenguaje en el cliente
Lenguaje en el servidor
Servidores web o servidores de aplicaciones
La red
Otros elementos o plugins a incorporar
Desarrollar una aplicación
Conocimiento previo
Qué es Desarrollar una aplicación
Son muchas las posibles respuestas, pero al menos deberíamos saber dar una de forma correcta
Actividad
Vamos a dar una definición entre todos. Aportar ideas
Posible definición
Definición
Dado un problema de naturaleza lógica,
desarrollar una aplicación consiste en
implementar o construir un programa usando un determinado lenguaje de programación,
Dicho programa consiste en un conjunto de instrucciones que ejecutadas en un entorno computacional solucionan de forma automatizada el problema planteado.
Desarrolar una aplicación
Cuando decimos implementar nos referimos a :
Analizar el problema.
Diseñar una solución algorítmica válida.
Escribir el código de dicha solución utilizando uno o varios lenguajes de programación concreto, interpretables o complilables.
Desarrollar una aplicación
Pregunta
¿Compilación o interpretación?
Las instrucciones escritas, de alguna manera han de pasar a código máquina para que se puedan ejecutar en un entorno computacional.
Para ello dichas instrucciones pueden Compilarse o Interpretarse
Conocimiento previo
Diferencias entre Compilacion Vs Interpretación
Actividad
Proponer lenguajes que conozcamos y ver si son compilados o interpretados
Es una forma de acercarnos a la programación en general y en particular a la programación web
Por curiosidad hay un lenguaje de programación especial llamado Java
Pregunta
Qué es Java? ¿Es java interpretado o compilado?
Pregunta
En un entorno de ejecución web, qué tipo de modelo se debe de usar y por qué
Una Aplicación Web
Conocimiento previo
Qué es una Aplicación Web
Normalmente en un ordenador vemos un programa o aplicación ejecutándose, con el cual podemos estar interactuando.
No todos los programas o aplicaciones son del mismo tipo, tenemos diferentes tipos de software
Tipos de aplicaciones
Aplicaciones de escritorio.
Aplicaciones de ingeniería.
Aplicación de Tiempo real.
Software de Inteligencia artificial.
Software de predicciones metereológicas, cálculo científico.
Aplicaciones de juegos.
Aplicaciones web.
...
Tipos de sorftware
Los diferentes lenguajes de programación son todos de propósito general, esto es, pueden implementar cualquier algoritmo correcto.
No obstante presentan diferentes características que los hacen más idóneos para implementar código en determinados tipo de software, de modo que dependiendo el tipo de software que vamos a desarrollar deberíamos de ver que tipos de lenguajes tenemos disponibles.
framework
También van apareciendo framework donde con un lenguaje de programación se toma una metodología de trabajo y se adapta un determinado lenguaje (Por ejemplo creando dentro del framework determinados objetos) para facilitar el trabajo al desarrollador.
En realidad cada un de estas partes es importante estudiarlas para poder realizar un desarrollo web.
La parte de cliente es la que vamos a cubrir o estais ya cubriendo en este curso
La parte de comunicaciones y protocolo y algo de aplicaciones del servidor la vais a ver un poco con Nacho en la siguiente unidad formativa.
La parte del entorno servidor Veremos un poco al final de esta unidad formativa con la intención de que tengáis una visión global del desarrollo web.
Lógicamente una aplicación web a de tener cada una de esas partes
El cliente en el proceso de ejecución de una aplicación web
Es el usuario final el que empieza el proceso.
También se conoce como agente.
En el cliente necesitamos tener una serie de elementos
Un programa (navegador) dónde el usuario escribe la solicitud (Lá página a la que quiero acceder, la máquina en la que se encuentra, y dentro de la página su ubicación).
Necesitamos encontrar la ip de la máquina a partir de su nombre (DNS)
Interpretar y visualizar la información que el servidor nos facilite en formato html (El navegador).
Ejecutar los script que aporte la respuesta del servidor por ejemplo código en java Script (Todos los navegadores modernos interpretan el código JavaScript y lo ejecutan.
Especificadno el recurso
El cliente hace una petición de una página web
Para ello escribe la URI en el navegador indicando máquina dónde está.
También nombre de la página que solicita, protocolo usado y puerto por el que realiza la solicitud.
(En la mayoría de las ocasiones se toma el puerto por defecto para ese protocolo
http 80, https 443
También se puede incluir lo que se llama solicitud y fragmento.
La solicitud son parejas variabla=valor que se pasan en la solicitud
El fragmenta representa una parte concreta de la página que se solicita,
Para el fragmento se utiliza el método GET dentro del protocolo http.
Si se elude alguna parte se toma el valor por defecto o lo que establezca el servidor web
Los medios en el proceso de ejecución de una aplicación web
Aparte de la comunicación física necesitamos unos protocolos
Protocolos de la familia tcp/ip.
Protocolos utilizados Http, tpc/udp, piv4 ipv6 icmp, y otros muchos que se pueden usar a nivel de aplicación.
El servidor en el proceso de ejecución de una aplicación web
Servidor Web
Recibe e interpreta la solicitud del cliente
Accede a bases de datos según necesidades
Ejecuta código en el servidor, generando como resultado una página html que es lo que da al cliente
(El cliente no ve el código del servidor).
Pregunta
¿Podemos visualizar una página web sin que intervenga un servidor web?
Actividad
Realiza en un documento usando diagramas y detallando el proceso de carga de una página web
Contempla la posibilidad de tener que ejecutar script tanto en cliente como en servidor
Identifica en un bloque cada uno de los elementos (CLIENTE, SERVIDOR o MEDIOS) o programas necesarios (programa navegador, protocolo http en cliente, servidor dns, interprete de javaScript, ...)