SlideShare a Scribd company logo
1 of 16
Download to read offline
HTML5 + PhoneGap
 un esempio concreto
       Massimo Grava
       gravam@futurasi.com
Requisiti
 Unico3 Mobile è una app per i tecnici della
manutenzione impianti termici che deve essere

✔ Disponibile su Android e iOS
✔ Editing di moduli complessi
✔ Stampa in più formati (A4, rotolo 4 in.)
✔ Funzionamento offline
✔ Time-To-Market limitato (4-10 mesi)
✔ Risorse limitate (1.5 anni/uomo)
LO SVILUPPO HTML5 IN TEORIA
Architettura Unico3 Mobile
                              UI
                (HTML5, CSS3, ST2 Components)

      Business Logic       Libraries
                                               Phonegap.js
           (JS)        (Sencha Touch 2)

                            Browser        Local
AJAX calls                                Storage
                           (webview)

                          Native Code               Phonegap
                       (Java, Objective C)           plugins

                           Phone OS
                        (iOS, Android)
Le librerie di interfaccia
       Libraries
   (Sencha Touch 2)




Forniscono componenti UI
✔ elaborati, gradevoli e touch-friendly
✔ relativamente facili da programmare
✔ facilmente temizzabile
✔ aspetto e funzionamento uniforme
QUELLO CHE È STATO IN REALTÀ
Performance UI
Problema:
    le performances di rendering HTML
  non sono uguali in tutte le piattaforme.

   Performance browser Android molto
     inferiori rispetto a browser iOS.

 Problema principale fluidità scroll touch.
Le librerie UI nonostante l’ottimizzazione
      generano un html piuttosto pesante!
(diversi livelli di <div> nesting, uso funzioni CSS3 per ombre, …)


  Spesso questo mette in crisi Android,
   specialmente per form complessi.

     Le performance di scrolling talvolta sono
        ridotte sotto i limiti dell’usabilità.
Esemplare di form
complesso in cattività
Performance UI
Soluzione (nostra):
✔ Eliminare dove possibile uso di immagini di
sfondo, trasparenze, ombre e angoli arrotondati
CSS3.
✔ Riscrivere le parti più pesanti come i grandi
form in «HTML scritto a mano»

Compromesso efficace tra velocità di scrittura
e performance. CSS differenziati iOS/Android.
LocalStorage: i limiti
      LocalStorage = area di memoria persistente*
      accessibile anche offline da un sito/app web.
  Cinque megabytes basteranno a chiunque!
(in realtà non sono 5MB davvero ma la metà perché lo storage avviene in UTF e un carattere occupa 2 Bytes)


Vabbè, due mega e mezzo basteranno a chiunque!
                       oppure no? E se non bastano?
 Avevamo bisogno di memorizzare offline una
      grande quantità di dati > 2.5 MB
              (tabelle di rifermento comuni, marche, modelli, …)
LocalStorage: un trick
     Dati memorizzati in formato JSON (+ XML)
JSON (XML ancora di più) è un formato verboso
       Idea: usare tecniche di compressione


   Le CPU degli SmartPhone sono in grado di
      (de)comprimere in tempi «umani».
  Librerie di compressione in JS (deflate)

 Dati ridotti dell’85% o più.
La stampa in mobilità
Requisito: stampare moduli come questo




  con stampanti portatili come queste
La stampa in mobilità
    Stampanti non compatibili AirPrint, su Apple solo Wi-Fi
       Non è stato possibile supportare iOS

Situazione Android: manca un’infrastuttura driver
             di stampa a livello OS.

    Per      ricorso a programma di stampa
  proprietario (PrinterShare) con driver propri.

     Per      disponibile driver proprietario
   Solo supporto stampa «scontrino» e bitmap
La stampa in mobilità
            Risultato
http://www.youtube.com/watch?v=bv9OSltVL
uQ&feature=plcp
grazie per l’attenzione
        per informazioni
        gravam@futurasi.com

More Related Content

Similar to Smau milano 2012 arena social media massimo-grava

Sviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarinSviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarinFabio Cozzolino
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web DesignSimone Viani
 
GWT Development for Handheld Devices
GWT Development for Handheld DevicesGWT Development for Handheld Devices
GWT Development for Handheld DevicesGWTcon
 
