Crossdev sdk/tools: devil's deception - Luciano Colosio
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 405 views

 

Statistics

Views

Total Views
405
Views on SlideShare
311
Embed Views
94

Actions

Likes
0
Downloads
3
Comments
0

1 Embed 94

http://www.whymca.org 94

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • Crossdev sdk/tools: devils deceptionLuciano Colosio - @unlucio(Save The Mom)
  • Ciao! :)Ho  32  annivengo  da  BresciaSo2ware  Architect  e  Dev  @  Save  The  MomAdoro  il  mobile  internet  fin  dal  WAPIn  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  +  emailNokia  76503
  • Gli Smartphones4
  • 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  nome5
  • Ma non le app!Non  ha  SDK  naJvo!Nel  bel  mezzo  del  web  2.0Cavalca  la  rivoluzione  delle  webapp! 6
  • l’iPhone: reazioni"Theres no chance that the iPhone is going to get anysignificant market share. No chance,"“$500… fully-subsidized with a plan… I say that is themost expensive phone in the world… and it doesn’tappeal business customer because it doesn’t have akeyboard,” -­‐  Steve  Ballmer  -­‐ 7
  • l’iPhone: conseguenzeOperator  lockJail  breakToolchainApp  installer  /  CydiaSuccesso  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 developerNel  mio  coltellino  ci  sono:html,  css,  javascript  e  linguaggi  di  scripJng  per  il  server  sidenon:  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 giro13
  • Pro...Piu’  immediaJ  dei  naJviSemplici  per  i  web  developer  (forse)Si  raggiungono  facilmente  risultaJ  soddisfacenJPluginsPossibile  contenimento  dei  cosJOk  se  il  progego  non  e’  troppo  complessoo  richiede  features  parJcolari 14
  • ... ControL’overhead  si  impennanon  sono  comunque  a  casadifficile  debuggare  e  profilarefeatures  specifiche  mancanJPluginsGli  inganni  dei  vendors  ed  il  lockinIl  rate  di  update  delle  app  puo’  essere  un  problema! 15
  • Il problema: La UIWrite  once  run  everywhere  non  esisteLa  user  experince  varia  molto  da  OS  ad  OSSe  ci  va  bene  riempiamo  il  codice  di  if  condizianJ  alla  piagaformae  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 vengonoTra  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  stortoUna  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  specificoScrivi  un  workaroundLa  release  successiva  risolve  il  bugSe  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 crescitaIl  codice  quindi  tende  a  crescere  e  ramificarsiL’effort  per  la  gesJone  dei  vari  degagli  di  interfaccia  puo’  superare  facilmente  il  vantaggio  dato  dal  poter  mantenere  il  core  comuneAmmesso  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 ibrideScheletro  naJvo  fago  ad-­‐hoccontenuto  in  html5non  piu’  un  probelma  di  performacelet  tecnologie  web  conJnuano  a  maturareLinkedin,  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/
  • QuindiValutare  bene  il  prodogo  in  termini  di  complessita’  ed  esigenzeServe  davvero  un’app?Webapps  con  interfaccia  da  webappSe  proprio  vogliamo  targeizzare  una  determinata  piagaforma:  andiamo  naJvi,  la  UX  ne  giovera’. 26
  • grazie  per  l’agenzione trollatemi  su  twiger27 @unlucio
  • Un po’ di spam! :) hgp://nodejsconf.ithgp://www.webdebs.org/28