SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Andere mochten auch

Stim 2009 2010 Solima Lucidi
Stim 2009 2010 Solima LucidiStim 2009 2010 Solima Lucidi
Stim 2009 2010 Solima Lucidi
ludovico.solima
 
20 dicas para seu currículo ser lido pelas empresas
20 dicas para seu currículo ser lido pelas empresas20 dicas para seu currículo ser lido pelas empresas
20 dicas para seu currículo ser lido pelas empresas
Ana Livia Ferreira
 
Optimizing The Social Web For Hiring
Optimizing The Social Web For HiringOptimizing The Social Web For Hiring
Optimizing The Social Web For Hiring
myvirtualpartner
 
Resena fot
Resena fotResena fot
Resena fot
nera24mx
 
V. liqviat 2009
V. liqviat 2009V. liqviat 2009
V. liqviat 2009
nera24mx
 

Andere mochten auch (10)

Stim 2009 2010 Solima Lucidi
Stim 2009 2010 Solima LucidiStim 2009 2010 Solima Lucidi
Stim 2009 2010 Solima Lucidi
 
Conversations between customers and vendors
Conversations between customers and vendorsConversations between customers and vendors
Conversations between customers and vendors
 
20 dicas para seu currículo ser lido pelas empresas
20 dicas para seu currículo ser lido pelas empresas20 dicas para seu currículo ser lido pelas empresas
20 dicas para seu currículo ser lido pelas empresas
 
LinkedIn In Depth
LinkedIn In DepthLinkedIn In Depth
LinkedIn In Depth
 
Inclusão digital no brasil - Lucilene Cury, Ligia Capobianco (2010)
Inclusão digital no brasil - Lucilene Cury, Ligia Capobianco (2010)Inclusão digital no brasil - Lucilene Cury, Ligia Capobianco (2010)
Inclusão digital no brasil - Lucilene Cury, Ligia Capobianco (2010)
 
1 Workshop Tourism Hl
1 Workshop Tourism Hl1 Workshop Tourism Hl
1 Workshop Tourism Hl
 
Optimizing The Social Web For Hiring
Optimizing The Social Web For HiringOptimizing The Social Web For Hiring
Optimizing The Social Web For Hiring
 
Προκαταρκτική Έκθεση για τον σεισμό της Λευκάδας Μ6.4 της 17-11-2015
Προκαταρκτική Έκθεση για τον σεισμό της Λευκάδας Μ6.4 της 17-11-2015Προκαταρκτική Έκθεση για τον σεισμό της Λευκάδας Μ6.4 της 17-11-2015
Προκαταρκτική Έκθεση για τον σεισμό της Λευκάδας Μ6.4 της 17-11-2015
 
Resena fot
Resena fotResena fot
Resena fot
 
V. liqviat 2009
V. liqviat 2009V. liqviat 2009
V. liqviat 2009
 

Ähnlich wie Crossdev sdk/tools: devil's deception

Sviluppo di applicazioni mobile con PhoneGap
Sviluppo di applicazioni mobile con PhoneGapSviluppo di applicazioni mobile con PhoneGap
Sviluppo di applicazioni mobile con PhoneGap
DotNetMarche
 
Define & design apps for success
Define & design apps for successDefine & design apps for success
Define & design apps for success
Acrmnet s.r.l.
 

Ähnlich wie Crossdev sdk/tools: devil's deception (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
 

Crossdev sdk/tools: devil's deception

  • 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