SlideShare a Scribd company logo
1 of 28
Download to read offline
Crossdev sdk/tools:
        devil's deception


Luciano Colosio - @unlucio
(Save The Mom)
Ciao! :)
Ho  32  anni

vengo  da  Brescia

So2ware  Architect  e  Dev  
@  Save  The  Mom

Adoro  il  mobile  internet  fin  dal  WAP

In  internet  sono:  unlucio
Gli Smartphones
              Giugno  2002

              Primo  device  Symbian

              Promessa:  cellulare  +  palmare
              un  unico  device  da  tenere  in  tasca

              Supporto  app  terze  parJ

              Web  +  email

Nokia  7650
3
Gli Smartphones




4
Arriva l’iPhone
            Gennaio  2007
            Finalmente  spariscono
            tasJere  e  pennini
            Cellulare  +  iPod  +  Internet
            Internet  QUELLO  VERO!
            Primo  mobile  browser
            degno  di  tale  nome
            Primo  client  email  mobile
            degno  di  tale  nome
5
Ma non le app!

Non  ha  SDK  naJvo!


Nel  bel  mezzo  del  web  2.0


Cavalca  la  rivoluzione  delle  webapp!




      6
l’iPhone: reazioni

"There's no chance that the iPhone is going to get any
significant market share. No chance,"


“$500… fully-subsidized with a plan… I say that is the
most expensive phone in the world… and it doesn’t
appeal business customer because it doesn’t have a
keyboard,”

                                             -­‐  Steve  Ballmer  -­‐

    7
l’iPhone: conseguenze

Operator  lock
Jail  break
Toolchain
App  installer  /  Cydia
Successo  delle  app  non  ufficiali



     8
Appstore
    6  marzo  2008:  rilascio  primo  SDK  beta


                   Nuova  opportunita’  di  business
                   (apprentemente  semplice)

                   E’  piu’  facile  avere  l’icona  del  porprio  
                   prodogo  sulla  springboard!



9
Ed e’ frenesia da App




                 Tui  vogliono  un’app
        Tui  i  dev  voglino  costruire  un’app
      Tui  i  concorrenJ  alla  rincorsa  di  iPhone  
10
         corrono  a  costruirsi  un  appstore
Sono un web developer

Nel  mio  coltellino  ci  sono:
html,  css,  javascript  e  linguaggi  di  scripJng  per  il  server  side
non:  Objc,  Xcode,  Java,  Eclipse,  Qt,  ecc,  ecc,  ecc...




     11
Le scelte...
          Scelgo  una  piagaforma,  e  mi  imparo  
          il  relaJvo  framework  ed  un  nuovo  
          linguaggio

          O  cerco  un  “mezzuccio”  per  riciclare  
          le  mie  skills,  in  un  echo  sistema  che  
          non  e’  propriamente  il  mio?



App  naJva  !=  Web  App
   12
Cosa trovo in giro




13
Pro...
Piu’  immediaJ  dei  naJvi
Semplici  per  i  web  developer  (forse)
Si  raggiungono  facilmente  risultaJ  soddisfacenJ
Plugins
Possibile  contenimento  dei  cosJ
Ok  se  il  progego  non  e’  troppo  complesso
o  richiede  features  parJcolari


     14
... Contro
L’overhead  si  impenna

non  sono  comunque  a  casa

difficile  debuggare  e  profilare

features  specifiche  mancanJ

Plugins

Gli  inganni  dei  vendors  ed  il  lockin

Il  rate  di  update  delle  app  puo’  essere  un  problema!
     15
Il problema: La UI
Write  once  run  everywhere  non  esiste

La  user  experince  varia  molto  da  OS  ad  OS

Se  ci  va  bene  riempiamo  il  codice  di  if  
condizianJ  alla  piagaforma

e  se  va  peggio  ci  troviamo  a  smazzarci  la  
famosa  polverizzazione  di  android...


      16
Il worst case
        “Anything that can go wrong, will go wrong”
                                                        -­‐  With  love,  Murphy  -­‐




Se  il  mio  progego  e’  piu’  di  un’app  usa-­‐e-­‐gega,  nella  sua  
evoluzione  si  arrivera’  al  punto  in  cui  la  soluzione  
intrapresa  non  sara’  piu’  gesJbile.



                 Doppia  faJca  e  doppio  tugo
   17
