SlideShare una empresa de Scribd logo
1
Confidential
2
Confidential
Arquitectura UI
Rodrigo Sobisch
Sr Front End Developer
12-10-2016
3
Confidential
1. HTTP 2
2. Promises
3. Service Workers
Agenda
4
Confidential
Http 2
- Soporte
- Http 1.1 vs. Http 2
- Que dejar de hacer?
- Que seguir haciendo?
5
Confidential
• En Http2 se usan las mismas llamadas que en http1.1 (mismos
métodos: GET, PUT, POST, PATCH y DELETE)
Lo nuevo:
• Soporte para multiplexado de llamadas TCP
• Server push y proactividad serverside para formar cache en el cliente
• RST_STREAM frame, habilidad para cancelar solicitudes
• Es binario, no texto, soporta otras encriptaciones
Soporte de funcionalidades
6
Confidential
7
Confidential
8
Confidential
Transición de http1.1 a Http 2
9
Confidential
Http 1.1 vs. Http2
10
Confidential
• Consiste en separar tanto los
archivos estáticos como las
API en diferentes servidores
para aumentar la cantidad de
llamadas TCP disponibles
totales para la aplicación.
Prácticas obsoletas
• Práctica en la cual se construye
una gran imagen formada por
una cantidad definida de
imagenes mas pequeñas
(generalmente íconos y
pequeños assets) y después al
momento de usarlas en la
aplicación se selecciona que
porción de la gran imagen se
desea utilizar (mediante css).
• Consiste mediante el método de
concatenación unir diferentes
archivos en uno de mayor
tamaño, lo cual reduce la
cantidad de llamadas TCP
hechas a los servidores y no
afecta el resultado final del lado
del cliente (estando bien
aplicada).
TCP sharding CSS Spriting Concatenación
11
Confidential
Buenas prácticas a mantener
• Minificado: Reducción del código/texto a
su mínima expresión quitando todos los
símbolos superfluos y reemplazando los
símbolos humanamente comprensibles
por equivalentes sin asociación con el
negocio en cuestión.
• Ofuscación agrega un nivel de
complejidad alterando el código original
mediante procesos de parseo y
sustitución.
• Compresión de los archivos mediante
GZIP utilizando alguna de las dos
técnicas más populares:
– Configuración del servidor web
para realizar tal tarea
– Configuración para realizar la
compresión desde el código
propiamente dicha
Mas recomendable la primera opción.
Minificado y ofuscación Compresión
12
Confidential
Promises
- ¿Qué son?
- Descripción
- Estados
- Métodos
- .then y .catch
- Ejemplos
13
Confidential
• Es un objeto usado para realizar cómputo
asíncrono.
• Representa un valor que puede estar
disponible ahora, en el futuro o nunca.
• Javascript es de un solo hilo, lo cual a través
de promesas puede aumentar
considerablemente la velocidad de las
aplicaciones, quitando los bloqueos
característicos de llamadas síncronas.
¿Qué son las promesas?
14
Confidential
• Es un proxy para un valor no necesariamente
conocido cuando la promesa es creada. Te
permite asociar manejadores para cuando
este valor esté disponible o falle. Permitiendo
métodos asíncronos devolver promesas en
vez del valor deseado para permitir obtener
ese valor en algún momento futuro.
• Recibe como parámetro una función
ejecutora, que recibe callbacks para manejar
éxito y fracaso.
•
Descripción
15
Confidential
Fulfilled (cumplida): La acción relacionada a
la promesa tuvo éxito
Rejected (rechazada): La acción relacionada
a la promesa falló
Pending (pendiente): No ha sido cumplida o
rechazada aún
Settled (arreglada): Ha sido cumplida o
rechazada
•
Estados
16
Confidential
• Promise.all(iterable)
• Promise.race(iterable)
• Promise.reject(reason)
• Promise.resolve(value)
Métodos
17
Confidential
• Permiten realizar operaciones con los resultados de la resolución de
una promesa (o cadena), dando un contexto de ejecución asíncrono a
la llamada original cuando esta es cumplida (then) o rechazada
(catch).
Then y Catch
18
Confidential
Ejemplo 1:
19
Confidential
Ejemplo 2:
20
Confidential
Service Workers
- ¿Qué son?
- ¿Para qué sirven?
- Ciclo de vida
- Performance
- Ejemplos
21
Confidential
• Un service worker es javascript que el
navegador corre en segundo plano,
separado de la pagina web, dando opciones
a funcionalidades que no necesitan una
pagina web o interacción del usuario. Hoy en
día ya soportan notificaciones push y
sincronizaciones asíncronas. En el futuro
soportarán sincronizaciones periódicas y
geofencing.
• Su principal uso hoy en día es interceptar y
manejar llamadas de red, incluyendo el
manejo programático de una caché de
respuestas.
¿Qué son?
22
Confidential
• Sirven principalmente para mejorar la
experiencia de usuarios en situaciones de
baja o nula conectividad.
• Utilizados como proxy de red permitiendo el
control de las peticiones de red
¿Para qué sirven?
Offline first apps
23
Confidential
Ciclo de vida
24
Confidential
Registrar un service worker
25
Confidential
Instalar un service worker
26
Confidential
Cache y devolución de respuestas
27
Confidential
Versiones
28
Confidential
Gotchas y grises
• Si la instalación falla, no es sencillo darse cuenta
• Fetch no incluye credenciales como cookies por defecto
• URL de terceros que no soporten CORS fallan por defecto
• Manejo de imágenes responsivas y el tamaño de la cache
29
Confidential
Performance
30
Confidential
¿Preguntas?
31
Confidential
Muchas Gracias!
Rodrigo Sobisch
Sr Front End Developer
r.sobisch@globallogic.com
261-543-6483

