ISDW613 Aplicaciones Web
ISDW613 Aplicaciones Web
ISDW613 Aplicaciones Web
Web
● Frameworks y Técnicas
○ AJAX y uso de Javascript asincrónico.
○ IFrames.
○ Librerías como React, Angular y Vue.
○ Web Sockets
○ Plugins de Navegadores
Aplicaciones WEB - Aplicaciones PWA
Aplicaciones WEB - Aplicaciones PWA
● Inline
● Interna
● Externa
Formas de Incluír un CSS
● Inline
● Interna
● Externa
Propiedades de CSS
● Fuente
● Texto
● Color y Fondo
● Cajas
● Bordes
● Contorno
● Dimensiones
● Tablas
● Listas
Bordes
Modelo de Caja
Box-Sizing
Ejemplo
● Pseudo-clases Relacionales
Categorías de Pseudo-clases
● Pseudo-clases Texto
Pseudo-elementos
Ejemplo
- Basado en XML
- Tiene bajo acoplamiento
- Permite comunicación asíncrona o síncrona
- Soporta RPCs (Remote Procedure Calls)
- Soporta intercambio de Documentos
Servicios WEB - Roles
● Wordpress
● Joomla
● Shopify
HTTPS
HTTPS
Hosting y Dominio
Dominios
Dominios
Dominios
Dominios - Tipos de Registros
Hosting
Patrones de Diseño
Patrones de Diseño - Conceptos
● Problema: Imagina que se está creando una aplicación de gestión logística. La primera
versión de tu aplicación sólo es capaz de manejar el transporte en camión, por lo que la mayor
parte de tu código se encuentra dentro de la clase Camión.
Al cabo de un tiempo, la aplicación se vuelve bastante popular. Cada día se recibe decenas de
peticiones de empresas de transporte marítimo para que incorpores la logística por mar a la
aplicación.
● Solución: El patrón Factory Method sugiere que, en lugar de llamar al operador new para
construir objetos directamente, se invoca a un método fábrica especial. Los objetos devueltos
por el método fábrica a menudo se denominan productos.
Patrones Creacionales - Factory Method
Patrones Creacionales - Factory Method
Patrones Creacionales - Abstract Factory
● Problema: Imagina que estás creando un simulador de tienda de muebles. Tu código está
compuesto por clases que representan lo siguiente:
Algunas variantes de esta familia. Por ejemplo, los productos Silla + Sofá + Mesilla están
disponibles en estas variantes: Moderna, Victoriana, ArtDecó.
Patrones Creacionales - Abstract Factory
● El siguiente paso consiste en declarar la Fábrica abstracta: una interfaz con una lista de
métodos de creación para todos los productos que son parte de la familia de productos (por
ejemplo, crearSilla, crearSofá y crearMesilla). Estos métodos deben devolver productos
abstractos representados por las interfaces que extrajimos previamente: Silla, Sofá, Mesilla,
etc.
Patrones Creacionales - Abstract Factory
● Otro Ejemplo
Patrones Creacionales - Builder
● Problema: Imagina un objeto complejo que requiere una inicialización laboriosa, paso a paso,
de muchos campos y objetos anidados. Normalmente, este código de inicialización está
sepultado dentro de un monstruoso constructor con una gran cantidad de parámetros. O, peor
aún: disperso por todo el código cliente.
Patrones Creacionales - Builder
● Solución: El patrón Builder sugiere que saques el código de construcción del objeto de su
propia clase y lo coloques dentro de objetos independientes llamados constructores.
Patrones Creacionales - Builder
● Estructura
Patrones Creacionales - Prototype
● Problema: Digamos que tienes un objeto y quieres crear una copia exacta de él. ¿Cómo lo
harías? En primer lugar, debes crear un nuevo objeto de la misma clase. Después debes
recorrer todos los campos del objeto original y copiar sus valores en el nuevo objeto.
¡Bien! Pero hay una trampa. No todos los objetos se pueden copiar de este modo, porque
algunos de los campos del objeto pueden ser privados e invisibles desde fuera del propio
objeto.
Patrones Creacionales - Prototype
● Solución: El patrón Prototype delega el proceso de clonación a los propios objetos que están
siendo clonados. El patrón declara una interfaz común para todos los objetos que soportan la
clonación. Esta interfaz nos permite clonar un objeto sin acoplar el código a la clase de ese
objeto. Normalmente, dicha interfaz contiene un único método clonar.
● Estructura Básica
Patrones Estructurales - Adapter
● Problema: Imagina que estás creando una aplicación de monitoreo del mercado de valores.
La aplicación descarga la información de bolsa desde varias fuentes en formato XML para
presentarla al usuario con bonitos gráficos y diagramas.
● Solución: Puedes crear un adaptador. Se trata de un objeto especial que convierte la interfaz
de un objeto, de forma que otro objeto pueda comprenderla.
Un adaptador envuelve uno de los objetos para esconder la complejidad de la conversión que
tiene lugar tras bambalinas. El objeto envuelto ni siquiera es consciente de la existencia del
adaptador. Por ejemplo, puedes envolver un objeto que opera con metros y kilómetros con un
adaptador que convierte todos los datos al sistema anglosajón, es decir, pies y millas
Patrones Estructurales - Adapter
● Estructura
Patrones Creacionales - Singleton
● Solución:
○ Hacer privado el constructor por defecto para evitar que otros objetos utilicen el
operador new con la clase Singleton.
○ Crear un método de creación estático que actúe como constructor. Tras bambalinas,
este método invoca al constructor privado para crear un objeto y lo guarda en un campo
estático. Las siguientes llamadas a este método devuelven el objeto almacenado en
caché.
● Estructura