Bug che vanno e vengono
Tra  sviluppatore  ed  il  sistema  “targeizzato”  c’e’  una  
terza  parte  a  cui  si  deve,  per  forza  di  cose,  sogostare.


Piu’  layers,  piu’  codice,    piu’  posJ  in  cui  qualcosa  puo’  
andare  storto


Una  cosa  funziona  da  una  parte,  ma  non  dall’altra.  
Nuova  release  e  magari  i  ruoli  si  invertono...

       18
workaround...
Trovi  un  bug,  magari  solo  in  un  caso  molto  specifico


Scrivi  un  workaround


La  release  successiva  risolve  il  bug


Se  hai  fago  il  workaround  hai  perso  del  tempo,  ma  
agendere  che  lo  fixino  loro  puo’  essere  anche  peggio


     19
Nuovi OS, features e
             compatibilita’
All’annuncio  di  una  nuova  versione  di  un  OS  e  
relaJvo  SDK,  se  si  e’  legaJ  ad  un  tool  di  mezzo  si  e’  
automaJcamente  esclusi  dalla  nuova  versione  fino  
a  che  la  terza  parte  non  provvede.


L’os  viene  comunque  rilasciato  ma  tu  non  saprai  
mai  se  riuscirai  a  rendere  la  tua  app  compaJbile  in  
tempo  e  a  quale  prezzo.

     20
Codice in crescita
Il  codice  quindi  tende  a  crescere  e  ramificarsi


L’effort  per  la  gesJone  dei  vari  degagli  di  interfaccia  
puo’  superare  facilmente  il  vantaggio  dato  dal  poter  
mantenere  il  core  comune


Ammesso  che  ce  la  si  faccia.


      21
Se diventa un mostro...


E’  facile  rischiare  d’avventurarsi  in  barocche  architegure  che  
cercano  di  gesJre  il  piu’  possibile  le  parJcolarita’.
Il  nostro  codice  sembra  sempre  piu’  un  Idra  molto  incavolato!




      22
Torniamo nel browser!
Ma  non  eravamo  web  developers?

“Giravamo”  su  linux,  osx  e  windows!

Capita  poi,  che  alla  fine  i  browser  ci  diano  gia’  un  supporto  ad  
un  set  comune  di  tecnologie  su  piagaforme  diverse!

Non  e’  cio’  che  abbiamo  sempre  fago?

Si  dice  che  HTML5  non  sia  maturo,  ma  non  e’  quello  
che  molJ  framework  ci  fanno  usare?
       23
opzioni ibride
Scheletro  naJvo  fago  ad-­‐hoc
contenuto  in  html5
non  piu’  un  probelma  di  performace
let  tecnologie  web  conJnuano  a  maturare
Linkedin,  come  facebook,  google,  e  la  stessa  apple  
hanno  app  ibride  che  caricano  contenuJ  web!
Facile  liberarsi  dallo  scheletro  e  tornare  nel  browser

     24
60% dei casi non pareggia!




 25

      fonte:  hgp://app-­‐promo.com/wake-­‐up-­‐call-­‐infographic/
Quindi
Valutare  bene  il  prodogo  in  termini  di  complessita’  ed  esigenze


Serve  davvero  un’app?


Webapps  con  interfaccia  da  webapp


Se  proprio  vogliamo  targeizzare  una  determinata  piagaforma:  
andiamo  naJvi,  la  UX  ne  giovera’.
      26
grazie  per  l’agenzione




      trollatemi  su  twiger
27
            @unlucio
Un po’ di spam! :)




     hgp://nodejsconf.it
hgp://www.webdebs.org/
28

More Related Content

Similar to Crossdev sdk/tools: devil's deception - Luciano Colosio

Programmatore_hobbysta.pdf
Programmatore_hobbysta.pdfProgrammatore_hobbysta.pdf
Programmatore_hobbysta.pdfJacopo Grimoldi
 
Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5Gabriele Gaggi
 
Open source un'opportunità di business
Open source un'opportunità di businessOpen source un'opportunità di business
Open source un'opportunità di businessRoberto Falla
 
Mr.Robot - How To Make a Robot !
Mr.Robot - How To Make a Robot !Mr.Robot - How To Make a Robot !
Mr.Robot - How To Make a Robot !Gianfranco Pulitano
 
