Diferencia entre revisiones de «Usuario:ManuelRomero/micursos/DWES/Tema1/Aplicaciones Web»
De WikiEducator
Línea 34: | Línea 34: | ||
<div class="slide"> | <div class="slide"> | ||
<!--3--> | <!--3--> | ||
− | + | *Una '''''Aplicación Web''''', funcionalmente puede hacer lo mismo que una aplicación de escritorio | |
− | *Una Aplicación Web, funcionalmente puede hacer lo mismo que una aplicación de escritorio | + | |
*La Aplicación Web, la puedo ejecutar desde cualquier ubicación. | *La Aplicación Web, la puedo ejecutar desde cualquier ubicación. | ||
[[Imagen:distribucionAplicacionesWeb.png|center|250px]] | [[Imagen:distribucionAplicacionesWeb.png|center|250px]] | ||
Línea 85: | Línea 84: | ||
#Tecnología | #Tecnología | ||
#Arquitectura Web | #Arquitectura Web | ||
+ | *No todos los conceptos hacen referenica al lenguaje de programación a utilizar | ||
+ | *Son terminologías relacionadas con el desarrollo web | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | <!--3--> | ||
+ | |||
===Organizando conceptos=== | ===Organizando conceptos=== | ||
;Seleccionando lenguajes de programación, Servidor Web, Gestor de Bases de datos | ;Seleccionando lenguajes de programación, Servidor Web, Gestor de Bases de datos | ||
Línea 90: | Línea 96: | ||
Plataforma de desarrollo | Plataforma de desarrollo | ||
Tecnología | Tecnología | ||
+ | [[Imagen:ArquitecturasWeb.png]] | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | <!--3--> | ||
+ | |||
===Herramientas para desarrollar=== | ===Herramientas para desarrollar=== | ||
#Framework | #Framework | ||
#Gestoir de contenidos CSM | #Gestoir de contenidos CSM | ||
− | http://www.web-and-development.com/a-framework-or-a-cms-what-is-better-to-choose/ | + | *http://www.web-and-development.com/a-framework-or-a-cms-what-is-better-to-choose/ |
− | + | [[Imagen:frameworkCSM.png]] | |
− | + | {{Pregunta|¿Framework o _Gestores de contenidos?}} | |
#http://lapastillaroja.net/2013/10/como-seleccionar-plataforma-tecnologica/ | #http://lapastillaroja.net/2013/10/como-seleccionar-plataforma-tecnologica/ | ||
− | ==Gestores de contenidos | + | </div> |
+ | |||
+ | <div class="slide"> | ||
+ | <!--3--> | ||
+ | ;Framework | ||
+ | *Filosofía de programa tus '''''programas'''''', no tus '''''aplicaciones''''' | ||
+ | *Habla de dónde hay que dedicar esfuerzos | ||
+ | *Una herramienta compuesta por una serie de librerías que nos da un enfoque y una forma de cómo solucionar un problema | ||
+ | *Organiza la forma de desarrollo | ||
+ | *Establece unos criterios que unifica la manera de desarrollar | ||
+ | **Estructura de carpetas | ||
+ | **Gestion de la base de datos | ||
+ | **Automatización de muchas tareas (Autentificación, Cookies, Gestion de la base de datos, Seguridad | ||
+ | **Permiten un mantenimiento | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | <!--3--> | ||
+ | |||
+ | ;Gestores de contenidos | ||
*Para generar aplicaciones web, existen herramientas llamadas gestores de contenidos | *Para generar aplicaciones web, existen herramientas llamadas gestores de contenidos | ||
*Por ejemplo Drupal, Joomla, Wrodpress y otras muchas. | *Por ejemplo Drupal, Joomla, Wrodpress y otras muchas. | ||
Línea 105: | Línea 136: | ||
##Normalmente son las que usan las personas que producen el contenido | ##Normalmente son las que usan las personas que producen el contenido | ||
##También sirven para administrar la aplicación web permitiendo a usuarios con permisos acceder a contenidos. | ##También sirven para administrar la aplicación web permitiendo a usuarios con permisos acceder a contenidos. | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | <!--3--> | ||
+ | |||
==Back-end y front-end de una aplicación web== | ==Back-end y front-end de una aplicación web== | ||
*Una aplicación web normalmente se divide en dos partes | *Una aplicación web normalmente se divide en dos partes | ||
#un '''''front-end''''', que es la parte pública que ven los usuarios externos; (La página html) | #un '''''front-end''''', que es la parte pública que ven los usuarios externos; (La página html) | ||
#un '''''back-end''''', que es la parte privada que usan los administradores de la aplicación. (Los programa en servidor, bd,...) | #un '''''back-end''''', que es la parte privada que usan los administradores de la aplicación. (Los programa en servidor, bd,...) | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | <!--3--> | ||
===Programación en el servidor y en cliente=== | ===Programación en el servidor y en cliente=== | ||
*Ya hemos dejado hablado un poco de estas dos tecnologías | *Ya hemos dejado hablado un poco de estas dos tecnologías | ||
Línea 114: | Línea 154: | ||
*El código a ejecutar viene embebido en forma de script en la página que el servidor nos entrega. | *El código a ejecutar viene embebido en forma de script en la página que el servidor nos entrega. | ||
*Este script en principio no puede directamente acceder a los datos que tengamos en el servidor | *Este script en principio no puede directamente acceder a los datos que tengamos en el servidor | ||
− | |||
{{Pregunta|Si quiero verificar que la contraseña introducida en una página web tenga una longitud mínima, ¿dónde sería preferible que se ejecutara el código de comprobación? }} | {{Pregunta|Si quiero verificar que la contraseña introducida en una página web tenga una longitud mínima, ¿dónde sería preferible que se ejecutara el código de comprobación? }} | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | <!--3--> | ||
+ | |||
;El servidor ejecuta código y genera páginas html que entrega al cliente | ;El servidor ejecuta código y genera páginas html que entrega al cliente | ||
*El cliente nunca ve este código | *El cliente nunca ve este código | ||
Línea 123: | Línea 167: | ||
*lo que entrega es una págian html. Esto debe quedar muy claro | *lo que entrega es una págian html. Esto debe quedar muy claro | ||
{{Puntos clave| El servidor ante una solicitud del cliente entrega una página html}} | {{Puntos clave| El servidor ante una solicitud del cliente entrega una página html}} | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | <!--3--> | ||
+ | |||
;AJAX Al rescate | ;AJAX Al rescate | ||
{{Pregunta| | {{Pregunta| | ||
Línea 131: | Línea 180: | ||
*Esta tecnología nos posibilita realizar programas en los que el código JavaScript accede al servidor | *Esta tecnología nos posibilita realizar programas en los que el código JavaScript accede al servidor | ||
*se puede comunicar y obtener información con la que, por ejemplo, modificar la página web actual. | *se puede comunicar y obtener información con la que, por ejemplo, modificar la página web actual. | ||
− | + | </div> | |
+ | <div class="slide"> | ||
+ | <!--3--> | ||
+ | |||
+ | ;AJAX al rescate | ||
+ | *Es importante tener en cuenta que esta comunicación es asíncrona (no sabemos exactamente cuando se va a producir la comunicación) | ||
{{Punto clave| '''''Ajax''''' permite sin salir de una página modificar su contenido en base a la información que se almacena en un servidor de Internet}} | {{Punto clave| '''''Ajax''''' permite sin salir de una página modificar su contenido en base a la información que se almacena en un servidor de Internet}} | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | <!--3--> | ||
Línea 144: | Línea 202: | ||
*Existen otras arquitecturas para desarrollar. Consiste en hacer convinacinoes de SO. Serivdor Web, Gestor de Bases de Datos, Lenguaje de programacion para el desarrollo). | *Existen otras arquitecturas para desarrollar. Consiste en hacer convinacinoes de SO. Serivdor Web, Gestor de Bases de Datos, Lenguaje de programacion para el desarrollo). | ||
{{Actividad|Localiza al menos 2 Arquitecturas diferentes}} | {{Actividad|Localiza al menos 2 Arquitecturas diferentes}} | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | <!--3--> | ||
+ | |||
===Tecnologías para programación web del lado del servidor=== | ===Tecnologías para programación web del lado del servidor=== | ||
*Cuando programas una aplicación, utilizas un lenguaje de programación. | *Cuando programas una aplicación, utilizas un lenguaje de programación. | ||
Línea 150: | Línea 213: | ||
*Por ejemplo en el caso de javauna máquina virtual de Java. | *Por ejemplo en el caso de javauna máquina virtual de Java. | ||
*Son consideraciones a tener en cuenta antes de empezar a desarrollar. | *Son consideraciones a tener en cuenta antes de empezar a desarrollar. | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | <!--3--> | ||
Línea 164: | Línea 231: | ||
**Este módulo no es estrictamente necesario pero se usa casi siempre. | **Este módulo no es estrictamente necesario pero se usa casi siempre. | ||
*4.-'''''El lenguaje de programación''''' que utilizarás para desarrollar las aplicaciones. | *4.-'''''El lenguaje de programación''''' que utilizarás para desarrollar las aplicaciones. | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | <!--3--> | ||
===La arquitectura de la aplicación=== | ===La arquitectura de la aplicación=== | ||
Línea 170: | Línea 241: | ||
*Muchas de las arquitecturas que se usan en la programación de aplicaciones web te ayudan a estructurar el código de las aplicaciones en capas o niveles. | *Muchas de las arquitecturas que se usan en la programación de aplicaciones web te ayudan a estructurar el código de las aplicaciones en capas o niveles. | ||
*El motivo de dividir en capas el diseño de una aplicación es que se puedan separar las funciones lógicas de la misma, de tal forma que sea posible ejecutar cada una en un servidor distinto (en caso de que sea necesario). | *El motivo de dividir en capas el diseño de una aplicación es que se puedan separar las funciones lógicas de la misma, de tal forma que sea posible ejecutar cada una en un servidor distinto (en caso de que sea necesario). | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | <!--3--> | ||
+ | ;Arquitectura de la aplicacion | ||
*Un servidor de aplicaciones web en realidad puede estar formado por varios servidores físicos; | *Un servidor de aplicaciones web en realidad puede estar formado por varios servidores físicos; | ||
cada servidor se puede encargar de ejecutar una parte de la aplicación. | cada servidor se puede encargar de ejecutar una parte de la aplicación. | ||
Línea 176: | Línea 252: | ||
#'''''capa intermedia''''' : donde deberás programar la funcionalidad de tu aplicación. | #'''''capa intermedia''''' : donde deberás programar la funcionalidad de tu aplicación. | ||
#'''''capa cliente:''''' que es donde programarás todo lo relacionado con el interface de usuario, esto es, la parte visible de la aplicación con la que interactuará el usuario. | #'''''capa cliente:''''' que es donde programarás todo lo relacionado con el interface de usuario, esto es, la parte visible de la aplicación con la que interactuará el usuario. | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | <!--3--> | ||
+ | |||
*Dentro de la arquitectura de la aplicacion podemos ver tambíen arquitectura MVC (nivel de tres capas), o arquitectura de modelo Vista - Aplicacion o modelo de dos capas. | *Dentro de la arquitectura de la aplicacion podemos ver tambíen arquitectura MVC (nivel de tres capas), o arquitectura de modelo Vista - Aplicacion o modelo de dos capas. | ||
*Este tema lo estudiaremos posteriormente. | *Este tema lo estudiaremos posteriormente. | ||
Línea 185: | Línea 266: | ||
*Que es una URL vs diferencia con URI http://www.hispamedios.com/articles/id34-url-y-uri URI] | *Que es una URL vs diferencia con URI http://www.hispamedios.com/articles/id34-url-y-uri URI] | ||
}} | }} | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | <!--3--> | ||
+ | |||
===Instalación de herramientas=== | ===Instalación de herramientas=== | ||
*Las herramientas que vamos a necesitar para desarrollar son las siguietnes | *Las herramientas que vamos a necesitar para desarrollar son las siguietnes |
Revisión de 17:58 28 sep 2015
|