App ibride o app native: quale scegliere?

La tua azienda vuole sviluppare un’applicazione, ma non sa quale scegliere tra nativa e ibrida. Per non sbagliare deve prima mettere a fuoco la sua strategia digitale in relazione anche alla disponibilità di risorse. Poi deve calare questi fattori nel contesto delle nuove tendenze in fatto di media.  Infine, deve valutare le caratteristiche di questi due tipi di app.

Hai fretta di iniziare anche in un mercato piccolo? Vai con l’ibrido: costi di sviluppo minori, più veloce (iniziale) penetrazione del mercato, un solo codice per più piattaforme ed accesso a funzioni del dispositivo mobile tramite plug in.

Disponibilità di tempo e azienda fortemente cliente-centrica? Opta per il nativo: l’applicazione oltre ad essere disponibile in modalità offline sarà più sicura, garantirà migliori esperienza d’uso e performance.

(Tempo di lettura 13 min.)

Leggi tutto “App ibride o app native: quale scegliere?”

Android Volley, aggiungere supporto redirect 301/302 per NetworkImageView

Android Volley Framework Redirect SupportAbbiamo già parlato in un precedente post di Volley, la libreria Google che aiuta lo sviluppatore nell’implementazione di client REST basati su richieste HTTP asincrone. Fra i vari componenti del toolbox ce ne è uno, la classe NetworkImageView, che consente di caricare in modo asincrono immagini e mostrarle in una UI Android. Questa classe infatti estende ImageView e mette a disposizione un comodo metodo setImageUrl che si preoccupa di caricare asincronamente la risorsa immagine e di mostrarla nell’interfaccia.

Questo componente è molto flessibile e potente, ma soffre di una limitazione che risulta essere bloccante nel caso lo si voglia utilizzare per mostrare immagini la cui URL si rivela essere un redirect 302 o 301 ad una URL diversa. Un esempio di immagini con URL che forzano un redirect 301 o 302 è quello delle immagini profilo estratte attraverso le Graph API di Facebook.  Vediamo come patchare il sorgente di Volley per superare questo inconveniente.

Leggi tutto “Android Volley, aggiungere supporto redirect 301/302 per NetworkImageView”

Android Tips | Volley, la libreria definitiva per la creazione di client REST

ELbuild sviluppa app Android con Google Android VolleyNello sviluppo di app uno dei pattern più diffusi è il tradizionale modello client-server dove i client sono costituiti dai terminali degli utenti ed il server è un applicativo sotto controllo dello sviluppatore che eroga servizi sotto forma di API REST a supporto della business logic della app. La maggior parte delle applicazioni che prevedono interazione fra utenti più o meno diretta sfruttano questo pattern e si appoggiano quindi su un set di API REST con cui i terminali degli utenti dialogano.

Dal punto di vista dello sviluppatore l’implementazione del codice a supporto della connessione con questo tipo di servizi è spesso qualcosa di molto ripetitivo per cui è frequente appoggiarsi su librerie esterne che forniscono già l’implementazione delle operazioni più comuni. Una delle migliori, fra le diverse che abbiamo testato, è Volley, scritta da sviluppatori Google e, stando al talk di presentazione del Googlie I/O 2013, utilizzata in grand parte delle applicazioni di punta di Google stessa.

Leggi tutto “Android Tips | Volley, la libreria definitiva per la creazione di client REST”

Come creare un archivio .zip in Java

Creare archivi ZIP in Java

Creare archivi ZIP in Java
Zip Java

Durante lo sviluppo di applicazioni web o desktop ricorre spesso l’esigenza di consentire l’esportazione massiva di un numero alto di file, o semplicemente di velocizzare il download di un singolo file testuale.

Per questo motivo spesso la soluzione è quella di creare un archivio ZIP, operazione che in Java è molto semplice grazie alle classi del package java.util.zip. Vediamo come creare velocemente ed in maniera efficiente archivi zip a partire da un singolo oggetto java.io.File o da una List di istanze.

Leggi tutto “Come creare un archivio .zip in Java”

Black Magic – Come deserializzare una classe Java senza istanza

java-deserializzare-classe-senza-istanzaLa serializzazione, ovvero la traduzione di una classe in uno stream binario, è largamente utilizzata in molti campi dello sviluppo software perchè costituisce un modo semplice di immagazzinare in memoria o scambiare via rete oggetti Java. Un oggetto serializzato può essere deserializzato utilizzando la definizione della classe originale, ricostruendo di fatto l’istanza di partenza.

Ma che succede se abbiamo uno oggetto serializzato e non abbiamo la più pallida idea di quale sia la classe di partenza? Vediamo qualche espediente che possiamo utilizzare per recuperare i dati.

Leggi tutto “Black Magic – Come deserializzare una classe Java senza istanza”