Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Progettare un'App

Le fasi di progettazione di un'app mobile in HTML5, con le principali differenze che contraddistinguono lo sviluppo web da quello mobile.
Le fasi di progettazione di un'app mobile in HTML5, con le principali differenze che contraddistinguono lo sviluppo web da quello mobile.
Link copiato negli appunti

In questa lezione vedremo, schematicamente, le fasi in cui può essere suddiviso il progetto di un'app mobile. Buona parte degli step che verranno indicati non si discostano molto da quelli previsti in altri tipi di progetti, ma alcuni di essi verrano discussi con particolare riferimento alla sfera mobile.

Concepire l'app

Un software nasce sempre da un'idea del programmatore o dalla necessità di un cliente, che poi deve essere necessariamente approfondita. Questo è il momento in cui si cerca di studiare il mercato, le alternative, la concorrenza ed altri elementi in cui spesso il dialogo tra il committente ed il realizzatore è molto vivo ed entrambi dovrebbero rappresentare una parte attiva.

In questa fase è opportuno interrogarsi sui modi in cui la nostra applicazione dovrà gestire i dati. Un'app mobile potrebbe essere composta dalla sola interfaccia utente (caso ormai piuttosto sporadico), sfruttare connessioni di rete (cosa ormai comunissima) o necessitare di persistenza per la memorizzazione di dati, nonchè per l'accesso alle risorse hardware.

Oltre alla "profondità" tecnica che deve raggiungere, un'applicazione nasce spesso con un destino ben preciso in quanto a target di utenti che deve soddisfare, sistemi operativi mobili su cui deve essere distribuita e tipologie di dispositivi (tablet, smartphone, TV, dispositivi indossabili, eccetera). L'unione di tutti questi aspetti ci permette di scegliere gli approcci e i framework da adottare, valutandone i limiti di fattibilità.

Progettare l'interfaccia

Una volta che si hanno le idee abbastanza chiare, viene il momento di iniziare a concepire l'interfaccia utente. Qui si gettano le basi della user experience, che non riguarda solo i controlli visuali o la gestione degli eventi, ma richiede anche la cura di ogni aspetto che permatta all'utente di vivere un'esperienza positiva e piacevole nell'utilizzo dell'app.

Nel settore mobile, una buona user experience deve tenere conto di molti aspetti, come:

  • la creazione di interfacce adattabili alla dimensione e all'orientamento del display;
  • la reattività agli input utente;
  • la riduzione dell'uso della rete per ridurre i tempi di latenza.

Per la progettazione è possibile rifarsi a metodologie simili a quelle impiegate nello sviluppo Web, con utilizzo di schemi e wireframe, tenendo in considerazione che il passaggio tra una schermata e l'altra non sarà fondato su link tra ipertesti, ma sarà demandato ai tap effettuati sui vari controlli.

Sviluppare l'app

In questa guida, per la stesura del codice e la strutturazione di interfacce basate su HTML5 e CSS, ci lasciamo condizionare di volta in volta dai framework che incontreremo, per sperimentare controlli visuali già pronti e corredati di funzionamento mobile, che molti di essi mettono a disposizione. Come già anticipato, i meccanismi di funzionamento saranno gestiti tramite JavaScript e relative librerie, strumenti fondamentali per la realizzazione di un'app mobile.

Risoluzione dei problemi

Questa fase, idealmente successiva allo sviluppo, in alcuni casi si interseca con essa. Dopo aver implementato l'app, è infatti necessario verificarne il corretto funzionamento. A seconda del tipo di progetto, tale verifica delle funzionalità potrà essere effettuata da sviluppatori, dal cliente stesso o da un campione di potenziali utenti.

Molto spesso questo step produce una serie di eliminazione di malfunzionamenti, nonché diversi spunti per nuove integrazioni di funzionalità o modifiche dell'interfaccia. Sarebbe opportuno quindi utilizzare queste informazioni per perfezionare l'app.

Anche se tutto ciò non è nuovo per chi già sviluppa applicazioni web, c'è un aspetto che si presenta nuovo nel mobile: lo strumento per i test. Per il web bisogna dotarsi di numerosi browser in versioni differenti, mentre per il mobile occorre avere a disposizione emulatori e/o dispositivi reali. Più l'applicazione mira ad essere cross-platform, più saranno gli strumenti di cui dotarsi, diversificati per sistema operativo.

Peraltro, nell'ottica dello sviluppo ibrido, una vera sperimentazione - sia su emulatore che device reale - dovrebbe partire dalla creazione di un pacchetto di installazione. A questo proposito risultano basilari strumenti come Crosswalk o Cordova che esamineremo entrambi più avanti in questa guida.

Per finire, un aiuto consistente viene fornito dagli ambienti di sviluppo (IDE) che includono sia gli strumenti basilare per l'implementazione delle app, sia diverse utility per il test ed il packaging.

Distribuzione

Talvolta le app nascono per essere distribuite solo in un particolare ambiente o su canali privati, ma più spesso la loro distribuzione avviene per mezzo di uno store o marketplace, ossia un portale virtuale in cui gli sviluppatori possono collocare e rendere visibile le applicazioni da loro prodotte per un determinato sistema operativo. Ciò a cui si deve fare attenzione in questi casi, oltre agli aspetti tecnici per la submission dell'app, sono le disposizioni incluse nei regolamenti dei vari store: tipologie di applicazioni non ospitabili, eventuali tempi di approvazione e materiale da preparare a corredo (descrizione, screenshot, etc.).

Ovviamente, la schematizzazione precedente è da considerarsi di carattere generale, ma consentirà di seguire meglio la struttura dell'intera guida.

Ti consigliamo anche