Whymca - Sviluppare applicazioni mobile native in html e javascript
Whymca - Sviluppare applicazioni mobile native in html e javascriptWhymca - Sviluppare applicazioni mobile native in html e javascript
Whymca - Sviluppare applicazioni mobile native in html e javascriptFabio Franzini
 
Sviluppare plugin per google Chrome
Sviluppare plugin per google ChromeSviluppare plugin per google Chrome
Sviluppare plugin per google ChromeCodemotion
 
Sviluppare applicazioni mobile native in html e java script
Sviluppare applicazioni mobile native in html e java scriptSviluppare applicazioni mobile native in html e java script
Sviluppare applicazioni mobile native in html e java scriptFabio Franzini
 
Come sviluppare applicazioni cross device con HTML
Come sviluppare applicazioni cross device con HTMLCome sviluppare applicazioni cross device con HTML
Come sviluppare applicazioni cross device con HTMLSinergia Totale
 
Lezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPS
Lezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPSLezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPS
Lezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPSGianluigi Cogo
 
Asynchronous Java ME and XML
Asynchronous Java ME and XMLAsynchronous Java ME and XML
Asynchronous Java ME and XMLAndrea Castello
 
Club degli sviluppatori : performance optimization - 2° Parte
Club degli sviluppatori : performance optimization - 2° ParteClub degli sviluppatori : performance optimization - 2° Parte
Club degli sviluppatori : performance optimization - 2° ParteGiuseppe Toto
 
HCIM08 - Mobile Applications
HCIM08 - Mobile ApplicationsHCIM08 - Mobile Applications
HCIM08 - Mobile ApplicationsStefano Sanna
 
Ionic Cordova vs React Native
Ionic Cordova vs React NativeIonic Cordova vs React Native
Ionic Cordova vs React NativeAntonio Gallo
 
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in ActionDotNetMarche
 

Similar to Smau milano 2012 arena social media massimo-grava (20)

Android vs iOS
Android vs iOSAndroid vs iOS
Android vs iOS
 
Sviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarinSviluppo apps multipiattaforma con visual studio e xamarin
Sviluppo apps multipiattaforma con visual studio e xamarin
 
MonoTouch, un anno dopo
MonoTouch, un anno dopoMonoTouch, un anno dopo
MonoTouch, un anno dopo
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
 
GWT Development for Handheld Devices
GWT Development for Handheld DevicesGWT Development for Handheld Devices
GWT Development for Handheld Devices
 
Whymca - Sviluppare applicazioni mobile native in html e javascript
Whymca - Sviluppare applicazioni mobile native in html e javascriptWhymca - Sviluppare applicazioni mobile native in html e javascript
Whymca - Sviluppare applicazioni mobile native in html e javascript
 
Flash vs jQuery
Flash vs jQueryFlash vs jQuery
Flash vs jQuery
 
Io, Android
Io, AndroidIo, Android
Io, Android
 
Sviluppare plugin per google Chrome
Sviluppare plugin per google ChromeSviluppare plugin per google Chrome
Sviluppare plugin per google Chrome
 
cv Armando Maglio
cv Armando Magliocv Armando Maglio
cv Armando Maglio
 
Sviluppare applicazioni mobile native in html e java script
Sviluppare applicazioni mobile native in html e java scriptSviluppare applicazioni mobile native in html e java script
Sviluppare applicazioni mobile native in html e java script
 
Come sviluppare applicazioni cross device con HTML
Come sviluppare applicazioni cross device con HTMLCome sviluppare applicazioni cross device con HTML
Come sviluppare applicazioni cross device con HTML
 
Lezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPS
Lezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPSLezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPS
Lezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPS
 
Asynchronous Java ME and XML
Asynchronous Java ME and XMLAsynchronous Java ME and XML
Asynchronous Java ME and XML
 
Html5
Html5Html5
Html5
 
Club degli sviluppatori : performance optimization - 2° Parte
Club degli sviluppatori : performance optimization - 2° ParteClub degli sviluppatori : performance optimization - 2° Parte
Club degli sviluppatori : performance optimization - 2° Parte
 
HCIM08 - Mobile Applications
HCIM08 - Mobile ApplicationsHCIM08 - Mobile Applications
HCIM08 - Mobile Applications
 
Ionic Cordova vs React Native
Ionic Cordova vs React NativeIonic Cordova vs React Native
Ionic Cordova vs React Native
 
Silverlight in Action
Silverlight in ActionSilverlight in Action
Silverlight in Action
 