Más contenido relacionado

PDF
Linkerd a fondo
PDF
Have you met Istio?
PDF
Web services-con-php
PDF
Tutorial Web Services en PHP, REST, SOAP
ODP
Pruebas del servicio web
PPTX
Introduccion SignalR
ODP
Linkerd a fondo
Have you met Istio?
Web services-con-php
Tutorial Web Services en PHP, REST, SOAP
Pruebas del servicio web
Introduccion SignalR

La actualidad más candente (20)

PDF
Orquestando microservicios como lo hace Netflix
PPTX
Build and deploy
PDF
¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!
PPTX
ODP
Taller de optimizacion de servidores web tipo LAMP
PPTX
Apache Server vs Nginx
PDF
Web Service and PHP, REST and SOAP
PDF
Servidores web de altas prestaciones. Tema 5
PPTX
Introducción a microservicios
PDF
Divide y Vencerás: introducción a los Microservicios
PDF
8.4 Análisis de Opciones del Caso (III).
PPTX
Cómo petarlo con Blockchain en 45' - Plain Concepts Dev Day
PDF
Servidores web de altas prestaciones. Tema 1
PPTX
NodeJS
 
PPTX
Tools for High Availability
PPT
Semana 11 servidrores concurrentes
PDF
Rendimiento extremo en php
PDF
Sitios web de alto rendimiento y alta disponibilidad
Orquestando microservicios como lo hace Netflix
Build and deploy
¿Cómo se despliega y autoescala Couchbase en Cloud? ¡Aprende de manera práctica!
Taller de optimizacion de servidores web tipo LAMP
Apache Server vs Nginx
Web Service and PHP, REST and SOAP
Servidores web de altas prestaciones. Tema 5
Introducción a microservicios
Divide y Vencerás: introducción a los Microservicios
8.4 Análisis de Opciones del Caso (III).
Cómo petarlo con Blockchain en 45' - Plain Concepts Dev Day
Servidores web de altas prestaciones. Tema 1
NodeJS
 
Tools for High Availability
Semana 11 servidrores concurrentes
Rendimiento extremo en php
Sitios web de alto rendimiento y alta disponibilidad
Publicidad

Destacado (20)

