Slide 1

Slide 1 text

PICTOS Decisiones técnicas y de arquitectura

Slide 2

Slide 2 text

Arquitectura Aplicación web app.pictos.cl Portal www.pictos.cl Administración admin.pictos.cl Base de datos API REST

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

¿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)

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

API REST HTTP Protocolo Métodos: GET / POST / [PUT] / DELETE JSON Formato de intercambio de datos

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

Mapa de clases PICTOS

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

HTML + CSS Vue Servidor web: nginx Backend: PHP: Laravel Base de datos: MySQL Sist. operativo: Linux Servidor LEMP

Slide 13

Slide 13 text

¿Por qué Laravel y Vue.js?

Slide 14

Slide 14 text

➔ 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”

Slide 15

Slide 15 text

➔ 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”

Slide 16

Slide 16 text

● 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

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

● 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

Slide 19

Slide 19 text

● 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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

Metodología de trabajo ➔ Branch ➔ Commit ➔ Pull Request ➔ Revisión y discusión ➔ Testing ➔ Merge

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

¡gracias! ;-)