Android, panoramica e sviluppo
Android, panoramica e sviluppoAndroid, panoramica e sviluppo
Android, panoramica e sviluppoLorenzo Braghetto
 
Android Mobile Apps , visione d'insieme
Android Mobile Apps , visione d'insiemeAndroid Mobile Apps , visione d'insieme
Android Mobile Apps , visione d'insiemeFrancesco De Simone
 
Applicazioni mobili: strumenti, costi soluzioni e peformance
Applicazioni mobili: strumenti, costi soluzioni e peformanceApplicazioni mobili: strumenti, costi soluzioni e peformance
Applicazioni mobili: strumenti, costi soluzioni e peformanceDiego La Monica
 
Programmiamo iPhone e iPad (e non solo!) con MonoTouch
Programmiamo iPhone e iPad (e non solo!) con MonoTouchProgrammiamo iPhone e iPad (e non solo!) con MonoTouch
Programmiamo iPhone e iPad (e non solo!) con MonoTouchStefano Ottaviani
 
Mobile - Quali approcci?
Mobile - Quali approcci?Mobile - Quali approcci?
Mobile - Quali approcci?Gaspare Novara
 
Sviluppo Mobile , quali approcci?
Sviluppo Mobile , quali approcci?Sviluppo Mobile , quali approcci?
Sviluppo Mobile , quali approcci?lostrettodigitale
 
Presentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successoPresentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successoDiego La Monica
 
Sviluppo di applicazioni mobile con PhoneGap
Sviluppo di applicazioni mobile con PhoneGapSviluppo di applicazioni mobile con PhoneGap
Sviluppo di applicazioni mobile con PhoneGapDotNetMarche
 
Mobile platforms development overview
Mobile platforms development overviewMobile platforms development overview
Mobile platforms development overviewAlfredo Morresi
 
Define & design apps for success
Define & design apps for successDefine & design apps for success
Define & design apps for successAcrmnet s.r.l.
 
Quando il software si fa amare
Quando il software si fa amareQuando il software si fa amare
Quando il software si fa amareBetter Software
 
Cordova: un viaggio di sola andata
Cordova: un viaggio di sola andataCordova: un viaggio di sola andata
Cordova: un viaggio di sola andataDiego La Monica
 

Similar to Crossdev sdk/tools: devil's deception - Luciano Colosio (20)

Programmatore_hobbysta.pdf
Programmatore_hobbysta.pdfProgrammatore_hobbysta.pdf
Programmatore_hobbysta.pdf
 
Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5Sviluppo di App cross-platform con Cordova e HTML5
Sviluppo di App cross-platform con Cordova e HTML5
 
Open source un'opportunità di business
Open source un'opportunità di businessOpen source un'opportunità di business
Open source un'opportunità di business
 
Android Workshop
Android WorkshopAndroid Workshop
Android Workshop
 
Mr.Robot - How To Make a Robot !
Mr.Robot - How To Make a Robot !Mr.Robot - How To Make a Robot !
Mr.Robot - How To Make a Robot !
 
Android, panoramica e sviluppo
Android, panoramica e sviluppoAndroid, panoramica e sviluppo
Android, panoramica e sviluppo
 
MonoTouch, un anno dopo
MonoTouch, un anno dopoMonoTouch, un anno dopo
MonoTouch, un anno dopo
 
Android Mobile Apps , visione d'insieme
Android Mobile Apps , visione d'insiemeAndroid Mobile Apps , visione d'insieme
Android Mobile Apps , visione d'insieme
 
Applicazioni mobili: strumenti, costi soluzioni e peformance
Applicazioni mobili: strumenti, costi soluzioni e peformanceApplicazioni mobili: strumenti, costi soluzioni e peformance
Applicazioni mobili: strumenti, costi soluzioni e peformance
 
Programmiamo iPhone e iPad (e non solo!) con MonoTouch
Programmiamo iPhone e iPad (e non solo!) con MonoTouchProgrammiamo iPhone e iPad (e non solo!) con MonoTouch
Programmiamo iPhone e iPad (e non solo!) con MonoTouch
 
Mobile - Quali approcci?
Mobile - Quali approcci?Mobile - Quali approcci?
Mobile - Quali approcci?
 
Sviluppo Mobile , quali approcci?
Sviluppo Mobile , quali approcci?Sviluppo Mobile , quali approcci?
Sviluppo Mobile , quali approcci?
 
Presentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successoPresentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successo
 
