Usuario:ManuelRomero/ProgramacionWeb/Distancia2018/conceptos generales

{|cellpadding="5" cellspacing="6" style="width:100%;background:#DFFFFF; border-style:solid; border-width:2px; border-color:#0066FF;"
 * width="100%" valign="top" style="padding: 0; margin:0px;" |

{|cellpadding="5" cellspacing="6" style="width:100%;background:#DFFFFF; border-style:solid; border-width:2px; border-color:#0066FF;"
 * width="100%" valign="top" style="padding: 0; margin:0px;" |

CONCEPTOS SOBRE DESARROLLO WEB

Qué pretende explicar este módulo

 * El objetivo de este módulo lo describe su propio nombre.


 * En esta introducción analizaremos qué entendemos por Desarrollo de aplicaciones web en el entorno servidor.
 * Para ello vamos a ir desgranando el nombre del módulo y analizándolo en cada una de sus partes.

center|400px
 * Partes a analizar
 * 1) Desarrollar una aplicación
 * 2) Aplicaciones Web
 * 3) Entorno servidor

Desarrollar una aplicación

 * Son muchas las posibles respuestas, pero al menos deberíamos saber dar una de forma correcta


 * Posible definición

center|700px
 * Para desarrollar una aplicación o programa
 * 1) Hay que entenderlo muy bién lo que queremos hacer
 * 2) Hay que planificarlo
 * 3) Hay qu realizar esa planificación y probarla
 * Observa la siguiente imagen que reune diferentes la consecuencia de diferentes mitos  en el desarrollo.


 * Desarrolar una aplicación
 * Cuando decimos implementar nos referimos a :
 * 1) Analizar el problema.
 * 2) Diseñar una solución algorítmica válida.
 * 3) Escribir el código de dicha solución utilizando uno o varios  lenguajes de programación concreto, interpretados o complilados.

Imagen:AnalisisDiseñoImple1.png:
 * Fases en el desarrollo tradicional

900px
 * Observa la siguiente imagen.
 * Usando un caso de uso un poco personal realizamos este estudio detallado.


 * Desarrollar una aplicació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

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


 * 1) Aplicaciones de escritorio.
 * 2) Aplicaciones de ingeniería.
 * 3) Aplicación de Tiempo real.
 * 4) Software de Inteligencia artificial.
 * 5) Software de predicciones metereológicas, cálculo científico.
 * 6) Aplicaciones de juegos.
 * 7) 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.


 * Tipos de sorftware
 * Por otro la la encapsulación y abstracción en lenguajes orientada a objetos (También ocurre con la tendencia de lenguajes de tipo TAD (tipos abstractos de datos)) permite que los diferentes lenguajes ofrezcan librerías o clases en terminología OOP, que nos hacen mucho del trabajo habitual para ese tipo de aplicaciones.
 * Son componentes que directamente podemos usar


 * 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.

El comando curl

 * Curl
 * Vamos a estudiar un comando para hacer solicitudes de recursos sin usar un navegador.
 * Usaremos mas adelante una librería de este comando para php al crear servicios REST.
 * Con este comando podemos establecer comunicación con servidores usando los diferentes protocolos que soporta.
 * Usando la sintaxis URL podemos transferir ficheros entre cliente y servidor.
 * Veamos algún uso que puede resultar interesante.
 * Suele ser interesante conocer los códigos http
 * Nos interesará conocer los códigos del servidor 5xx.

Ejemplos de uso del comando curl url_página_web curl -o nombreFichero url_página_web curl --head url_pagina_web
 * Ver el contenido de una página web
 * Guardar una página web en un fichero -o
 * Ver la cabecera de una web

curl -L url_página_web Para que accedamos a la página que nos redirige url_pagina_web Estos conceptos ya los veremos y utilizaremos más adelante
 * Curl
 * Si la web nos redirige, hay que especificarlo con -L
 * Para ver toda la traza de información de un servidor
 * Podemos también simular el envío de datos a un servidor bien por POST y bien por GET. Simulando un formulario.


 * }