PDF
Simple Steps to UX/UI Web Design- Español
PDF
UX: Una disciplina para curiosos, inconformes y locos
PDF
Proceso de diseño UI/UX
PDF
Agile fundamentals - Campus Party
PDF
Conceptos Técnicos de Mobile para QA
PDF
15 errores comunes de ux en móviles (y cómo evitarlos)
PDF
JavaScript Avanzado
PDF
#PlatziConf - El camino para ser un Pro en JavaScript
PDF
UX: La experiencia de diseñar la experiencia
PDF
Diseño ui/ux en iOS
PDF
Metodologia agil para el diseño de aplicaciones multimedias moviles
PDF
UX en proyectos de diseño y desarrollo - Gestión, procesos, roles y prácticas
PDF
GeneXus Apps UI / UX Kit - Gabriel Simonet
PDF
UX no es lo mismo que UI
PDF
¿Por qué UX?
PDF
UX en 30 Minutos
KEY
Benchmarking qué es para qué sirve y cómo hacer uno
PPT
Presentacion Benchmarking
PPT
Diapositivas Benchmarking
PDF
Arquitecturas Para La Reutilización en JavaScript
Simple Steps to UX/UI Web Design- Español
UX: Una disciplina para curiosos, inconformes y locos
Proceso de diseño UI/UX
Agile fundamentals - Campus Party
Conceptos Técnicos de Mobile para QA
15 errores comunes de ux en móviles (y cómo evitarlos)
JavaScript Avanzado
#PlatziConf - El camino para ser un Pro en JavaScript
UX: La experiencia de diseñar la experiencia
Diseño ui/ux en iOS
Metodologia agil para el diseño de aplicaciones multimedias moviles
UX en proyectos de diseño y desarrollo - Gestión, procesos, roles y prácticas
GeneXus Apps UI / UX Kit - Gabriel Simonet
UX no es lo mismo que UI
¿Por qué UX?
UX en 30 Minutos
Benchmarking qué es para qué sirve y cómo hacer uno
Presentacion Benchmarking
Diapositivas Benchmarking
Arquitecturas Para La Reutilización en JavaScript
Publicidad

Similar a Novedades en Arquitectura Front End // Meetup UX UI @UTN Mendoza (20)

PDF
Servidores Proxy protocolo HTTP
DOCX
PDF
Proxy & Cortafuegos
PDF
Seguridad en Aplicaciones Web y Comercio Electrónico
PPTX
ASP.NET MVC Workshop Día 3
PDF
Preguntas respuestas t10_y_11
PDF
Internet del Futuro: Internet de las Cosas, Computación en la Nube y la Web d...
PPTX
Cliente servidor
PPTX
Ajax reverse (Comet) con ASP.NET MVC - JUTI 2011
PDF
Qué es un servidor proxy
PPTX
La web, navegacion y caracteristicas
PDF
Estrategias Web para notifiaciones
PPT
Egsi Sesion2
PPTX
Estandar de red
PPTX
Temas owasp
PDF
Servidores
PDF
Servidores web o http
PDF
Hacia La Web Sincrona
PPT
1.4 tecnologiasWeb.ppt
PPSX
Introducción a la Tecnología Web
Servidores Proxy protocolo HTTP
Proxy & Cortafuegos
Seguridad en Aplicaciones Web y Comercio Electrónico
ASP.NET MVC Workshop Día 3
Preguntas respuestas t10_y_11
Internet del Futuro: Internet de las Cosas, Computación en la Nube y la Web d...
Cliente servidor
Ajax reverse (Comet) con ASP.NET MVC - JUTI 2011
Qué es un servidor proxy
La web, navegacion y caracteristicas
Estrategias Web para notifiaciones
Egsi Sesion2
Estandar de red
Temas owasp
Servidores
Servidores web o http
Hacia La Web Sincrona
1.4 tecnologiasWeb.ppt
Introducción a la Tecnología Web

Último (20)