Corso Java - Introduzione
Corso Java - IntroduzioneCorso Java - Introduzione
Corso Java - Introduzione
 
Sviluppo di applicazioni mobile con PhoneGap
Sviluppo di applicazioni mobile con PhoneGapSviluppo di applicazioni mobile con PhoneGap
Sviluppo di applicazioni mobile con PhoneGap
 
Mobile platforms development overview
Mobile platforms development overviewMobile platforms development overview
Mobile platforms development overview
 
Define & design apps for success
Define & design apps for successDefine & design apps for success
Define & design apps for success
 
Quando il software si fa amare
Quando il software si fa amareQuando il software si fa amare
Quando il software si fa amare
 
Io, Android
Io, AndroidIo, Android
Io, Android
 
Cordova: un viaggio di sola andata
Cordova: un viaggio di sola andataCordova: un viaggio di sola andata
Cordova: un viaggio di sola andata
 

More from Whymca

Dalla natura morta allo spime. Riflessioni sparse su futuring, cose e interfacce
Dalla natura morta allo spime. Riflessioni sparse su futuring, cose e interfacceDalla natura morta allo spime. Riflessioni sparse su futuring, cose e interfacce
Dalla natura morta allo spime. Riflessioni sparse su futuring, cose e interfacceWhymca
 
Tutto quello che volete sapere sullo sviluppo per Windows 8 e Windows Phone!
Tutto quello che volete sapere sullo sviluppo per Windows 8 e Windows Phone!Tutto quello che volete sapere sullo sviluppo per Windows 8 e Windows Phone!
Tutto quello che volete sapere sullo sviluppo per Windows 8 e Windows Phone!Whymca
 
Internet of Things con .Net Micro Framework: un mondo di device interconnessi
Internet of Things con .Net Micro Framework: un mondo di device interconnessiInternet of Things con .Net Micro Framework: un mondo di device interconnessi
Internet of Things con .Net Micro Framework: un mondo di device interconnessiWhymca
 
Windows phone 7 deep dive again and more - roberto freato WhyMCA 2012
Windows phone 7 deep dive again and more - roberto freato WhyMCA 2012Windows phone 7 deep dive again and more - roberto freato WhyMCA 2012
Windows phone 7 deep dive again and more - roberto freato WhyMCA 2012Whymca
 
Wanna go mobile game 3.0 - Andrea trento - WhyMCA
Wanna go mobile game 3.0 - Andrea trento - WhyMCAWanna go mobile game 3.0 - Andrea trento - WhyMCA
Wanna go mobile game 3.0 - Andrea trento - WhyMCAWhymca
 
Dal web a Windows 8: costruire app Metro immersiv - Daniele Bochiccio - whyMCA
Dal web a Windows 8: costruire app Metro immersiv - Daniele Bochiccio - whyMCADal web a Windows 8: costruire app Metro immersiv - Daniele Bochiccio - whyMCA
Dal web a Windows 8: costruire app Metro immersiv - Daniele Bochiccio - whyMCAWhymca
 
Physical computing: tutto intorno a te - Andrea Maietta, Paolo Aliverti
Physical computing: tutto intorno a te - Andrea Maietta, Paolo AlivertiPhysical computing: tutto intorno a te - Andrea Maietta, Paolo Aliverti
Physical computing: tutto intorno a te - Andrea Maietta, Paolo AlivertiWhymca
 
SCONTRO TRA UI -AKA- COSA DOVREMMO IMPARARE DA IOS, ANDROID E WP7
SCONTRO TRA UI -AKA- COSA DOVREMMO IMPARARE DA IOS, ANDROID E WP7SCONTRO TRA UI -AKA- COSA DOVREMMO IMPARARE DA IOS, ANDROID E WP7
SCONTRO TRA UI -AKA- COSA DOVREMMO IMPARARE DA IOS, ANDROID E WP7Whymca
 
Gestire i pdf con IOS - Maurizio Moriconi - WhyMCA
Gestire i pdf con IOS - Maurizio Moriconi - WhyMCAGestire i pdf con IOS - Maurizio Moriconi - WhyMCA
Gestire i pdf con IOS - Maurizio Moriconi - WhyMCAWhymca
 
Beginning icloud development - Cesare Rocchi - WhyMCA
Beginning icloud development - Cesare Rocchi - WhyMCABeginning icloud development - Cesare Rocchi - WhyMCA
Beginning icloud development - Cesare Rocchi - WhyMCAWhymca
 
