Realizziamo applicazioni native o web app in HTML per iOS, Android, Windows Phone per consolidare il brand del cliente ed offrire servizi a portata di touch. Il cliente viene seguito fin dall’inizio per un’attenta analisi delle sue esigenze in modo da individuare e suggerire la miglior soluzione mobile da sviluppare. Per lo sviluppo di un’application nativa si possono proporre diverse soluzioni sulla base delle esigenze del cliente legate alle funzionalità e servizi che si vogliono offrire nell’app e al buget disponibile. Per esempio un’application nativa può mostrare i contenuti solo in presenza di una connessione ad internet oppure offrire un servizio in più all’utente finale permettendo di vedere i contenuti anche in assenza di rete o fare entrambe le cose permettendo all’utente di avere sempre i contenuti aggiornati. Le soluzioni adottate dipendono anche dalla natura dei dati, per esempio se cambiano nel tempo o se sono definitivi e stabili. Di seguito proponiamo due esempi diversi di sviluppo di application native.
Application nativa con dati definitivi e stabili:
I dati possono essere memorizzati nell’app e quindi consultati dall’utente senza una connessione ad internet
Application nativa con dati che possono cambiare nel tempo:
L’application nativa diventa client di un’architettura client-server, dove sul server si prevede un applicativo software web per la gestione dei contenuti e un modulo software per l’esposizione dei contenuti (servizi web che espongono dati in formato json) e i client sono le diverse applicazioni native, pubblicate anche per piattaforme diverse.
Questa soluzione viene adotatta anche quando viene richiesto un interfacciamento con sistemi già esistenti, intervenendo solo con lo sviluppo dei servizi web per l’esposizione dei dati e delle application native.
Lo sviluppo di un’application nativa richiede fasi diverse di realizzazione, dall’analisi delle specifiche alla pubblicazione sugli store di riferimento. Se non si opta per lo sviluppo di una web application, il software va realizzato per le diverse piattaforme: Apple iOS, Android e Windows Phone, con particolare attenzione anche all’usabilità delle interfacce realizzate, che potrebbero variare a seconda del dispositivo. Prima del rilascio, l’app viene sottoposta ad un’attività di testing e assistenza considerando sempre i vari sistemi operativi e diversi dispositivi. Infine, l’ultimo step prevede la pubblicazione delle singole app sugli store di riferimento per rendere il progetto visibile agli utenti finali o utilizzabile dai proprio collaboratori sui loro dispositivi, permettendo al cliente stesso di poter utilizzare lo strumento in piena autonomia anche in futuro. Nel caso in cui il cliente richieda la pubblicazione delle application sul proprio account aziendale, il nostro staff sarà in grado di supportarli nella preparazione del necessario per la sottomissione.
Di seguito un riepilogo dei servizi offerti: le application native sviluppate per le diverse piattaforme vengono realizzate con le seguenti caratteristiche
- Compatibilità con i vari device disponibili (ultime versioni)
- Interazione client-server con JSON
- Integrazione di notifiche Push ed In-App Purchase
- Interfacce usabili e accattivanti
- Pannello di amministrazione per la gestione dei contenuti nell’app, sviluppo e realizzazione di siti web o e-commerce collegati all’applicativo mobile
Nonostante le application native sono più veloci e possono funzionare anche in off-line e si può godere della grande visibilità data dagli store, non sempre rappresentano la soluzione più efficiente. Infatti i costi e tempi di realizzazione delle applicazioni native sono mediamente più elevati rispetto allo sviluppo di una singola web application in quanto si tratta di sviluppare una applicazione per ogni device differente, per ogni sistema operativo differente. Inoltre per accedere agli store le applicazioni devono soddisfare determinati requisiti decisi dai distributori. Anche la gestione degli aggiornamenti è difficoltosa, e deve sempre passare attraverso le policy di approvazione degli store.
Se i vantaggi delle application native non rappresentano una prerogativa fondamentale per il soddisfacimento del cliente, lo sviluppo di web-application è una ottima alternativa. Le web app sono accessibili tramite i browser dei dispositivi mobili e rappresentano in concreto una vista sul applicativo remoto. Hanno costi più contenuti e tempi di realizzazione ridotti rispetto alle app native e anche gli aggiornamenti sono rapidi in quanto automaticamente gestiti tramite web. Inoltre hanno il grande vantaggio di non dover essere installate e di poter funzionare su tutti i dispositivi connessi ad Internet.
Infine, tra le possibili soluzioni mobile da proporre ai nostri clienti proponiamo un’app ibrida che consiste in un’application nativa che rappresenta lo strumento per presentare il contenuto e i servizi di una applicazione web-based e quindi si aggiorna tramite Web e sfrutta a pieno le caratteristiche del device su cui è installata. Il vantaggio principale delle applicazioni ibride risiede nel fatto che il codice del dell’applicazione web viene scritto con un linguaggio comune a tutti i device ed è solo il contenitore a dover essere cambiato in funzione del dispositivo che deve ospitare l’applicazione. Questo permette di avere tempi e costi più bassi per la realizzazione di una app ibrida rispetto a quelli necessari per le applicazioni native. Inoltre, un’app ibrida è comunque considerata come una app nativa, quindi può essere pubblicata sugli store. Purtroppo però le app ibride non sono performanti e veloci come quelle native, e inoltre hanno le stesse difficoltà che hanno le app native per accedere agli store dei distributori e per gli aggiornamenti.
In conclusione la scelta del tipo di app dipende da:
- il target a cui si punta (chi saranno i nostri utenti e che dispositivi mobili utilizzano);
- i tempi e il budget di cui si dispone;
- le funzionalità che l’app deve avere (quindi, ad esempio, come l’applicazione deve interagire con il device su cui deve essere ospitata).
Il settore delle applicazioni mobili è in continua e rapida evoluzione e gli scenari cambiano continuamente, per cui il miglior modello da preferire viene sempre essere scelto di volta in volta.