PDF
HhhhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjHu .pdf
PPTX
MISCELANIA - constitución política 410-5.pptx
PPTX
Trastornos esquizofrenicos estudio de casos
DOCX
EL SENSOR PARA CUIDAR EL MEDIO AMBIENTE.docx
PDF
Higiene Industrial para la seguridad laboral
PDF
ekos contruccion one central park losa colaborante tuberia inoxidable
PPTX
CONSTRUCCION DE MAQUINA ESCUADRADORA ..pptx
PDF
programa-regular-abril-julio-2025-ii (1).pdf
PDF
LINEAMIENTOS EN MATERIA DE OBRAS PUBLICAS.pdf
PDF
Párchese y sobreviva al colegio.pdf, juego
PPTX
Dispensaciones la garcia, el gobierno humano, etc
DOCX
FODA COMPUTACION 2 bim- Rolando Trinidad.docx
PPTX
11avo sesion de clase de produccion de cuyes y conejos.....pptx
DOCX
RUTA DE TRABAJO III BLOQUE DE SEMANA DE GESTION DE LA IE JUAN SANTOS ATAHUALP...
PPTX
Las-Ultimas-Tendencias-Tecnologicas-en-Laboratorio-Clinico-ACTUALIZADA.pptx
PPTX
Folleto_Ecosistemas_Juveniles y ambiente .pptx
PDF
Tema 5.pdfdjdjsjsjshdbsjsjsjsjsjsjsjsjsjsjsj
PDF
PLANO IE0097 PANTRICIA ANTONIA LOPEZ.pdf
PDF
CARTELERA DEL 6 DE AGOSTO DE 2025, pozos
PDF
NORMAS APA 7 EDICIÓN PARA DOCUMENTOS UNI
HhhhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjHu .pdf
MISCELANIA - constitución política 410-5.pptx
Trastornos esquizofrenicos estudio de casos
EL SENSOR PARA CUIDAR EL MEDIO AMBIENTE.docx
Higiene Industrial para la seguridad laboral
ekos contruccion one central park losa colaborante tuberia inoxidable
CONSTRUCCION DE MAQUINA ESCUADRADORA ..pptx
programa-regular-abril-julio-2025-ii (1).pdf
LINEAMIENTOS EN MATERIA DE OBRAS PUBLICAS.pdf
Párchese y sobreviva al colegio.pdf, juego
Dispensaciones la garcia, el gobierno humano, etc
FODA COMPUTACION 2 bim- Rolando Trinidad.docx
11avo sesion de clase de produccion de cuyes y conejos.....pptx
RUTA DE TRABAJO III BLOQUE DE SEMANA DE GESTION DE LA IE JUAN SANTOS ATAHUALP...
Las-Ultimas-Tendencias-Tecnologicas-en-Laboratorio-Clinico-ACTUALIZADA.pptx
Folleto_Ecosistemas_Juveniles y ambiente .pptx
Tema 5.pdfdjdjsjsjshdbsjsjsjsjsjsjsjsjsjsjsj
PLANO IE0097 PANTRICIA ANTONIA LOPEZ.pdf
CARTELERA DEL 6 DE AGOSTO DE 2025, pozos
NORMAS APA 7 EDICIÓN PARA DOCUMENTOS UNI