Xamarin
XamarinXamarin
Xamarin
 

More from SMAU

L'intelligenza artificiale per il marketing automation: come automatizzare le...
L'intelligenza artificiale per il marketing automation: come automatizzare le...L'intelligenza artificiale per il marketing automation: come automatizzare le...
L'intelligenza artificiale per il marketing automation: come automatizzare le...SMAU
 
Il supporto IA nella Lead Generation con Linkedin e Sales Navigator
Il supporto IA nella Lead Generation con Linkedin e Sales NavigatorIl supporto IA nella Lead Generation con Linkedin e Sales Navigator
Il supporto IA nella Lead Generation con Linkedin e Sales NavigatorSMAU
 
SMAU MILANO 2023 | Intrapreneurship: I dipendenti come driver dell'innovazione
SMAU MILANO 2023 | Intrapreneurship: I dipendenti come driver dell'innovazioneSMAU MILANO 2023 | Intrapreneurship: I dipendenti come driver dell'innovazione
SMAU MILANO 2023 | Intrapreneurship: I dipendenti come driver dell'innovazioneSMAU
 
SMAU MILANO 2023 | TECNOLOGIE IMMERSIVE E METAVERSO: SOLUZIONI INNOVATIVE PER...
SMAU MILANO 2023 | TECNOLOGIE IMMERSIVE E METAVERSO: SOLUZIONI INNOVATIVE PER...SMAU MILANO 2023 | TECNOLOGIE IMMERSIVE E METAVERSO: SOLUZIONI INNOVATIVE PER...
SMAU MILANO 2023 | TECNOLOGIE IMMERSIVE E METAVERSO: SOLUZIONI INNOVATIVE PER...SMAU
 
SMAU MILANO 2023 | SMAU MILANO 2023 | Le nuove frontiere dell'ESGtech
SMAU MILANO 2023 | SMAU MILANO 2023 | Le nuove frontiere dell'ESGtechSMAU MILANO 2023 | SMAU MILANO 2023 | Le nuove frontiere dell'ESGtech
SMAU MILANO 2023 | SMAU MILANO 2023 | Le nuove frontiere dell'ESGtechSMAU
 
SMAU MILANO 2023 | AI: Un Alleato Innovativo per l'Omnichannel Customer Exper...
SMAU MILANO 2023 | AI: Un Alleato Innovativo per l'Omnichannel Customer Exper...SMAU MILANO 2023 | AI: Un Alleato Innovativo per l'Omnichannel Customer Exper...
SMAU MILANO 2023 | AI: Un Alleato Innovativo per l'Omnichannel Customer Exper...SMAU
 
SMAU MILANO 2023 | 𝐃𝐢𝐠𝐢𝐭𝐚𝐥 𝐓𝐫𝐚𝐢𝐧𝐢𝐧𝐠 𝐉𝐨𝐮𝐫𝐧𝐞𝐲 La nuova frontiera della formazio...
SMAU MILANO 2023 | 𝐃𝐢𝐠𝐢𝐭𝐚𝐥 𝐓𝐫𝐚𝐢𝐧𝐢𝐧𝐠 𝐉𝐨𝐮𝐫𝐧𝐞𝐲 La nuova frontiera della formazio...SMAU MILANO 2023 | 𝐃𝐢𝐠𝐢𝐭𝐚𝐥 𝐓𝐫𝐚𝐢𝐧𝐢𝐧𝐠 𝐉𝐨𝐮𝐫𝐧𝐞𝐲 La nuova frontiera della formazio...
SMAU MILANO 2023 | 𝐃𝐢𝐠𝐢𝐭𝐚𝐥 𝐓𝐫𝐚𝐢𝐧𝐢𝐧𝐠 𝐉𝐨𝐮𝐫𝐧𝐞𝐲 La nuova frontiera della formazio...SMAU
 
SMAU MILANO 2023 | COME PROGETTARE SOLUZIONI CIRCOLARI E MODELLI DI BUSINESS ...
SMAU MILANO 2023 | COME PROGETTARE SOLUZIONI CIRCOLARI E MODELLI DI BUSINESS ...SMAU MILANO 2023 | COME PROGETTARE SOLUZIONI CIRCOLARI E MODELLI DI BUSINESS ...
SMAU MILANO 2023 | COME PROGETTARE SOLUZIONI CIRCOLARI E MODELLI DI BUSINESS ...SMAU
 