BEST PRACTICES PER LA SCRITTURA DI APPLICAZIONI TITANIUM APPCELERATOR - Aless...
BEST PRACTICES PER LA SCRITTURA DI APPLICAZIONI TITANIUM APPCELERATOR - Aless...BEST PRACTICES PER LA SCRITTURA DI APPLICAZIONI TITANIUM APPCELERATOR - Aless...
BEST PRACTICES PER LA SCRITTURA DI APPLICAZIONI TITANIUM APPCELERATOR - Aless...Whymca
 
Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Whymca
 
Android - ishan fernando - android nfc presentation
Android - ishan fernando - android nfc presentationAndroid - ishan fernando - android nfc presentation
Android - ishan fernando - android nfc presentationWhymca
 
whymca Andrea Piovani Layar: la nuova frontiera della realtà aumentata
whymca Andrea Piovani Layar: la nuova frontiera della realtà aumentatawhymca Andrea Piovani Layar: la nuova frontiera della realtà aumentata
whymca Andrea Piovani Layar: la nuova frontiera della realtà aumentataWhymca
 
Whymca Riccardo Bosio Servizi Mobile e Applicazioni: la rivoluzione in atto
Whymca Riccardo Bosio Servizi Mobile e Applicazioni: la rivoluzione in atto Whymca Riccardo Bosio Servizi Mobile e Applicazioni: la rivoluzione in atto
Whymca Riccardo Bosio Servizi Mobile e Applicazioni: la rivoluzione in atto Whymca
 
Whymca Filippo Renga Mobile Revolution Quali opportunità dalle applicazioni?
Whymca Filippo Renga Mobile Revolution Quali opportunità dalle applicazioni?Whymca Filippo Renga Mobile Revolution Quali opportunità dalle applicazioni?
Whymca Filippo Renga Mobile Revolution Quali opportunità dalle applicazioni?Whymca
 
Whymca Vodafone Apps
Whymca Vodafone AppsWhymca Vodafone Apps
Whymca Vodafone AppsWhymca
 
Whymca Peoplesound
Whymca PeoplesoundWhymca Peoplesound
Whymca PeoplesoundWhymca
 
Whymca Mobyt Strumenti Open Source Per Infrastrutture Dimobile Messaging
Whymca Mobyt Strumenti Open Source Per Infrastrutture Dimobile MessagingWhymca Mobyt Strumenti Open Source Per Infrastrutture Dimobile Messaging
Whymca Mobyt Strumenti Open Source Per Infrastrutture Dimobile MessagingWhymca
 
Whymca Italo Vignoli Demografia Dei Social Media
Whymca Italo Vignoli Demografia Dei Social MediaWhymca Italo Vignoli Demografia Dei Social Media
Whymca Italo Vignoli Demografia Dei Social MediaWhymca
 

More from Whymca (20)

Dalla natura morta allo spime. Riflessioni sparse su futuring, cose e interfacce
Dalla natura morta allo spime. Riflessioni sparse su futuring, cose e interfacceDalla natura morta allo spime. Riflessioni sparse su futuring, cose e interfacce
Dalla natura morta allo spime. Riflessioni sparse su futuring, cose e interfacce
 
Tutto quello che volete sapere sullo sviluppo per Windows 8 e Windows Phone!
Tutto quello che volete sapere sullo sviluppo per Windows 8 e Windows Phone!Tutto quello che volete sapere sullo sviluppo per Windows 8 e Windows Phone!
Tutto quello che volete sapere sullo sviluppo per Windows 8 e Windows Phone!
 
Internet of Things con .Net Micro Framework: un mondo di device interconnessi
Internet of Things con .Net Micro Framework: un mondo di device interconnessiInternet of Things con .Net Micro Framework: un mondo di device interconnessi
Internet of Things con .Net Micro Framework: un mondo di device interconnessi
 
Windows phone 7 deep dive again and more - roberto freato WhyMCA 2012
Windows phone 7 deep dive again and more - roberto freato WhyMCA 2012Windows phone 7 deep dive again and more - roberto freato WhyMCA 2012
Windows phone 7 deep dive again and more - roberto freato WhyMCA 2012
 