Novedades en Arquitectura Front End // Meetup UX UI @UTN Mendoza

  • 2. 2 Confidential Arquitectura UI Rodrigo Sobisch Sr Front End Developer 12-10-2016
  • 3. 3 Confidential 1. HTTP 2 2. Promises 3. Service Workers Agenda
  • 4. 4 Confidential Http 2 - Soporte - Http 1.1 vs. Http 2 - Que dejar de hacer? - Que seguir haciendo?
  • 5. 5 Confidential • En Http2 se usan las mismas llamadas que en http1.1 (mismos métodos: GET, PUT, POST, PATCH y DELETE) Lo nuevo: • Soporte para multiplexado de llamadas TCP • Server push y proactividad serverside para formar cache en el cliente • RST_STREAM frame, habilidad para cancelar solicitudes • Es binario, no texto, soporta otras encriptaciones Soporte de funcionalidades
  • 10. 10 Confidential • Consiste en separar tanto los archivos estáticos como las API en diferentes servidores para aumentar la cantidad de llamadas TCP disponibles totales para la aplicación. Prácticas obsoletas • Práctica en la cual se construye una gran imagen formada por una cantidad definida de imagenes mas pequeñas (generalmente íconos y pequeños assets) y después al momento de usarlas en la aplicación se selecciona que porción de la gran imagen se desea utilizar (mediante css). • Consiste mediante el método de concatenación unir diferentes archivos en uno de mayor tamaño, lo cual reduce la cantidad de llamadas TCP hechas a los servidores y no afecta el resultado final del lado del cliente (estando bien aplicada). TCP sharding CSS Spriting Concatenación
  • 11. 11 Confidential Buenas prácticas a mantener • Minificado: Reducción del código/texto a su mínima expresión quitando todos los símbolos superfluos y reemplazando los símbolos humanamente comprensibles por equivalentes sin asociación con el negocio en cuestión. • Ofuscación agrega un nivel de complejidad alterando el código original mediante procesos de parseo y sustitución. • Compresión de los archivos mediante GZIP utilizando alguna de las dos técnicas más populares: – Configuración del servidor web para realizar tal tarea – Configuración para realizar la compresión desde el código propiamente dicha Mas recomendable la primera opción. Minificado y ofuscación Compresión
  • 12. 12 Confidential Promises - ¿Qué son? - Descripción - Estados - Métodos - .then y .catch - Ejemplos
  • 13. 13 Confidential • Es un objeto usado para realizar cómputo asíncrono. • Representa un valor que puede estar disponible ahora, en el futuro o nunca. • Javascript es de un solo hilo, lo cual a través de promesas puede aumentar considerablemente la velocidad de las aplicaciones, quitando los bloqueos característicos de llamadas síncronas. ¿Qué son las promesas?
  • 14. 14 Confidential • Es un proxy para un valor no necesariamente conocido cuando la promesa es creada. Te permite asociar manejadores para cuando este valor esté disponible o falle. Permitiendo métodos asíncronos devolver promesas en vez del valor deseado para permitir obtener ese valor en algún momento futuro. • Recibe como parámetro una función ejecutora, que recibe callbacks para manejar éxito y fracaso. • Descripción
  • 15. 15 Confidential Fulfilled (cumplida): La acción relacionada a la promesa tuvo éxito Rejected (rechazada): La acción relacionada a la promesa falló Pending (pendiente): No ha sido cumplida o rechazada aún Settled (arreglada): Ha sido cumplida o rechazada • Estados
  • 16. 16 Confidential • Promise.all(iterable) • Promise.race(iterable) • Promise.reject(reason) • Promise.resolve(value) Métodos
  • 17. 17 Confidential • Permiten realizar operaciones con los resultados de la resolución de una promesa (o cadena), dando un contexto de ejecución asíncrono a la llamada original cuando esta es cumplida (then) o rechazada (catch). Then y Catch
  • 20. 20 Confidential Service Workers - ¿Qué son? - ¿Para qué sirven? - Ciclo de vida - Performance - Ejemplos
  • 21. 21 Confidential • Un service worker es javascript que el navegador corre en segundo plano, separado de la pagina web, dando opciones a funcionalidades que no necesitan una pagina web o interacción del usuario. Hoy en día ya soportan notificaciones push y sincronizaciones asíncronas. En el futuro soportarán sincronizaciones periódicas y geofencing. • Su principal uso hoy en día es interceptar y manejar llamadas de red, incluyendo el manejo programático de una caché de respuestas. ¿Qué son?
  • 22. 22 Confidential • Sirven principalmente para mejorar la experiencia de usuarios en situaciones de baja o nula conectividad. • Utilizados como proxy de red permitiendo el control de las peticiones de red ¿Para qué sirven? Offline first apps
  • 28. 28 Confidential Gotchas y grises • Si la instalación falla, no es sencillo darse cuenta • Fetch no incluye credenciales como cookies por defecto • URL de terceros que no soporten CORS fallan por defecto • Manejo de imágenes responsivas y el tamaño de la cache
  • 31. 31 Confidential Muchas Gracias! Rodrigo Sobisch Sr Front End Developer r.sobisch@globallogic.com 261-543-6483

Notas del editor

  • #17: <número>
  • #24: <número>
  • #25: <número>
  • #26: <número>
  • #27: <número>
  • #28: <número>
  • #29: <número>