Sesión 1: ¿Qué es una aplicación web?


U
na aplicación web conlleva al siguiente ciclo de desarrollo


  • Análisis
  • Wireframe
  • Diseño
  • Desarrollo
  • Despliegue
  • Mantenimiento

Modelos en los que trabajan las aplicaciones

  • Tradicional
    • Hardware
    • Sistema Operativo
    • Lenguaje de Programación
    • Aplicación
  • Web
    • Se enfoca en la aplicación y no se presta mucha atención al SO y al hardware.
    • Web Stack Tools
      • Herramientas necesarias para construir una aplicación cliente-servidor

Aplication Stack

Se refiere a las capas correspondientes a la aplicación web ejecutada y que se encuentran por encima del Sistema Operativo y Hardware. Estas capas corresponden a las siguientes:

  • UX/UI: Toma de requerimientos del usuario y creación de modelos en Wireframes. Esta capa es ejecutada por el UX Designer.
  • Frontend: Creación del código de la interfaz utilizando tecnologías como HTML, Javascript y CSS. La persona encargada de esta sección es un Junior Developer. 
  • Backend: Funcionamiento del sistema, lo cual involucra tecnologías como PHP, Python, .NET. Esta capa es asignada a Web Developers.
  • OPS + Data: Corresponde a servidores y bases de datos utilizadas.
web-application-stack-languages-infographic


Arquitectura de un modelo cliente-servidor



Para abarcar estas capas se utilizan un conjunto de tecnologías. A continuación se presentan algunas de las de mayor uso durante el año 2018.

  • Javascript Libraries
    • JQuery
    • BackBone JS
    • React
    • JQuery Mobile
  • Frontend Frameworks
    • Bootstrap
    • Foundation
    • uikit
  • Web Aplication Frameworks
    • Ruby
    • AngularJS
    • ASP .NET
    • Django
  • Lenguajes
    • PHP
    • NodeJS
    • Javascript
    • Python
    • Ruby
  • Bases de Datos
    • MySQL
    • Mongo
    • PostgreSQL
  • Servidores
    • Apache
    • IIS
  • Comunidades Web
    • StackOverflow
    • Hashnode

Seleccionar una tecnología de desarrollo
  • Tipo de aplicación: Simple, Compleja, Mediana
  • Costo de desarrollo
  • Escalabilidad
  • Seguridad
  • Time to Market: 
    • Capacidad de añadir extensiones o librerías. 
    • Disponibilidad de desarrolladores.
    • Documentación y comunidades.
    • Facilidad de testing.



Comentarios