SMAU MILANO 2023 | Google Business Profile tra SEO e Social Media
SMAU MILANO 2023 | Google Business Profile tra SEO e Social MediaSMAU MILANO 2023 | Google Business Profile tra SEO e Social Media
SMAU MILANO 2023 | Google Business Profile tra SEO e Social MediaSMAU
 
SMAU MILANO 2023 | Il PM incontra la proprietà intellettuale: pianificare la ...
SMAU MILANO 2023 | Il PM incontra la proprietà intellettuale: pianificare la ...SMAU MILANO 2023 | Il PM incontra la proprietà intellettuale: pianificare la ...
SMAU MILANO 2023 | Il PM incontra la proprietà intellettuale: pianificare la ...SMAU
 
SMAU MILANO 2023 | Il neuromarketing: solo 8 secondi per catturare l’attenzio...
SMAU MILANO 2023 | Il neuromarketing: solo 8 secondi per catturare l’attenzio...SMAU MILANO 2023 | Il neuromarketing: solo 8 secondi per catturare l’attenzio...
SMAU MILANO 2023 | Il neuromarketing: solo 8 secondi per catturare l’attenzio...SMAU
 
SMAU MILANO 2023 | Collaborazioni vincenti: Come le startup possono creare pa...
SMAU MILANO 2023 | Collaborazioni vincenti: Come le startup possono creare pa...SMAU MILANO 2023 | Collaborazioni vincenti: Come le startup possono creare pa...
SMAU MILANO 2023 | Collaborazioni vincenti: Come le startup possono creare pa...SMAU
 
SMAU MILANO 2023 | Funnel Hacking: massimizzare il ROAS in 7 passaggi
SMAU MILANO 2023 | Funnel Hacking: massimizzare il ROAS in 7 passaggiSMAU MILANO 2023 | Funnel Hacking: massimizzare il ROAS in 7 passaggi
SMAU MILANO 2023 | Funnel Hacking: massimizzare il ROAS in 7 passaggiSMAU
 
SMAU MILANO 2023 | Una reputazione che ti precede: come il personal storytell...
SMAU MILANO 2023 | Una reputazione che ti precede: come il personal storytell...SMAU MILANO 2023 | Una reputazione che ti precede: come il personal storytell...
SMAU MILANO 2023 | Una reputazione che ti precede: come il personal storytell...SMAU
 
SMAU MILANO 2023 | Come scalare una produzione video: il caso “Vongola Lupino...
SMAU MILANO 2023 | Come scalare una produzione video: il caso “Vongola Lupino...SMAU MILANO 2023 | Come scalare una produzione video: il caso “Vongola Lupino...
SMAU MILANO 2023 | Come scalare una produzione video: il caso “Vongola Lupino...SMAU
 
SMAU MILANO 2023 | IA Generativa per aziende - come addestrare i modelli ling...
SMAU MILANO 2023 | IA Generativa per aziende - come addestrare i modelli ling...SMAU MILANO 2023 | IA Generativa per aziende - come addestrare i modelli ling...
SMAU MILANO 2023 | IA Generativa per aziende - come addestrare i modelli ling...SMAU
 
