SlideShare a Scribd company logo
Submit Search
Upload
Single Page Applications
Report
Share
Diego Cardozo
Principal Performance Engineer at Oracle
Follow
•
5 likes
•
2,362 views
1
of
21
Single Page Applications
•
5 likes
•
2,362 views
Report
Share
Download Now
Download to read offline
Software
Presentación sobre Single Page Applications para una Meetup local de .NET.
Read more
Diego Cardozo
Principal Performance Engineer at Oracle
Follow
Recommended
Firewall by
Firewall
nachosport
9.4K views
•
13 slides
Programacion web by
Programacion web
Abraham Morales
2.4K views
•
13 slides
Metodologias web by
Metodologias web
Gabriel Mondragón
2.4K views
•
18 slides
Proyecto de compiladores Sentencia While con Java CUP y JFLEX by
Proyecto de compiladores Sentencia While con Java CUP y JFLEX
Ivan Luis Jimenez
2K views
•
13 slides
Gestion de procesos Android by
Gestion de procesos Android
Carlos Francisco Ojeda Ureña
7.8K views
•
9 slides
Definición y función de lenguaje java script by
Definición y función de lenguaje java script
Andres Rodriguez
529 views
•
9 slides
More Related Content
What's hot
Desarrollo basado en patrones by
Desarrollo basado en patrones
Marvin Zumbado
4.8K views
•
32 slides
Servidor web by
Servidor web
josegregoriob
54.2K views
•
30 slides
1-Unidad 1. Arquitectura de Diseño by
1-Unidad 1. Arquitectura de Diseño
Luis Fernando Aguas Bucheli
944 views
•
26 slides
Sistema distribuido by
Sistema distribuido
Bonita Vm
1.7K views
•
11 slides
Proceso de diseño by
Proceso de diseño
Juan Pablo Bustos Thames
10.9K views
•
30 slides
Sistemas operativos threads by
Sistemas operativos threads
LiNo Candelario
2.1K views
•
17 slides
What's hot
(20)
Desarrollo basado en patrones by Marvin Zumbado
Desarrollo basado en patrones
Marvin Zumbado
•
4.8K views
Servidor web by josegregoriob
Servidor web
josegregoriob
•
54.2K views
1-Unidad 1. Arquitectura de Diseño by Luis Fernando Aguas Bucheli
1-Unidad 1. Arquitectura de Diseño
Luis Fernando Aguas Bucheli
•
944 views
Sistema distribuido by Bonita Vm
Sistema distribuido
Bonita Vm
•
1.7K views
Proceso de diseño by Juan Pablo Bustos Thames
Proceso de diseño
Juan Pablo Bustos Thames
•
10.9K views
Sistemas operativos threads by LiNo Candelario
Sistemas operativos threads
LiNo Candelario
•
2.1K views
Sistemas operativos distribuidos by nathalyrivasdiaz
Sistemas operativos distribuidos
nathalyrivasdiaz
•
1.3K views
10.el diseño en el nivel de componentes by Ramiro Estigarribia Canese
10.el diseño en el nivel de componentes
Ramiro Estigarribia Canese
•
5.8K views
Pruebas de aplicaciones web by paulinaaillon
Pruebas de aplicaciones web
paulinaaillon
•
21.7K views
DEFINICION DE CALIDAD Y CALIDAD DE SOFTWARE by Lidizz Garcia Alvarado
DEFINICION DE CALIDAD Y CALIDAD DE SOFTWARE
Lidizz Garcia Alvarado
•
58.4K views
Metodologia Diseño Web by Luis Eduardo Aponte
Metodologia Diseño Web
Luis Eduardo Aponte
•
2.8K views
Routers cisco. Listas de control de acceso by Josu Orbe
Routers cisco. Listas de control de acceso
Josu Orbe
•
3.8K views
Novedades Windows Server 2016 TP5 by Ivan Martinez
Novedades Windows Server 2016 TP5
Ivan Martinez
•
1.4K views
Wsdm by victor merino sullcapuma
Wsdm
victor merino sullcapuma
•
3.4K views
Herramientas de Desarrollo de Software by Te Amo Gabriel
Herramientas de Desarrollo de Software
Te Amo Gabriel
•
8.4K views
analisis de aplicaciones web by Jose Angel Campos Alejo
analisis de aplicaciones web
Jose Angel Campos Alejo
•
5.7K views
Manejo de los procesos en los sistemas operativos by Carolina Cols
Manejo de los procesos en los sistemas operativos
Carolina Cols
•
18.7K views
Arquitectura web by Rene Guaman-Quinche
Arquitectura web
Rene Guaman-Quinche
•
234 views
Web container and Apache Tomcat by Auwal Amshi
Web container and Apache Tomcat
Auwal Amshi
•
1.5K views
Sistema operativo de red by Eduardo Fuentes Bernal
Sistema operativo de red
Eduardo Fuentes Bernal
•
11.2K views
Similar to Single Page Applications
Optimizar performance sin morir en el intento by
Optimizar performance sin morir en el intento
Diego Cardozo
386 views
•
16 slides
Puntos clave para optimizar Wordpress by Raiola Networks by
Puntos clave para optimizar Wordpress by Raiola Networks
Raiola Networks
11.5K views
•
27 slides
Code camp 2011 - Creando aplicaciones a la velocidad de la luz by
Code camp 2011 - Creando aplicaciones a la velocidad de la luz
Diego Ferreyra
291 views
•
23 slides
5-Unidad 2: Diseños de Vista-2.2 Para Web by
5-Unidad 2: Diseños de Vista-2.2 Para Web
Luis Fernando Aguas Bucheli
286 views
•
29 slides
Performance en Drupal 7 by
Performance en Drupal 7
Karim Boudjema Schombourg
3.6K views
•
37 slides
High performance Web Sites by
High performance Web Sites
openfinanceDev
806 views
•
65 slides
Similar to Single Page Applications
(20)
Optimizar performance sin morir en el intento by Diego Cardozo
Optimizar performance sin morir en el intento
Diego Cardozo
•
386 views
Puntos clave para optimizar Wordpress by Raiola Networks by Raiola Networks
Puntos clave para optimizar Wordpress by Raiola Networks
Raiola Networks
•
11.5K views
Code camp 2011 - Creando aplicaciones a la velocidad de la luz by Diego Ferreyra
Code camp 2011 - Creando aplicaciones a la velocidad de la luz
Diego Ferreyra
•
291 views
5-Unidad 2: Diseños de Vista-2.2 Para Web by Luis Fernando Aguas Bucheli
5-Unidad 2: Diseños de Vista-2.2 Para Web
Luis Fernando Aguas Bucheli
•
286 views
Performance en Drupal 7 by Karim Boudjema Schombourg
Performance en Drupal 7
Karim Boudjema Schombourg
•
3.6K views
High performance Web Sites by openfinanceDev
High performance Web Sites
openfinanceDev
•
806 views
Plataformas cliente servidor by Edsel Barbosa González
Plataformas cliente servidor
Edsel Barbosa González
•
552 views
Renderizando la web del 2020 by Adrian Alonso Vega
Renderizando la web del 2020
Adrian Alonso Vega
•
362 views
Aprendiendo GWT by Manuel Carrasco Moñino
Aprendiendo GWT
Manuel Carrasco Moñino
•
1.6K views
Programación Reactiva, Javascript Isomorfo y Meteorjs ! by ouuyeah
Programación Reactiva, Javascript Isomorfo y Meteorjs !
ouuyeah
•
5.1K views
Proyectos escalables con Drupal by Pablo Cerda
Proyectos escalables con Drupal
Pablo Cerda
•
753 views
Programacion Basica by Yoconditap
Programacion Basica
Yoconditap
•
246 views
Presentación de programacion by lajokito
Presentación de programacion
lajokito
•
231 views
Tema 6 by ELias Davila Guerrero
Tema 6
ELias Davila Guerrero
•
375 views
UDA-Desarrollo RUP. Consejos y buenas prácticas by Ander Martinez
UDA-Desarrollo RUP. Consejos y buenas prácticas
Ander Martinez
•
1.9K views
Instalacion adobe dream weaver by Luis Viteri
Instalacion adobe dream weaver
Luis Viteri
•
204 views
Rendimiento Java Script - Programador PHP by Juan Belón Pérez
Rendimiento Java Script - Programador PHP
Juan Belón Pérez
•
263 views
Responsive Web Design by Juan Morales
Responsive Web Design
Juan Morales
•
991 views
Jsf Java Server Faces by cok12v
Jsf Java Server Faces
cok12v
•
647 views
Semana 4 SPA vs MPA by Richard Eliseo Mendoza Gafaro
Semana 4 SPA vs MPA
Richard Eliseo Mendoza Gafaro
•
609 views
More from Diego Cardozo
El proximo billon de usuarios by
El proximo billon de usuarios
Diego Cardozo
143 views
•
19 slides
The next billion users by
The next billion users
Diego Cardozo
237 views
•
19 slides
Troubleshooting Ecommerce Performance by
Troubleshooting Ecommerce Performance
Diego Cardozo
174 views
•
72 slides
Cranking It Up - SuiteWorld 2017 by
Cranking It Up - SuiteWorld 2017
Diego Cardozo
149 views
•
72 slides
Speed Thrills - Suiteworld 2016 by
Speed Thrills - Suiteworld 2016
Diego Cardozo
117 views
•
43 slides
Performance in the cloud by
Performance in the cloud
Diego Cardozo
302 views
•
12 slides
More from Diego Cardozo
(15)
El proximo billon de usuarios by Diego Cardozo
El proximo billon de usuarios
Diego Cardozo
•
143 views
The next billion users by Diego Cardozo
The next billion users
Diego Cardozo
•
237 views
Troubleshooting Ecommerce Performance by Diego Cardozo
Troubleshooting Ecommerce Performance
Diego Cardozo
•
174 views
Cranking It Up - SuiteWorld 2017 by Diego Cardozo
Cranking It Up - SuiteWorld 2017
Diego Cardozo
•
149 views
Speed Thrills - Suiteworld 2016 by Diego Cardozo
Speed Thrills - Suiteworld 2016
Diego Cardozo
•
117 views
Performance in the cloud by Diego Cardozo
Performance in the cloud
Diego Cardozo
•
302 views
Cómo testear performance sin morir en el intento by Diego Cardozo
Cómo testear performance sin morir en el intento
Diego Cardozo
•
409 views
Optimize performance and not die trying by Diego Cardozo
Optimize performance and not die trying
Diego Cardozo
•
1.2K views
How to test performance and not die trying by Diego Cardozo
How to test performance and not die trying
Diego Cardozo
•
721 views
Testeando performance sin morir en el intento by Diego Cardozo
Testeando performance sin morir en el intento
Diego Cardozo
•
458 views
Organización de aplicaciones web con Backbone.js by Diego Cardozo
Organización de aplicaciones web con Backbone.js
Diego Cardozo
•
1.5K views
Structuring web applications with Backbone.js by Diego Cardozo
Structuring web applications with Backbone.js
Diego Cardozo
•
1.2K views
Component Based Software Development by Diego Cardozo
Component Based Software Development
Diego Cardozo
•
2.9K views
Desarrollo de Software Basado en Componentes by Diego Cardozo
Desarrollo de Software Basado en Componentes
Diego Cardozo
•
1.9K views
Single page applications by Diego Cardozo
Single page applications
Diego Cardozo
•
2.4K views
Recently uploaded
Virtual Box by
Virtual Box
anayandun2023
6 views
•
6 slides
trabajotecnologiatemperatura-231005005635-53760f2d.pdf by
trabajotecnologiatemperatura-231005005635-53760f2d.pdf
SamuelRamirez83524
5 views
•
2 slides
DEFINICIONES DE BLOGGUER, MOVIE MAKER Y FILMORA. .pptx by
DEFINICIONES DE BLOGGUER, MOVIE MAKER Y FILMORA. .pptx
KarenlisethGuioAlbin
6 views
•
8 slides
Operations & Data Graph by
Operations & Data Graph
Neo4j
24 views
•
25 slides
Plone 6 Themes by
Plone 6 Themes
Leonardo J. Caballero G.
7 views
•
49 slides
Kubernetes: Más Allá de la Orquestación de Contenedores by
Kubernetes: Más Allá de la Orquestación de Contenedores
OpenDireito
8 views
•
12 slides
Recently uploaded
(7)
Virtual Box by anayandun2023
Virtual Box
anayandun2023
•
6 views
trabajotecnologiatemperatura-231005005635-53760f2d.pdf by SamuelRamirez83524
trabajotecnologiatemperatura-231005005635-53760f2d.pdf
SamuelRamirez83524
•
5 views
DEFINICIONES DE BLOGGUER, MOVIE MAKER Y FILMORA. .pptx by KarenlisethGuioAlbin
DEFINICIONES DE BLOGGUER, MOVIE MAKER Y FILMORA. .pptx
KarenlisethGuioAlbin
•
6 views
Operations & Data Graph by Neo4j
Operations & Data Graph
Neo4j
•
24 views
Plone 6 Themes by Leonardo J. Caballero G.
Plone 6 Themes
Leonardo J. Caballero G.
•
7 views
Kubernetes: Más Allá de la Orquestación de Contenedores by OpenDireito
Kubernetes: Más Allá de la Orquestación de Contenedores
OpenDireito
•
8 views
Aws Community Day Guatemala Criptografia con AWS KMS by Mario IC
Aws Community Day Guatemala Criptografia con AWS KMS
Mario IC
•
25 views
Single Page Applications
1.
Single Page Applications Diego Cardozo github.com/diegocard/SPA-Presentation
2.
Temas 1. Motivación 2. Introducción 3.
Ejemplos 4. Arquitectura 5. Ventajas y desventajas 6. Herramientas 7. Demo
3.
Motivación (1) Uno de los factores principales para la experiencia de usuario es el tiempo de carga. Para mejorarlo, conocemos varias técnicas: Minimizar scripts y CSS Combinar imágenes en un único sprite Retardar la ejecución de JavaScript Manejo especial de archivos estáticos (CDN) Caché de recursos
4.
Motivación (2) Sin embargo, aún con caché el browser debe: Volver a parsear y ejecutar el código CSS y JavaScript. Descargar y parsear todo el código HTML. Aún cuando sólo haya cambiado un pequeña parte. Reconstruir el árbol DOM. Renderizar la interfaz. El usuario ve como la página se construye mientras espera.
5.
Motivación (3) En resumen, SPA surge como una respuesta a las preguntas: ¿Como podemos lograr un manejo mas eficiente? ¿Podemos cargar solamente lo nuevo o necesario? ¿Como podemos mejorar la experiencia del usuario?
6.
Introducción (1) ¿Que es una SPA? Es un nuevo enfoque para construir aplicaciones web. Todo el código se carga en la primera llamada o posteriormente de forma dinámica, sin recargar la página. La navegación se resuelve en el cliente. Las llamadas al servidor se hacen de forma asincrónica. La interfaz se construye en el cliente.
7.
Introducción (2) Que NO es una SPA Unir todas las páginas del sitio en una sola y cargarla estáticamente. Blanco o negro, existen enfoques híbridos. Una bala de plata: puede no servir para todos los casos o proyectos.
8.
Introducción (3) ¿Que puede hacer una SPA? Cambios de URL y navegación hacia atrás y adelante. Manipulación de DOM del lado del cliente. Esperar a que la vista se cargue antes de mostrarla. Almacenar páginas ya cargadas en el cliente.
9.
Ejemplos GMail Esta presentación Stashy Nogginator
10.
Arquitectura
11.
Ventajas y desventajas (1) Ventajas Interfaz mas rápida. Mantenimiento más sencillo. Distribución de carga. Comienzo del desarrollo más ágil. La interfaz es simplemente otro cliente. Se presta muy bien para testing. Perfecto para combinar con aplicaciones móviles.
12.
Ventajas y desventajas (2) Desventajas La primera carga puede ser lenta. SEO se vuelve complejo. Require JavaScript habilitado. Requiere conocimiento adicional de JavaScript. Rompe con las convenciones de analytics, ads y widgets.
13.
Ventajas y desventajas (3) Otros aspectos Trasladamos la lógica de negocio no crítica al cliente. Antes nuestro código era 90% C#/VB y 10% JS. Ahora para a ser a 50 y 50. No es una ventaja o desventaja, pero vamos a precisar un juego distinto de herramientas para mantener buenas prácticas.
14.
Herramientas (1) Desarrollo del cliente
15.
Herramientas (2) Knockout.js Knockout creado por Steve Anderson PM de ASP.NET en Microsoft. Utiliza MVVM, patrón de diseño creado por John Smith MVP en Microsoft por su trabajo en WPF. Se puede utilizar aún cuando no desarrollamos SPA. Incluído por defecto junto con los templates de MVC4.
16.
Herramientas (3) Desarrollo del servidor En MVC, nuestros controladores pasan a ser ApiControllers para definir un API RESTful. Implementamos una sola vista (layout). No vamos a utilizar Razor para renderizar las vistas. Vamos a ver un template para Visual Studio que trae un proyecto pre-configurado para SPA (Hot Towel SPA).
17.
Demo (1) Partimos del template Hot Towel SPA de John Papa Vamos a ver los principales componenetes de Durandal Ver cada componente a fondo llevaría demasiado. En el servidor recorremos el API RESTful Expone los datos de los usuarios. Agregamos una funcionalidad (sesiones). Recorremos el código del cliente. Analizamos las librerías mas importantes.
18.
Demogithub.com/diegocard/SPA-Demo
19.
Recursos learn.knockout.com singlepageappbook.com todomvc.com johnpapa.net slideshare.net/dcslides/spa-25806613
20.
Para saber más
21.
¿Preguntas?