Análisis	  de	  factores	  crí1cos	  de	  desempeño	  en	  aplicaciones	  Web	  móviles	  basadas	  en	  frameworks	  MV*	...
Aplicaciones	  Web	  móviles	  •  Mobile	  Web	  en	  aumento.	  •  Los	  usuarios	  exigen	  que	  aplicaciones	  Web	  s...
Surpassed Desktop PCs & Notebooks in Q4:12, < 3 Years from IntroGlobal PC (Desktop / Notebook) and Tablet Shipments by Qua...
0%5%10%15%20%25%30%12/08 12/09 12/10 12/11 12/12 12/13 12/14%ofInternetTraffic Global Mobile Traffic as % of Total Interne...
31-­‐05-­‐13	  Performance	  en	  aplicaciones	  Web	  móviles	  basadas	  en	  frameworks	  MV*	  5	  
Lógica	  hacia	  el	  cliente	  •  Aplicación	  Web	  tradicional:	  procesamiento	  en	  backend.	  – Request	  –	  wait	...
Lógica	  hacia	  el	  cliente	  •  Problemas:	  – Librerías	  JavaScript	  para	  manejar	  interacción.	  – jQuery.	  – “...
Lógica	  hacia	  el	  cliente	  •  Paradigma	  MVC	  predominante	  •  Por	  muchos	  años	  sólo	  en	  servidor.	  •  ¿Y...
31-­‐05-­‐13	  Performance	  en	  aplicaciones	  Web	  móviles	  basadas	  en	  frameworks	  MV*	  10	  CLIENT	   SERVER	 ...
 API	  	  31-­‐05-­‐13	  Performance	  en	  aplicaciones	  Web	  móviles	  basadas	  en	  frameworks	  MV*	  11	  CLIENT	 ...
Frameworks	  MV*	  •  MV*:	  Model	  -­‐	  View	  -­‐	  *	  •  Agrupación	  de	  frameworks	  JavaScript	  que	  u1lizan	 ...
Frameworks	  MV*	  Backbone.js	  	   	  	   	  	  	  Ember.js	   	   	  	  	  	  	  	  	  AngularJS	  	  	  Y	  muchos	  m...
Frameworks	  MV*	  	  Arquitectura	  Backbone.js	  31-­‐05-­‐13	  Performance	  en	  aplicaciones	  Web	  móviles	  basada...
YAFM	  •  Yet	  Another	  Framework	  Syndrome	  •  	  Confusión	  con	  la	  gran	  can1dad	  de	  opciones	  de	  framew...
•  Proyecto	  que	  ayuda	  a	  desarrolladores	  a	  elegir	  algún	  framework	  MV*.	  •  Aplicación	  implementa	  un	...
31-­‐05-­‐13	  Performance	  en	  aplicaciones	  Web	  móviles	  basadas	  en	  frameworks	  MV*	  17	  
•  Problemas	  – No	  compara	  frameworks	  más	  que	  desde	  una	  perspec1va	  de	  facilidad	  para	  escribir	  cód...
Frameworks	  MV*	  +	  Mobile	  •  Móviles	  1enen	  limitaciones	  de	  recursos	  que	  deben	  ser	  tomadas	  en	  con...
Pregunta	  de	  Inves1gación	  ¿Cuáles	  son	  los	  factores	  crí1cos	  que	  afectan	  el	  performance	  de	  una	  ap...
Solución	  propuesta	  Más	  bien	  obje1vos	  propuestos.	  1.  	  Medir	  el	  performance	  de	  un	  subconjunto	  de	...
Solución	  propuesta	  •  Comparación	  del	  performance	  en	  subconjunto	  frameworks	  MV*	  (5),	  bajo	  el	  escen...
Consideraciones	  •  Modelo	  cualita1vo.	  •  Plan1lla	  que	  permita	  razonar	  o	  entender	  el	  performance	  de	 ...
¿Cómo	  medir?	  •  Herramienta	  Webpagetest.	  •  Obtener	  desglose	  de	  los	  dis1ntos	  requests	  asociados	  a	  ...
31-­‐05-­‐13	  Performance	  en	  aplicaciones	  Web	  móviles	  basadas	  en	  frameworks	  MV*	  25	  
¿Cómo	  medir?	  •  Permite	  u1lizar	  scripts	  para	  interactuar	  con	  la	  página.	  – Hacer	  click,	  rellenar	  ...
Metodología	  1.  Uso	  de	  TodoMVC	  para	  comparar	  dis1ntos	  frameworks.	  2.  Extracción	  y	  análisis	  de	  dat...
Limitaciones	  de	  la	  Inves1gación	  •  Principal	  limitación:	  TodoMVC.	  •  Se	  asume	  que	  código	  está	  bien...
Estado	  de	  la	  Inves1gación	  31-­‐05-­‐13	  Performance	  en	  aplicaciones	  Web	  móviles	  basadas	  en	  framewor...
Análisis	  de	  factores	  crí1cos	  de	  desempeño	  en	  aplicaciones	  Web	  móviles	  basadas	  en	  frameworks	  MV*	...
Análisis de factores críticos de desempeño en aplicaciones Web móviles basadas en frameworks MV*
Análisis de factores críticos de desempeño en aplicaciones Web móviles basadas en frameworks MV*
Upcoming SlideShare
Loading in...5
×