Wanna go mobile game 3.0 - Andrea trento - WhyMCA
Wanna go mobile game 3.0 - Andrea trento - WhyMCAWanna go mobile game 3.0 - Andrea trento - WhyMCA
Wanna go mobile game 3.0 - Andrea trento - WhyMCA
 
Dal web a Windows 8: costruire app Metro immersiv - Daniele Bochiccio - whyMCA
Dal web a Windows 8: costruire app Metro immersiv - Daniele Bochiccio - whyMCADal web a Windows 8: costruire app Metro immersiv - Daniele Bochiccio - whyMCA
Dal web a Windows 8: costruire app Metro immersiv - Daniele Bochiccio - whyMCA
 
Physical computing: tutto intorno a te - Andrea Maietta, Paolo Aliverti
Physical computing: tutto intorno a te - Andrea Maietta, Paolo AlivertiPhysical computing: tutto intorno a te - Andrea Maietta, Paolo Aliverti
Physical computing: tutto intorno a te - Andrea Maietta, Paolo Aliverti
 
SCONTRO TRA UI -AKA- COSA DOVREMMO IMPARARE DA IOS, ANDROID E WP7
SCONTRO TRA UI -AKA- COSA DOVREMMO IMPARARE DA IOS, ANDROID E WP7SCONTRO TRA UI -AKA- COSA DOVREMMO IMPARARE DA IOS, ANDROID E WP7
SCONTRO TRA UI -AKA- COSA DOVREMMO IMPARARE DA IOS, ANDROID E WP7
 
Gestire i pdf con IOS - Maurizio Moriconi - WhyMCA
Gestire i pdf con IOS - Maurizio Moriconi - WhyMCAGestire i pdf con IOS - Maurizio Moriconi - WhyMCA
Gestire i pdf con IOS - Maurizio Moriconi - WhyMCA
 
Beginning icloud development - Cesare Rocchi - WhyMCA
Beginning icloud development - Cesare Rocchi - WhyMCABeginning icloud development - Cesare Rocchi - WhyMCA
Beginning icloud development - Cesare Rocchi - WhyMCA
 
BEST PRACTICES PER LA SCRITTURA DI APPLICAZIONI TITANIUM APPCELERATOR - Aless...
BEST PRACTICES PER LA SCRITTURA DI APPLICAZIONI TITANIUM APPCELERATOR - Aless...BEST PRACTICES PER LA SCRITTURA DI APPLICAZIONI TITANIUM APPCELERATOR - Aless...
BEST PRACTICES PER LA SCRITTURA DI APPLICAZIONI TITANIUM APPCELERATOR - Aless...
 
Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini Sviluppo di servizi REST per Android - Luca Masini
Sviluppo di servizi REST per Android - Luca Masini
 
Android - ishan fernando - android nfc presentation
Android - ishan fernando - android nfc presentationAndroid - ishan fernando - android nfc presentation
Android - ishan fernando - android nfc presentation
 
whymca Andrea Piovani Layar: la nuova frontiera della realtà aumentata
whymca Andrea Piovani Layar: la nuova frontiera della realtà aumentatawhymca Andrea Piovani Layar: la nuova frontiera della realtà aumentata
whymca Andrea Piovani Layar: la nuova frontiera della realtà aumentata
 
Whymca Riccardo Bosio Servizi Mobile e Applicazioni: la rivoluzione in atto
Whymca Riccardo Bosio Servizi Mobile e Applicazioni: la rivoluzione in atto Whymca Riccardo Bosio Servizi Mobile e Applicazioni: la rivoluzione in atto
Whymca Riccardo Bosio Servizi Mobile e Applicazioni: la rivoluzione in atto
 
Whymca Filippo Renga Mobile Revolution Quali opportunità dalle applicazioni?
Whymca Filippo Renga Mobile Revolution Quali opportunità dalle applicazioni?Whymca Filippo Renga Mobile Revolution Quali opportunità dalle applicazioni?
Whymca Filippo Renga Mobile Revolution Quali opportunità dalle applicazioni?
 
Whymca Vodafone Apps
Whymca Vodafone AppsWhymca Vodafone Apps
Whymca Vodafone Apps
 
Whymca Peoplesound
Whymca PeoplesoundWhymca Peoplesound
Whymca Peoplesound
 
