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
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
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