22
Perfomance Optimization Sencha Touch Speaker: Giuseppe Toto

Club degli sviluppatori : performance optimization - 2° Parte

Embed Size (px)

Citation preview

Perfomance  Optimization

Sencha Touch Speaker:  Giuseppe  Toto

Sviluppare  App  Html5  non  è  

come  sviluppare  per  il  Web

DOM:  Document  Object  Model

Perfomance  Optimization  

Manipolare  il  DOM (con  prudenza)

TEST:  hHp://jsfiddle.net/VWkS2/2/  

Manipolare  il  DOM

Dimensione  del  DOM

hHp://www.sencha.com/blog/sencha-­‐‑touch-­‐‑optimizing-­‐‑memory-­‐‑usage/  

“Il  numero  degli  elementi  presenti  in  una  pagina  ha  un  grande  effeHo  sulla  

quantità  di  memoria  utilizzata  dall’applicazione.”

Dimensione  del  DOM

La  dimensione  del  DOM

hHp://www.sencha.com/blog/sencha-­‐‑touch-­‐‑optimizing-­‐‑memory-­‐‑usage/

Abbiamo  un  gran  vantaggio  nei  dispositivi  mobile: •  Le  applicazioni  mostrano  solo  un  

soHo  insieme  delle  loro  interfacce.

DELEGARE  GLI  EVENTI

DELEGARE  GLI  EVENTI

DELEGARE  GLI  EVENTI

DELEGARE  GLI  EVENTI

WEB  WORKERS

•  I  web  workers  sono  semplici  script  che    possono  essere  eseguiti  in  thread  separati.

•  Un  grande  vantaggio  e  che  la  loro  esecuzione  non  blocca  l’interfaccia. •  Compiti  di  grande  dimensione  possono  essere  suddivisi  in  soHoinsiemi  più  

piccoli  (strategia  DIVIDE  ET  IMPERA)  sfruHando  così  anche  le  future  cpu  destinate  ad  avere  sempre  più  core.

•  Essi  sono  quasi  indipendenti  dalla  pagina  che  li  ha  generati: •  Non  hanno  accesso  al  dom  e  non  può  comunicare  direHamente  con  esso •  La  comunicazione  tra  la  pagina  e  il  worker  avviene  in  maniera  asincrona  

tramite  funzioni  di  callback..

hHp://www.w3schools.com/html/html5_webworkers.asp  

ESEMPIO •  UNA  FUNZIONE  CHE  CALCOLA  I  NUMERI  PRIMI  FINO  A  150.000  

•  hHp://localhost:10088/worker/  

•  hHp://www.sencha.com/blog/the-­‐‑making-­‐‑of-­‐‑fastbook-­‐‑an-­‐‑html5-­‐‑love-­‐‑story   •  hHp://www.senchatouchbits.com/10/performance-­‐‑optimization.html  

•  hHp://www.html5today.it/tutorial/guida-­‐‑tutorial-­‐‑completo-­‐‑sullutilizzo-­‐‑web-­‐‑workers  

•  hHp://stackoverflow.com/questions/14826954/using-­‐‑web-­‐‑workers-­‐‑with-­‐‑

sencha-­‐‑touch-­‐‑2

•  hHp://blog.korynunn.com/javascript/the-­‐‑dom-­‐‑isnt-­‐‑slow-­‐‑you-­‐‑are/

•  hHp://www.theregister.co.uk/2012/09/14/facebook_html_5_vs_native_apps/  

Spunti  e  riferimenti: