Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PICTOS - Decisiones técnicas y de arquitectura

PICTOS - Decisiones técnicas y de arquitectura

Avatar for Felipe Lavín Z.

Felipe Lavín Z.

June 11, 2021
Tweet

Other Decks in Programming

Transcript

  1. ¿Por qué una aplicación web progresiva? • Acceso a APIs

    del dispositivo • Independencia de tiendas de aplicaciones • Menor esfuerzo de mantención y actualización • Integración con dispositivo (instalación)
  2. API REST HTTP Protocolo Métodos: GET / POST / [PUT]

    / DELETE JSON Formato de intercambio de datos
  3. HTML + CSS Javascript: Vue.js Servidor web: nginx Backend: PHP:

    Laravel Base de datos: MySQL S.O: Debian: Linux Servidor: VPS ✱ ✱
  4. HTML + CSS Vue Servidor web: nginx Backend: PHP: Laravel

    Base de datos: MySQL Sist. operativo: Linux Servidor LEMP
  5. ➔ Licencias de uso ◦ Código abierto: licencia “MIT” ➔

    Comunidades grandes y activas ◦ “Estrellitas” de GitHub, descargas, Google Trends ➔ Construcción de ecosistemas ◦ Integración con otros proyectos ➔ Calidad de la documentación ◦ Guías, tutoriales, documentación técnica Criterios “objetivos”
  6. ➔ Curvas de aprendizaje elevadas ◦ Aprendizaje acelerado, permite sumar

    nuevas personas al equipo ➔ Herramientas, convenciones y prácticas establecidas ◦ Permiten trasladar conocimiento de otros proyectos, sensación de familiaridad ➔ Madurez del proyecto ◦ Histórico de releases y desarrollo activo ➔ Compatibilidad retroactiva y fácil actualización ◦ Acceso a mejoras, nuevas funcionalidades y actualizaciones de seguridad ➔ Foco en productividad y experiencia de desarrollo ◦ Potencian y facilitan el trabajo Criterios “subjetivos”
  7. • Arquitectura MVC (modelo-vista-controlador) • Interacción con base de datos

    a través de constructor de consultas y Eloquent ORM • Controladores RESTful • Interfaz para línea de comandos Artisan Laravel The PHP Framework for Web Artisans
  8. • Arquitectura MVVM modelo-vista-modelo de vista • Renderizado declarativo •

    Sintaxis de plantillas similar a HTML y web components • Organización en componentes y componentes de un archivo • Herramientas para línea de comandos Vue.js The Progressive Javascript Framework
  9. • Permite generar interfaces de usuario a partir de componentes

    y estructuras predefinidas • Amplia variedad de componentes y opciones de configuración • Excelente documentación Vuetify Material Design Framework
  10. Proyectos y Repositorios Aplicación web app.pictos.cl Portal www.pictos.cl Administración admin.pictos.cl

    Base de datos API REST pictos-web web-app pictos-backend pictos-admin pictogramas
  11. Metodología de trabajo ➔ Branch ➔ Commit ➔ Pull Request

    ➔ Revisión y discusión ➔ Testing ➔ Merge
  12. Publicando un proyecto de código abierto • Creación de un

    repositorio público • Elegir una licencia • Documentar y fomentar la colaboración • Publicar como dependencia → npmjs.com • Publicación de releases • Versionamiento semántico