Whymca Mobyt Strumenti Open Source Per Infrastrutture Dimobile Messaging
Whymca Mobyt Strumenti Open Source Per Infrastrutture Dimobile MessagingWhymca Mobyt Strumenti Open Source Per Infrastrutture Dimobile Messaging
Whymca Mobyt Strumenti Open Source Per Infrastrutture Dimobile Messaging
 
Whymca Italo Vignoli Demografia Dei Social Media
Whymca Italo Vignoli Demografia Dei Social MediaWhymca Italo Vignoli Demografia Dei Social Media
Whymca Italo Vignoli Demografia Dei Social Media
 

Recently uploaded

ScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIinfogdgmi
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Associazione Digital Days
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Associazione Digital Days
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Associazione Digital Days
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Associazione Digital Days
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Associazione Digital Days
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Associazione Digital Days
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Associazione Digital Days
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Associazione Digital Days
 

Recently uploaded (9)

ScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AIScrapeGraphAI: a new way to scrape context with AI
ScrapeGraphAI: a new way to scrape context with AI
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
 

Crossdev sdk/tools: devil's deception - Luciano Colosio

  • 1. Crossdev sdk/tools: devil's deception Luciano Colosio - @unlucio (Save The Mom)
  • 2. Ciao! :) Ho  32  anni vengo  da  Brescia So2ware  Architect  e  Dev   @  Save  The  Mom Adoro  il  mobile  internet  fin  dal  WAP In  internet  sono:  unlucio
  • 3. Gli Smartphones Giugno  2002 Primo  device  Symbian Promessa:  cellulare  +  palmare un  unico  device  da  tenere  in  tasca Supporto  app  terze  parJ Web  +  email Nokia  7650 3
  • 5. Arriva l’iPhone Gennaio  2007 Finalmente  spariscono tasJere  e  pennini Cellulare  +  iPod  +  Internet Internet  QUELLO  VERO! Primo  mobile  browser degno  di  tale  nome Primo  client  email  mobile degno  di  tale  nome 5
  • 6. Ma non le app! Non  ha  SDK  naJvo! Nel  bel  mezzo  del  web  2.0 Cavalca  la  rivoluzione  delle  webapp! 6
  • 7. l’iPhone: reazioni "There's no chance that the iPhone is going to get any significant market share. No chance," “$500… fully-subsidized with a plan… I say that is the most expensive phone in the world… and it doesn’t appeal business customer because it doesn’t have a keyboard,” -­‐  Steve  Ballmer  -­‐ 7
  • 8. l’iPhone: conseguenze Operator  lock Jail  break Toolchain App  installer  /  Cydia Successo  delle  app  non  ufficiali 8
  • 9. Appstore 6  marzo  2008:  rilascio  primo  SDK  beta Nuova  opportunita’  di  business (apprentemente  semplice) E’  piu’  facile  avere  l’icona  del  porprio   prodogo  sulla  springboard! 9
  • 10. Ed e’ frenesia da App Tui  vogliono  un’app Tui  i  dev  voglino  costruire  un’app Tui  i  concorrenJ  alla  rincorsa  di  iPhone   10 corrono  a  costruirsi  un  appstore
  • 11. Sono un web developer Nel  mio  coltellino  ci  sono: html,  css,  javascript  e  linguaggi  di  scripJng  per  il  server  side non:  Objc,  Xcode,  Java,  Eclipse,  Qt,  ecc,  ecc,  ecc... 11
  • 12. Le scelte... Scelgo  una  piagaforma,  e  mi  imparo   il  relaJvo  framework  ed  un  nuovo   linguaggio O  cerco  un  “mezzuccio”  per  riciclare   le  mie  skills,  in  un  echo  sistema  che   non  e’  propriamente  il  mio? App  naJva  !=  Web  App 12
  • 13. Cosa trovo in giro 13
  • 14. Pro... Piu’  immediaJ  dei  naJvi Semplici  per  i  web  developer  (forse) Si  raggiungono  facilmente  risultaJ  soddisfacenJ Plugins Possibile  contenimento  dei  cosJ Ok  se  il  progego  non  e’  troppo  complesso o  richiede  features  parJcolari 14
  • 15. ... Contro L’overhead  si  impenna non  sono  comunque  a  casa difficile  debuggare  e  profilare features  specifiche  mancanJ Plugins Gli  inganni  dei  vendors  ed  il  lockin Il  rate  di  update  delle  app  puo’  essere  un  problema! 15
  • 16. Il problema: La UI Write  once  run  everywhere  non  esiste La  user  experince  varia  molto  da  OS  ad  OS Se  ci  va  bene  riempiamo  il  codice  di  if   condizianJ  alla  piagaforma e  se  va  peggio  ci  troviamo  a  smazzarci  la   famosa  polverizzazione  di  android... 16
  • 17. Il worst case “Anything that can go wrong, will go wrong” -­‐  With  love,  Murphy  -­‐ Se  il  mio  progego  e’  piu’  di  un’app  usa-­‐e-­‐gega,  nella  sua   evoluzione  si  arrivera’  al  punto  in  cui  la  soluzione   intrapresa  non  sara’  piu’  gesJbile. Doppia  faJca  e  doppio  tugo 17
  • 18. Bug che vanno e vengono Tra  sviluppatore  ed  il  sistema  “targeizzato”  c’e’  una   terza  parte  a  cui  si  deve,  per  forza  di  cose,  sogostare. Piu’  layers,  piu’  codice,    piu’  posJ  in  cui  qualcosa  puo’   andare  storto Una  cosa  funziona  da  una  parte,  ma  non  dall’altra.   Nuova  release  e  magari  i  ruoli  si  invertono... 18
  • 19. workaround... Trovi  un  bug,  magari  solo  in  un  caso  molto  specifico Scrivi  un  workaround La  release  successiva  risolve  il  bug Se  hai  fago  il  workaround  hai  perso  del  tempo,  ma   agendere  che  lo  fixino  loro  puo’  essere  anche  peggio 19
  • 20. Nuovi OS, features e compatibilita’ All’annuncio  di  una  nuova  versione  di  un  OS  e   relaJvo  SDK,  se  si  e’  legaJ  ad  un  tool  di  mezzo  si  e’   automaJcamente  esclusi  dalla  nuova  versione  fino   a  che  la  terza  parte  non  provvede. L’os  viene  comunque  rilasciato  ma  tu  non  saprai   mai  se  riuscirai  a  rendere  la  tua  app  compaJbile  in   tempo  e  a  quale  prezzo. 20
  • 21. Codice in crescita Il  codice  quindi  tende  a  crescere  e  ramificarsi L’effort  per  la  gesJone  dei  vari  degagli  di  interfaccia   puo’  superare  facilmente  il  vantaggio  dato  dal  poter   mantenere  il  core  comune Ammesso  che  ce  la  si  faccia. 21
  • 22. Se diventa un mostro... E’  facile  rischiare  d’avventurarsi  in  barocche  architegure  che   cercano  di  gesJre  il  piu’  possibile  le  parJcolarita’. Il  nostro  codice  sembra  sempre  piu’  un  Idra  molto  incavolato! 22
  • 23. Torniamo nel browser! Ma  non  eravamo  web  developers? “Giravamo”  su  linux,  osx  e  windows! Capita  poi,  che  alla  fine  i  browser  ci  diano  gia’  un  supporto  ad   un  set  comune  di  tecnologie  su  piagaforme  diverse! Non  e’  cio’  che  abbiamo  sempre  fago? Si  dice  che  HTML5  non  sia  maturo,  ma  non  e’  quello   che  molJ  framework  ci  fanno  usare? 23
  • 24. opzioni ibride Scheletro  naJvo  fago  ad-­‐hoc contenuto  in  html5 non  piu’  un  probelma  di  performace let  tecnologie  web  conJnuano  a  maturare Linkedin,  come  facebook,  google,  e  la  stessa  apple   hanno  app  ibride  che  caricano  contenuJ  web! Facile  liberarsi  dallo  scheletro  e  tornare  nel  browser 24
  • 25. 60% dei casi non pareggia! 25 fonte:  hgp://app-­‐promo.com/wake-­‐up-­‐call-­‐infographic/
  • 26. Quindi Valutare  bene  il  prodogo  in  termini  di  complessita’  ed  esigenze Serve  davvero  un’app? Webapps  con  interfaccia  da  webapp Se  proprio  vogliamo  targeizzare  una  determinata  piagaforma:   andiamo  naJvi,  la  UX  ne  giovera’. 26
  • 27. grazie  per  l’agenzione trollatemi  su  twiger 27 @unlucio
  • 28. Un po’ di spam! :) hgp://nodejsconf.it hgp://www.webdebs.org/ 28