01 Feb Quale App? Nativa, Ibrida o Web?
Il mondo relativo allo sviluppo di applicazioni è stimolante e innovativo, ma a volte confuso. Spesso ci viene chiesto di sviluppare un app che faccia una determinata cosa e non si sa cosa chiedere o non si riescono a capire le differenze di costo tra le varie soluzioni talvolta possibili.
Native, Web o applicazioni ibride? Qual è la differenza?
Molto spesso siamo costretti a fare un vero e proprio interrogatorio al potenziale cliente con il rischio di indispettirlo oppure di apparire eccessivamente zelanti, e solo occasionalmente riusciamo a far intendere che un App può essere sviluppata in molti modi diversie ognuna di queste tipologie di sviluppo comporterà dei costi e dei tempi molto differenti.
Spesso ci dobbiamo raffrontare con chi, in totale buona fede, ha richiesto il preventivo per un “app” senza fornire troppi dettagli ed ha ricevuto un certo costo (anche quest’ultimo senza ulteriori dettagli!), poi chiama noi… e noi partiamo con il “terzo grado” (come ci ha detto simpaticamente non molto tempo fa qualcuno)… arriviamo quindi ad avere tutte le informazioni per poter produrre un preventivo ed in taluni casi non rispecchia le aspettative citate prima…
Qualcuno capisce … qualcuno sparisce… ma qualcuno approfondisce e ci chiede come mai?
C’è stato chi si era precedentemente rivolto alla blasonata webagency vicina al proprio ufficio, che da subito ha proposto lo sviluppo di un “App nativa” anche a chi non ne aveva realmente la necessità e al contrario anche chi ha ricevuto un preventivo molto contenuto ricevendo a sviluppo completato una “web app” e alla successiva richiesta di integrare la geolocalizzazione e le notifiche Push è caduto dalle nuvole quando gli hanno detto che bisognava rifare tutto daccapo ad un costo nettamente più alto… questo perchè il cliente ignorava quello che stava ricevendo ma al momento di valutare ha selezionato il preventivo più basso.
Non mi stancherò mai di ripeterlo, si paga in proporzione a quello che si riceve…
Quella che segue è una divagazione… importante ma pur sempre una divagazione, quindi saltatela se avete fretta.
Purtroppo è consuetudine (sbagliata) pensare che in informatica ognuno faccia il proprio prezzo ma che il risultato finale poi sia sempre lo stesso… un po’ come quando dobbiamo comprare un telefonino. Se il negozio sotto casa lo vende a duecento euro e su internet lo troviamo a 150 euro… faremo sicuramente un ottimo affare comprandolo su internet, in fondo riceveremo sempre il medesimo oggetto!
Quando si richiede un servizio invece non è la stessa cosa!
I costi per i servizi, se quotati con cognizione di causa, potranno differire al massimo di un 10% se freelancer/freelancer o webagency/webagency e al massimo di un 30% se freelancer/webagency… qui sarebbe opportuno approfondire ma andrei ulteriormente fuori argomento, poichè lo stesso discorso delle app vale per qualsiasi servizio web come per esempio i siti…
Non molto tempo fa ho letto un articolo molto divertente sul rancore che dichiaratamente provano molte web agencies verso i vari servizi web che ti propongono il sito gratis del tipo: “fai-una-porcheria-da-te”, o a canone mensile del tipo “ti faccio credere che è gratis, te lo faccio fare a te, ti regalo qualche mese gratis e quando non ne puoi più fare a meno… ti presento il conto sottoforma di comode rate mensili a vita”.
Beh io a questi siti, in netto contrasto con l’articolo citato prima, dico invece Grazie!
Grazie perchè? Grazie di cosa?
Grazie per avermi evitato di fare un preventivo a chi vuole un sito con un budget di 30€ (e credetemi non sono personaggi di fantasia), e grazie per avermi fatto conoscere un nuovo cliente (quando mi capita), che oramai ha capito, anche se purtroppo a sue spese, che come dicevo prima, si paga per quel che si riceve! Alla fine sono proprio coloro che mi contattano avendo uno di quei siti, che alla fine danno il giusto valore al mio lavoro e che hanno oramai raggiunto autonomamente la consapevolezza, che un sito possono provare a farlo tutti, ma un sito di qualità… un sito che sia produttivo, che sia utile, che venga trovato nei motori di ricerca, no! Un po’ come dire che io un barbeque e una cuccia per il cane entrambi in muratura li ho saputi costruire, ma se avessi bisogno di costruire una casa… beh forse sarebbe meglio lasciar fare a chi lo fa di mestiere… non siete daccordo?
Quindi quale App ci serve? Come possiamo capirlo?
Non esiste una risposta definitiva su quale tipo di applicazione si dovrebbe scegliere, ma ci si può arrivare per gradi. Lo scopo di questo articolo è quello di agevolare la comprensione tra i diversi tipi di applicazioni realizzabili oltre che aiutarvi a decidere se vale la pena e in che modo e a quale costo farsi realizzare l’app dei propri desideri.
Prima distinzione, qual è la differenza tra iOS e Android? Quali sono le applicazioni native, ibride e web?
Le basi
La maggior parte dei dispositivi mobili utilizzano uno dei due sistemi operativi dominanti: Android e iOS (ma ce ne sono anche altri minori).
La differenza tra questi sistemi operativi e dei loro relativi dispositivi non è solo estetica: Proprio come il vostro MacBook non eseguire un’applicazione di Windows, per un telefono Android non è possibile eseguire un’applicazione costruita per iPhone – nella maggior parte dei casi, almeno.
Ecco una tabella riassuntiva di quanto segue nell’articolo.
Applicazioni native
Le applicazioni native sono ciò che balza in genere in mente quando si pensa a un app. La si scarica da App Store o Google Play, si installano all’interno del dispositivo e li si eseguono toccando la loro icona.
Ciò che distingue dalle applicazioni native le altre citate è che loro sono state progettate e codificate per un determinato tipo di dispositivo. Ad esempio, applicazioni per iPhone sono scritte in Objective-C, le applicazioni Android in Java, etc.
Ogni piattaforma mobile offre agli sviluppatori i propri strumenti di sviluppo, elementi di interfaccia e SDK standardizzato. Questo dovrebbe permettere a qualsiasi sviluppatore professionista di poter sviluppare un’applicazione nativa con relativa facilità.
Ci sono una serie di vantaggi nello scrivere applicazioni in questo modo:
- Offrono l’esperienza più veloce, più affidabile e performante agli utenti.
- Possono sfruttare le più ampie funzionalità del dispositivo; compresi i gesti la fotocamera, il microfono, la bussola, l’accelerometro ecc.
- Gli editori possono fare uso di notifiche push, avvisando gli utenti ogni volta che un nuovo contenuto viene pubblicato o quando è richiesta la loro attenzione. Questo non è assolutamente da sottostimare come potenzialità consentendo un raggiungimento di pubblico altamente mirato! Poichè chi ha scaricato l’app è sicuramente interessato al suo contenuto.
Lo svantaggio principale di una applicazione nativa è che non funziona con altri tipi di dispositivi. Se si scrive un’applicazione in Objective-C per iOS, non funzionerà quindi su Android a meno che non venga completamente ri-scritta in Java. Quando si sviluppa per più piattaforme, lo sviluppo di una applicazione nativa quindi può essere molto costosa, in quanto si sta richiedendo di costruire e mantenere più versioni separate della vostra applicazione. E ‘anche comune per gli sviluppatori di specializzarsi in una piattaforma, così spesso occorrerà trovare programmatori diversi per ogni piattaforma.
Se il vostro budget lo consente, in buona sostanza, le applicazioni native sono l’ideale, e quelle che offrono la migliore esperienza per l’utente. Quando la si richiede occorre pertanto essere consapevoli che sarà anche la soluzione più costosa.
Si ma quanto?
Tanto per fare un esempio, l’app Twitterific, ottimo client alternativo per Twitter su iPhone, è costata circa $250.000 tra usabilità, grafiche, realizzazione, test e bugfixing! E per fortuna che non era da fare anche la parte server… ok… tralasciamo queste assurdità incomprensibili per molti mortali…
Quindi, e se vi chiedessi io: “quanto costa comprare un’automobile ?”
In questo caso è molto più semplice capire che la risposta è… dipende! I prezzi delle auto vanno dagli 8000€ di un’utilitaria di marca poco nota ai 4-500.000€ di una Ferrari. Questo approccio è applicabile anche alla realizzazione delle applicazioni mobile:
- con una spesa abbastanza contenuta si può realizzare un’app semplice, senza componenti server: insomma, fa una cosa sola ma la fa bene!
- con un investimento leggermente superiore, ma tutto sommato accettabile, si può realizzare un’app di fascia media, con grafica personalizzata e interfacciamento con un server remoto: un bel prodotto, adatto per la stragrande maggioranza degli scopi
- se invece avete bisogno di un app di livello veramente professionale, con diverse componenti (mappe, realtà virtuale, etc.) anche personalizzate e un’interfacciamento in lettura e scrittura con il server, dovrete considerare sicuramente un budget più importante ma disporrete di un prodotto “top”!
Web Apps?
All’opposto delle App native abbiamo le applicazioni web ottimizzate per dispositivi mobili o WebApps.
Se hai mai visto la ‘versione mobile’ di un sito, questo è ciò di cui stiamo parlando. Una “app” di questo tipo carica all’interno di un browser mobile, come Safari o Chrome, il sito web. Il fruitore non ha bisogno di fare alcuna installazione e nemmeno di avere spazio a disposizione sui propri dispositivi.
Le WebApps utilizzano JavaScript, CSS, HTML5 o altre lingue, lo sviluppatore non avrà accesso ad alcun SDK standardizzato. Lo sviluppo di una web app di questo genere può quindi essere semplice e veloce, tuttavia, la loro semplicità è anche il loro lato negativo.
Le WebApps hanno limiti in ciò che possono fare e richiederanno sempre una connessione a Internet per funzionare, saranno più lenti e meno intuitivi ed essendo progettate per funzionare su tutti i dispositivi non potranno sfruttare appieno le potenzialità di nessun device.
Le icone potranno essere salvate sui device solo come segnalibri e funzionalità fondamentali come le notifiche push non saranno assolutamente possibili. Inoltre non essendo scaricabili dagli stores difficilmente verranno trovate e usate da qualcuno che non ne conosca già l’esistenza.
Quali sono applicazioni ibride?
Ci sono due aziende principali nel mondo di applicazioni ibride: PhoneGap / Cordova e Appcelerator Titanium. Con questi strumenti si creano HTML / file locali / Javascript CSS, per progettare e costruire l’applicazione come se fosse un sito web, per poi avvolgere il risultato in un app mobile.
Un vantaggio che le applicazioni ibride hanno rispetto alle App native è che è più veloce e più facile da svilupparsi. E ‘anche più facile da mantenere ed è possibile modificare le piattaforme. L’applicazione in sé non sarà veloce come un’applicazione nativa in quanto però dipenderà ancora dalla velocità del browser.
In sintesi, è un ottimo compromesso da prendere sicuramente in considerazione qualora non si abbiano specifiche esigenze non ottenibili con questo tipo di sviluppo e se non si vuole risparmiare eccessivamente ottenendo un prodotto sicuramente professionale.
Quindi se le esigenze non sono troppo particolareggiate, e se il sito è sviluppato con la giusta tecnologia (per esempio wordpress), si potrà ottenere un app ibrida ad un costo nella maggior parte dei casi accettabile.
Allora, qual’è la cosa migliore?
Questo dipende interamente da voi. Non c’è una risposta esatta.