Análisis de factores críticos de desempeño en aplicaciones Web móviles basadas en frameworks MV*

779

Published on

Presentación de la investigación de Magister en Ciencias de la Ingeniería UC de Sebastián Vicencio, para el curso Seminario de Postgrado.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
779
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Análisis de factores críticos de desempeño en aplicaciones Web móviles basadas en frameworks MV*

  1. 1. Análisis  de  factores  crí1cos  de  desempeño  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  SEBASTIÁN  VICENCIO  sivicenc@uc.cl  Profesor  supervisor:  Jaime  Navón  Viernes  31  de  mayo  de  2013  
  2. 2. Aplicaciones  Web  móviles  •  Mobile  Web  en  aumento.  •  Los  usuarios  exigen  que  aplicaciones  Web  sean  igual  o  más  rápidas  en  disposi1vos  móviles.  •  Informe  2013  de  tendencias  en  Internet  (KPCB).  31-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  2  
  3. 3. Surpassed Desktop PCs & Notebooks in Q4:12, < 3 Years from IntroGlobal PC (Desktop / Notebook) and Tablet Shipments by QuarterQ1:95 – Q1:13Note: Notebook PCs include Netbooks.Source: Katy Huberty, Ehud Gelblum, Morgan Stanley Research. Gartner. Data as of 4/13.0102030405060Q1:95 Q1:97 Q1:99 Q1:01 Q1:03 Q1:05 Q1:07 Q1:09 Q1:11 Q1:13GlobalUnitsShipped(MMs)Desktop PCs Notebook PCs Tablets4531-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  3  Fuente:  KPCB  Mary  Meeker’s  2013  annual  Internet  Trends    
  4. 4. 0%5%10%15%20%25%30%12/08 12/09 12/10 12/11 12/12 12/13 12/14%ofInternetTraffic Global Mobile Traffic as % of Total Internet Traffic, 12/08 – 5/13(with Trendline Projection to 5/15E)0.9%in 5/092.4%in 5/1015%in 5/13Source: StatCounter Global Stats, 5/13. Note that PC-based Internet data bolstered by streaming. 326%in 5/1110%in 5/12TrendlineE E31-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  4  Fuente:  KPCB  Mary  Meeker’s  2013  annual  Internet  Trends    
  5. 5. 31-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  5  
  6. 6. Lógica  hacia  el  cliente  •  Aplicación  Web  tradicional:  procesamiento  en  backend.  – Request  –  wait  –  response  (síncrono).  •  Aparición  de  AJAX:  requests  en  background  – Un  flujo  con1nuo  de  la  aplicación  (asíncrono).  – Single-­‐page  applica1on.  31-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  6  
  7. 7. Lógica  hacia  el  cliente  •  Problemas:  – Librerías  JavaScript  para  manejar  interacción.  – jQuery.  – “Spaghe5  code”  31-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  8  
  8. 8. Lógica  hacia  el  cliente  •  Paradigma  MVC  predominante  •  Por  muchos  años  sólo  en  servidor.  •  ¿Y  si  se  usa  en  cliente?  Paradigma  es  el  mismo.  – Lenguaje  JavaScript  31-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  9  
  9. 9. 31-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  10  CLIENT   SERVER  HTTP  Request  HTTP  Response  Controller  Model   View  Fuente:  Elaboración  propia  
  10. 10.  API    31-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  11  CLIENT   SERVER  HTTP  Request  HTTP  Response  Controller  Model   View  JavaScript  Fuente:  Elaboración  propia  
  11. 11. Frameworks  MV*  •  MV*:  Model  -­‐  View  -­‐  *  •  Agrupación  de  frameworks  JavaScript  que  u1lizan  dis1ntos  paradigmas.  – MVC,  MVVM,  MVP,  entre  otros.  •   Solución  al  problema  de  “spaghe5  code”.  •  Organización  y  estructura.  31-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  12  
  12. 12. Frameworks  MV*  Backbone.js              Ember.js                  AngularJS      Y  muchos  más…  31-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  13  
  13. 13. Frameworks  MV*    Arquitectura  Backbone.js  31-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  14  Fuente:  Developing  Backbone.js  Applica1ons  Book  by  Addy  Osmani  
  14. 14. YAFM  •  Yet  Another  Framework  Syndrome  •   Confusión  con  la  gran  can1dad  de  opciones  de  frameworks  MV*.  •  ¿Cuál  es  el  mejor?  31-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  15  
  15. 15. •  Proyecto  que  ayuda  a  desarrolladores  a  elegir  algún  framework  MV*.  •  Aplicación  implementa  un  To-­‐do  list.  –  Tareas  pendientes  y  completadas.  •  Es  la  misma  aplicación  escrita  con  una  gran  variedad  de  frameworks  MV*.  31-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  16  
  16. 16. 31-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  17  
  17. 17. •  Problemas  – No  compara  frameworks  más  que  desde  una  perspec1va  de  facilidad  para  escribir  código.  – Decisión  del  desarrollador  termina  siendo  simplemente  por  gusto  personal.  31-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  18  
  18. 18. Frameworks  MV*  +  Mobile  •  Móviles  1enen  limitaciones  de  recursos  que  deben  ser  tomadas  en  consideración.  •  Frameworks  MV*  realizan  gran  carga  de  JavaScript  al  iniciar  la  aplicación.  •  ¿Afectará  el  performance?  31-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  19  
  19. 19. Pregunta  de  Inves1gación  ¿Cuáles  son  los  factores  crí1cos  que  afectan  el  performance  de  una  aplicación  Web  móvil  construida  con  alguno  de  los  frameworks  MV*?  31-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  20  
  20. 20. Solución  propuesta  Más  bien  obje1vos  propuestos.  1.   Medir  el  performance  de  un  subconjunto  de  frameworks  MV*.  2.   Modelo  que  permita  predecir  el  performance  de  una  aplicación  hecha  con  algún  framework  MV*.  3.  Generar  recomendaciones  para  el  desarrollo  de  aplicaciones  web  móviles  con  frameworks  MV*.  31-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  21  
  21. 21. Solución  propuesta  •  Comparación  del  performance  en  subconjunto  frameworks  MV*  (5),  bajo  el  escenario  móvil.  •  No  reinventar  la  rueda:  uso  de  TodoMVC  para  realizar  una  primera  comparación.  •  Otro  subconjunto  de  frameworks  MV*  para  validación  del  modelo.  31-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  22  
  22. 22. Consideraciones  •  Modelo  cualita1vo.  •  Plan1lla  que  permita  razonar  o  entender  el  performance  de  algún  framework  MV*.  31-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  23  
  23. 23. ¿Cómo  medir?  •  Herramienta  Webpagetest.  •  Obtener  desglose  de  los  dis1ntos  requests  asociados  a  una  URL,  con  sus  respec1vos  1empos  de  carga  y  de  render.  •  Permite  seleccionar  browser  y  ubicación  del  test.  31-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  24  
  24. 24. 31-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  25  
  25. 25. ¿Cómo  medir?  •  Permite  u1lizar  scripts  para  interactuar  con  la  página.  – Hacer  click,  rellenar  formularios,  ingresar  URL,  etc.  •  Provee  una  API  para  realizar  tests.  – Análisis  de  los  datos  más  flexible  y  conveniente.  31-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  26  
  26. 26. Metodología  1.  Uso  de  TodoMVC  para  comparar  dis1ntos  frameworks.  2.  Extracción  y  análisis  de  datos  de  TodoMVC  (detectar  algún  patrón  o  comportamiento).  3.  Modelo  preliminar  en  base  a  esto.  4.  Extracción  y  análisis  de  datos  de  aplicaciones  populares  que  u1licen  estos  frameworks.  5.  Refinación  del  modelo.  6.  Recomendaciones  para  desarrollo  de  aplicaciones  Web  con  frameworks  MV*.    31-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  27  
  27. 27. Limitaciones  de  la  Inves1gación  •  Principal  limitación:  TodoMVC.  •  Se  asume  que  código  está  bien  escrito.  •   Sesgo  hacia  un  framework  en  par1cular.  •  Aplicación  ar1ficial  con  poca  funcionalidad.  31-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  28  
  28. 28. Estado  de  la  Inves1gación  31-­‐05-­‐13  Performance  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  29  1.               Uso  de  TodoMVC  para  comparar  dis1ntos  frameworks.  2.               Extracción  y  análisis  de  datos  de  TodoMVC  (detectar  algún  patrón  o  comportamiento).  3.               Modelo  preliminar  en  base  a  esto.  4.               Extracción  y  análisis  de  datos  de  aplicaciones  populares  que  u1licen  estos  frameworks.  5.               Refinación  del  modelo.  6.               Recomendaciones  para  desarrollo  de  aplicaciones  Web  con  frameworks  MV*.    
  29. 29. Análisis  de  factores  crí1cos  de  desempeño  en  aplicaciones  Web  móviles  basadas  en  frameworks  MV*  SEBASTIÁN  VICENCIO  sivicenc@uc.cl  Profesor  supervisor:  Jaime  Navón  Viernes  31  de  mayo  de  2013  

×