Infinity Information Solutions sviluppa anche applicazioni mobile. Una applicazione mobile (in inglese mobile app) è semplicemente una qualunque delle app che scaricate e che trovate preinstallate principalmente sugli smartphone e sui tablet, senza escludere però smartwatch e televisori di ultima generazione.
Contenuti
- Introduzione
- Definizione dei requisiti di una applicazione mobile
- Il nostro sviluppo applicazioni mobile
Introduzione
Lo sviluppo applicazioni mobile sta avendo grande successo perché consentono un livello di interazione con l’utente finale che non è possibile ottenere con un sito tradizionale. Basta infatti pensare ai messaggi push che possono essere inviati agli utenti delle app.
Definizione dei requisiti di una applicazione mobile
Il mondo delle app richiede uno studio particolareggiato, non solo a livello di concorrenza ma anche per quello che riguarda le funzionalità.
Ad esempio, una domanda che viene a volte sottovalutata è, che tipo di app volete sviluppare?
Non è una domanda irrilevante. Un’applicazione mobile che gestisce un calendario di appuntamenti non ha bisogno delle stesse performance a livello di velocità di una app videogame sparatutto in tempo reale. Quindi, per la app calendario è possibile utilizzare una tecnologia cross platform, che permette di ottenere delle buone prestazioni (o, in inglese, near-native performances) risparmiando sullo sviluppo, in quanto il codice “gira” sia su iOS che su Android. Per il videogame sparatutto sono necessarie delle performance native, ed è quindi necessario sviluppare la app separatamente per iOS e per Android.
Questo a sua volta va influire non solo sul costo di sviluppo, ma anche su quello di manutenzione. Vi sono due app da aggiornare ad ogni cambiamento nella app stessa (oltre che dover seguire gli aggiornamenti dei due sistemi operativi). Ma quando si creano applicazioni mobile non è possibile utilizzare lo stesso approccio per tutto.
Il nostro sviluppo applicazioni mobile
Avrete capito che, quanto definito al punto precedente, è di importanza fondamentale. Possiamo creare applicazioni in linguaggio nativo (Java, Kotlin, Objective C, …) oppure utilizzare dei sistemi che coprano iOS e Android contemporaneamente facendo uso dello stesso codice (Xamarin, Flutter, Reactive) ma si sta parlando solo di tecnologie.
In realtà conta molto anche quello che ruota attorno alle applicazioni mobile in senso prettamente tecnico.
Il nostro studio prevede 4 fasi:
- Definizione dei requisiti. Questa fase c’è in tutti i tipi di sviluppo, dal software alla costruzione di una casa! Dobbiamo sapere cosa volete ottenere. Cosa deve fare la app? Si tratta di raccogliere e definire tutte le vostre necessità, di capire la vostra idea.
- Analisi tecnologica. Dopo aver definito i requisiti si passa ad analizzare la tecnologia. Vi serve una app mobile? Potreste ottenere, risparmiando, gli stessi risultati con un sito internet? O magari con una web app? A volte è meglio partire in piccolo per validare l’idea. Pensate ad un ecommerce per una nicchia particolare, magari si può vedere se i prodotti vendono bene semplicemente tramite un sito web, poi in un secondo momento passare alla applicazione mobile. In questa fase si decide anche che tipo di approccio utilizzare, se sviluppare in maniera nativa o cross platform.
- Analisi dei competitor. È possibile che qualcuno abbia già realizzato una app uguale alla vostra? Succede più spesso di quello che si crede. Ma non è sempre uno svantaggio. A volte si può imparare molto da chi si è già trovato in una determinata situazione. È possibile capire come sono stati risolti alcuni problemi a livello di funzioni della app, così come che tipo di marketing è stato utilizzato. A volte si può anche capire perché quella app ha fallito sul mercato, e come mai la nostra non fallirà.
- Sviluppo della app mobile. Qui è dove si inizia effettivamente a scrivere codice. Questa fase viene portata avanti mantenendo una comunicazione costante tra noi e il cliente finale. Solitamente utilizziamo un approccio Agile, che consente di coinvolgere il cliente in “cicli” di realizzazione e di testing. Il cliente finale testa il risultato a mano a mano che la app viene definita e le varie funzionalità vengono aggiunte. In questo modo può essere certo che la app faccia veramente quello che deve e, nel caso di variazioni in corso d’opera, rende più facile la modifica del codice già prodotto. Per i progetti molto piccoli e con funzionalità ben definite, è possibile utilizzare anche un più tradizionale approccio a cascata.
Chiaramente a seconda del cliente, alcune delle fasi possono essere saltate. Un cliente finale che vuole sviluppare una sua idea in autonomia di solito ha bisogno di essere seguito in tutto il percorso. La web agency che ci commissiona una app potrebbe aver già effettuato tutta la parte antecedente la fase di sviluppo.
Ma per il resto, lo sviluppo applicazioni mobile non deve essere complicato, e deve essere possibile realizzare la propria idea senza complicare inutilmente le cose.
Contattateci per capire se il nostro approccio può funzionare per voi.
Se volete approfondire il concetti appena espressi, vi consigliamo questa pagina di Wikipedia (in inglese).