[#WPDEV] 3. Disegnare l’applicazione

WP_2-line_red_rgb_6Nei precedenti post abbiamo parlato dell’importanza di acquisire familiarità con la piattaforma e di conoscere le linee guida relative allo sviluppo per Windows Phone (ma lo stesso discorso vale per tutte le altre piattaforme). Questo studio preliminare ci ha portato a conoscere l’ambiente su cui verrà installata la nostra applicazione e come la nostra applicazione dovrà essere, a grandi linee, disegnata.

A questo punto, è arrivato il momento di iniziare a progettare concretamente la nostra applicazione.

Il come, lascio a voi sceglierlo. Io prediligo carta e penna (si, lo so, ci sono altri sistemi…ma a me viene meglio così). Se volete usare strumenti evoluti che vi permettano, tra l’altro, di simulare la vostra applicazione, non posso che suggerirvi  i template di SketchFlow per Windows Phone. La scelta dello strumento però, esula dallo scopo di questo post.

Una volta deciso come disegnare, iniziate a buttare giù un disegno della pagina che ritenete principale e pensate a quali contenuti dovranno essere presenti.

La prima domanda da porsi è: qual’è il modo migliore per presentare questi elementi? Potrebbero essere rappresentati in una lista? Come contenuto di tile?

Definito questo primo aspetto, dobbiamo capire se le informazioni ci conviene metterle in una pagina singola, in un panorama o in un pivot. Questa scelta è strettamente legata al tipo di applicazione che andrete a realizzare.

Una volta completata la bozza della prima pagina, arriva il primo, vero esercizio su cui dovrete ragionare seriamente. Ponetevi le seguenti 2 domande:

  • dove arrivo cliccando sugli elementi di questa pagina?
  • come arrivo a questa pagina?

La risposta a queste due domande, da ripetere per ogni pagina che andrete a disegnare, vi permetterà non solo di disegnare in modo logico la vostra applicazione, ma anche di avere un quadro completo delle relazioni tra le vostre pagine e capire quali relazioni non funzionano correttamente. Spesso, in questa fase, emergono infatti passaggi articolati per arrivare da una sezione all’altra oppure relazioni assenti tra pagine importanti.

Per discriminare le relazioni corrette da quelle potenzialmente errate o problematiche, è necessario conoscere il sistema di navigazione di Windows Phone (è qualcosa con cui avete preso contatto semplicemente usando il device).

A tal fine, vi consiglio la lettura di questo articolo, in cui sono presenti una serie di riferimenti da consultare per approfondire. Volendo sintetizzare al massimo, il modello di navigazione di Windows Phone è composto da uno stack in cui vengono inserite le pagine in cui arriviamo muovendoci all’interno dell’applicazione. Stack che può essere “navigato” premendo il tasto back del device.

Questo modello di navigazione, all’inizio, può portare ad uno degli errori più comuni che si possono prevedere (e risolvere) disegnando per bene l’applicazione: la navigazione circolare.

Supponiamo di avere 3 pagine: A, B e C e di strutturare l’applicazione in modo che dalla pagina A si possa andare alla B, dalla B alla C e dalla C alla A (tipico caso di un wizard che ci riporta alla pagina principale alla fine dell’inserimento dei dati). Cosa succede quando, tornati alla pagina A, premiamo il tasto back sul nostro device?


Source: Solving Circular Navigation in Windows Phone Silverlight Applications

La soluzione la trovate qui.

E questa è solo una delle problematiche che possono emergere. Quello a cui, dovreste arrivare, almeno in questa prima fase, è avere una situazione simile a questa:


Source: Application Page Model for Windows Phone

La conoscenza delle corrette relazioni tra le pagine, credetemi, potrebbe farvi risparmiare qualche ora di lavoro in caso di errori di valutazione nella loro disposizione. Correggere questo tipo di errori in questa fase è decisamente molto molto più comodo che farlo in fase di sviluppo, quando parte della logica è già stata implementata.

Alla fine, dovreste arrivare ad una disegno di questo tipo:

IC505433_thumb
Source: Implementing Windows Phone Application Design

La vostra applicazione ha preso finalmente forma. Non sarà sicuramente quella definitiva in quanto, in fase di sviluppo, emergono sempre dettagli che, sulla carta, non sono stati considerati. Ma questo è sicuramente un buon punto di partenza per avere una applicazione che abbia un flusso di navigazione pulito ma che, soprattutto, vi mette al riparo da una serie di problematiche inaspettate.

Se avete già sviluppato applicazioni per Windows Phone (che non siano semplici visualizzazioni master/detail di dati) di una minima complessità, provate a ripensare a quanto tempo avreste potuto risparmiare con uno schema di navigazione sotto mano.

Anche per questo post, è tutto.

Buon lavoro!