SMAU MILANO 2023 | L'intelligenza artificiale per davvero (facciamola sul ser...
SMAU MILANO 2023 | L'intelligenza artificiale per davvero (facciamola sul ser...SMAU MILANO 2023 | L'intelligenza artificiale per davvero (facciamola sul ser...
SMAU MILANO 2023 | L'intelligenza artificiale per davvero (facciamola sul ser...SMAU
 
SMAU MILANO 2023 | Personal Branding: come comunicare in maniera efficace la...
SMAU MILANO 2023 |  Personal Branding: come comunicare in maniera efficace la...SMAU MILANO 2023 |  Personal Branding: come comunicare in maniera efficace la...
SMAU MILANO 2023 | Personal Branding: come comunicare in maniera efficace la...SMAU
 
SMAU MILANO 2023 | What's Next? Rivoluzioni industriali, intelligenza artific...
SMAU MILANO 2023 | What's Next? Rivoluzioni industriali, intelligenza artific...SMAU MILANO 2023 | What's Next? Rivoluzioni industriali, intelligenza artific...
SMAU MILANO 2023 | What's Next? Rivoluzioni industriali, intelligenza artific...SMAU
 
SMAU MILANO 2023 | SMAU MILANO 2023 | Intelligenza Artificiale e chatbots
SMAU MILANO 2023 | SMAU MILANO 2023 | Intelligenza Artificiale e chatbotsSMAU MILANO 2023 | SMAU MILANO 2023 | Intelligenza Artificiale e chatbots
SMAU MILANO 2023 | SMAU MILANO 2023 | Intelligenza Artificiale e chatbotsSMAU
 

More from SMAU (20)

L'intelligenza artificiale per il marketing automation: come automatizzare le...
L'intelligenza artificiale per il marketing automation: come automatizzare le...L'intelligenza artificiale per il marketing automation: come automatizzare le...
L'intelligenza artificiale per il marketing automation: come automatizzare le...
 
Il supporto IA nella Lead Generation con Linkedin e Sales Navigator
Il supporto IA nella Lead Generation con Linkedin e Sales NavigatorIl supporto IA nella Lead Generation con Linkedin e Sales Navigator
Il supporto IA nella Lead Generation con Linkedin e Sales Navigator
 
SMAU MILANO 2023 | Intrapreneurship: I dipendenti come driver dell'innovazione
SMAU MILANO 2023 | Intrapreneurship: I dipendenti come driver dell'innovazioneSMAU MILANO 2023 | Intrapreneurship: I dipendenti come driver dell'innovazione
SMAU MILANO 2023 | Intrapreneurship: I dipendenti come driver dell'innovazione
 
SMAU MILANO 2023 | TECNOLOGIE IMMERSIVE E METAVERSO: SOLUZIONI INNOVATIVE PER...
SMAU MILANO 2023 | TECNOLOGIE IMMERSIVE E METAVERSO: SOLUZIONI INNOVATIVE PER...SMAU MILANO 2023 | TECNOLOGIE IMMERSIVE E METAVERSO: SOLUZIONI INNOVATIVE PER...
SMAU MILANO 2023 | TECNOLOGIE IMMERSIVE E METAVERSO: SOLUZIONI INNOVATIVE PER...
 
SMAU MILANO 2023 | SMAU MILANO 2023 | Le nuove frontiere dell'ESGtech
SMAU MILANO 2023 | SMAU MILANO 2023 | Le nuove frontiere dell'ESGtechSMAU MILANO 2023 | SMAU MILANO 2023 | Le nuove frontiere dell'ESGtech
SMAU MILANO 2023 | SMAU MILANO 2023 | Le nuove frontiere dell'ESGtech
 
SMAU MILANO 2023 | AI: Un Alleato Innovativo per l'Omnichannel Customer Exper...
SMAU MILANO 2023 | AI: Un Alleato Innovativo per l'Omnichannel Customer Exper...SMAU MILANO 2023 | AI: Un Alleato Innovativo per l'Omnichannel Customer Exper...
SMAU MILANO 2023 | AI: Un Alleato Innovativo per l'Omnichannel Customer Exper...
 
SMAU MILANO 2023 | 𝐃𝐢𝐠𝐢𝐭𝐚𝐥 𝐓𝐫𝐚𝐢𝐧𝐢𝐧𝐠 𝐉𝐨𝐮𝐫𝐧𝐞𝐲 La nuova frontiera della formazio...
SMAU MILANO 2023 | 𝐃𝐢𝐠𝐢𝐭𝐚𝐥 𝐓𝐫𝐚𝐢𝐧𝐢𝐧𝐠 𝐉𝐨𝐮𝐫𝐧𝐞𝐲 La nuova frontiera della formazio...SMAU MILANO 2023 | 𝐃𝐢𝐠𝐢𝐭𝐚𝐥 𝐓𝐫𝐚𝐢𝐧𝐢𝐧𝐠 𝐉𝐨𝐮𝐫𝐧𝐞𝐲 La nuova frontiera della formazio...
SMAU MILANO 2023 | 𝐃𝐢𝐠𝐢𝐭𝐚𝐥 𝐓𝐫𝐚𝐢𝐧𝐢𝐧𝐠 𝐉𝐨𝐮𝐫𝐧𝐞𝐲 La nuova frontiera della formazio...
 
SMAU MILANO 2023 | COME PROGETTARE SOLUZIONI CIRCOLARI E MODELLI DI BUSINESS ...
SMAU MILANO 2023 | COME PROGETTARE SOLUZIONI CIRCOLARI E MODELLI DI BUSINESS ...SMAU MILANO 2023 | COME PROGETTARE SOLUZIONI CIRCOLARI E MODELLI DI BUSINESS ...
SMAU MILANO 2023 | COME PROGETTARE SOLUZIONI CIRCOLARI E MODELLI DI BUSINESS ...
 
SMAU MILANO 2023 | Google Business Profile tra SEO e Social Media
SMAU MILANO 2023 | Google Business Profile tra SEO e Social MediaSMAU MILANO 2023 | Google Business Profile tra SEO e Social Media
SMAU MILANO 2023 | Google Business Profile tra SEO e Social Media
 
SMAU MILANO 2023 | Il PM incontra la proprietà intellettuale: pianificare la ...
SMAU MILANO 2023 | Il PM incontra la proprietà intellettuale: pianificare la ...SMAU MILANO 2023 | Il PM incontra la proprietà intellettuale: pianificare la ...
SMAU MILANO 2023 | Il PM incontra la proprietà intellettuale: pianificare la ...
 
SMAU MILANO 2023 | Il neuromarketing: solo 8 secondi per catturare l’attenzio...
SMAU MILANO 2023 | Il neuromarketing: solo 8 secondi per catturare l’attenzio...SMAU MILANO 2023 | Il neuromarketing: solo 8 secondi per catturare l’attenzio...
SMAU MILANO 2023 | Il neuromarketing: solo 8 secondi per catturare l’attenzio...
 
SMAU MILANO 2023 | Collaborazioni vincenti: Come le startup possono creare pa...
SMAU MILANO 2023 | Collaborazioni vincenti: Come le startup possono creare pa...SMAU MILANO 2023 | Collaborazioni vincenti: Come le startup possono creare pa...
SMAU MILANO 2023 | Collaborazioni vincenti: Come le startup possono creare pa...
 
SMAU MILANO 2023 | Funnel Hacking: massimizzare il ROAS in 7 passaggi
SMAU MILANO 2023 | Funnel Hacking: massimizzare il ROAS in 7 passaggiSMAU MILANO 2023 | Funnel Hacking: massimizzare il ROAS in 7 passaggi
SMAU MILANO 2023 | Funnel Hacking: massimizzare il ROAS in 7 passaggi
 
SMAU MILANO 2023 | Una reputazione che ti precede: come il personal storytell...
SMAU MILANO 2023 | Una reputazione che ti precede: come il personal storytell...SMAU MILANO 2023 | Una reputazione che ti precede: come il personal storytell...
SMAU MILANO 2023 | Una reputazione che ti precede: come il personal storytell...
 
SMAU MILANO 2023 | Come scalare una produzione video: il caso “Vongola Lupino...
SMAU MILANO 2023 | Come scalare una produzione video: il caso “Vongola Lupino...SMAU MILANO 2023 | Come scalare una produzione video: il caso “Vongola Lupino...
SMAU MILANO 2023 | Come scalare una produzione video: il caso “Vongola Lupino...
 
SMAU MILANO 2023 | IA Generativa per aziende - come addestrare i modelli ling...
SMAU MILANO 2023 | IA Generativa per aziende - come addestrare i modelli ling...SMAU MILANO 2023 | IA Generativa per aziende - come addestrare i modelli ling...
SMAU MILANO 2023 | IA Generativa per aziende - come addestrare i modelli ling...
 
SMAU MILANO 2023 | L'intelligenza artificiale per davvero (facciamola sul ser...
SMAU MILANO 2023 | L'intelligenza artificiale per davvero (facciamola sul ser...SMAU MILANO 2023 | L'intelligenza artificiale per davvero (facciamola sul ser...
SMAU MILANO 2023 | L'intelligenza artificiale per davvero (facciamola sul ser...
 
SMAU MILANO 2023 | Personal Branding: come comunicare in maniera efficace la...
SMAU MILANO 2023 |  Personal Branding: come comunicare in maniera efficace la...SMAU MILANO 2023 |  Personal Branding: come comunicare in maniera efficace la...
SMAU MILANO 2023 | Personal Branding: come comunicare in maniera efficace la...
 
SMAU MILANO 2023 | What's Next? Rivoluzioni industriali, intelligenza artific...
SMAU MILANO 2023 | What's Next? Rivoluzioni industriali, intelligenza artific...SMAU MILANO 2023 | What's Next? Rivoluzioni industriali, intelligenza artific...
SMAU MILANO 2023 | What's Next? Rivoluzioni industriali, intelligenza artific...
 
SMAU MILANO 2023 | SMAU MILANO 2023 | Intelligenza Artificiale e chatbots
SMAU MILANO 2023 | SMAU MILANO 2023 | Intelligenza Artificiale e chatbotsSMAU MILANO 2023 | SMAU MILANO 2023 | Intelligenza Artificiale e chatbots
SMAU MILANO 2023 | SMAU MILANO 2023 | Intelligenza Artificiale e chatbots
 

Smau milano 2012 arena social media massimo-grava

  • 1. HTML5 + PhoneGap un esempio concreto Massimo Grava gravam@futurasi.com
  • 2. Requisiti Unico3 Mobile è una app per i tecnici della manutenzione impianti termici che deve essere ✔ Disponibile su Android e iOS ✔ Editing di moduli complessi ✔ Stampa in più formati (A4, rotolo 4 in.) ✔ Funzionamento offline ✔ Time-To-Market limitato (4-10 mesi) ✔ Risorse limitate (1.5 anni/uomo)
  • 3. LO SVILUPPO HTML5 IN TEORIA
  • 4. Architettura Unico3 Mobile UI (HTML5, CSS3, ST2 Components) Business Logic Libraries Phonegap.js (JS) (Sencha Touch 2) Browser Local AJAX calls Storage (webview) Native Code Phonegap (Java, Objective C) plugins Phone OS (iOS, Android)
  • 5. Le librerie di interfaccia Libraries (Sencha Touch 2) Forniscono componenti UI ✔ elaborati, gradevoli e touch-friendly ✔ relativamente facili da programmare ✔ facilmente temizzabile ✔ aspetto e funzionamento uniforme
  • 6. QUELLO CHE È STATO IN REALTÀ
  • 7. Performance UI Problema: le performances di rendering HTML non sono uguali in tutte le piattaforme. Performance browser Android molto inferiori rispetto a browser iOS. Problema principale fluidità scroll touch.
  • 8. Le librerie UI nonostante l’ottimizzazione generano un html piuttosto pesante! (diversi livelli di <div> nesting, uso funzioni CSS3 per ombre, …) Spesso questo mette in crisi Android, specialmente per form complessi. Le performance di scrolling talvolta sono ridotte sotto i limiti dell’usabilità.
  • 10. Performance UI Soluzione (nostra): ✔ Eliminare dove possibile uso di immagini di sfondo, trasparenze, ombre e angoli arrotondati CSS3. ✔ Riscrivere le parti più pesanti come i grandi form in «HTML scritto a mano» Compromesso efficace tra velocità di scrittura e performance. CSS differenziati iOS/Android.
  • 11. LocalStorage: i limiti LocalStorage = area di memoria persistente* accessibile anche offline da un sito/app web. Cinque megabytes basteranno a chiunque! (in realtà non sono 5MB davvero ma la metà perché lo storage avviene in UTF e un carattere occupa 2 Bytes) Vabbè, due mega e mezzo basteranno a chiunque! oppure no? E se non bastano? Avevamo bisogno di memorizzare offline una grande quantità di dati > 2.5 MB (tabelle di rifermento comuni, marche, modelli, …)
  • 12. LocalStorage: un trick Dati memorizzati in formato JSON (+ XML) JSON (XML ancora di più) è un formato verboso Idea: usare tecniche di compressione Le CPU degli SmartPhone sono in grado di (de)comprimere in tempi «umani». Librerie di compressione in JS (deflate) Dati ridotti dell’85% o più.
  • 13. La stampa in mobilità Requisito: stampare moduli come questo con stampanti portatili come queste
  • 14. La stampa in mobilità Stampanti non compatibili AirPrint, su Apple solo Wi-Fi Non è stato possibile supportare iOS Situazione Android: manca un’infrastuttura driver di stampa a livello OS. Per ricorso a programma di stampa proprietario (PrinterShare) con driver propri. Per disponibile driver proprietario Solo supporto stampa «scontrino» e bitmap
  • 15. La stampa in mobilità Risultato http://www.youtube.com/watch?v=bv9OSltVL uQ&feature=plcp
  • 16. grazie per l’attenzione per informazioni gravam@futurasi.com