Progettazione Software

Due app per un progetto… o no?

Quest’anno ricorre il decennale del lancio dell’App Store e dell’iPhone SDK, attraverso i quali si è verificato un radicale cambiamento nel paradigma dello sviluppo e della fruizione delle applicazioni software. Oggi qualsiasi iniziativa di business non può prescindere dalla necessità di essere canalizzata anche (direi meglio soprattutto) mediante un’app per massimizzare le possibilità di raggiungere il target di riferimento, direttamente sui propri smartphone.

Realizzare un’app non è tuttavia così semplice come potrebbe sembrare a prima vista: gli store traboccanti di app trasmettono un falso messaggio circa la facilità di sviluppo, perché la maggior parte di queste sono decisamente al di sotto della sufficienza rispetto agli standard qualitativi minimi in termini di performance e user experience.

In realtà lo sviluppo di un’app di qualità richiede risorse ingenti a causa dello scenario di mercato degli smartphone che si è venuto a consolidare in questi anni, dominato quasi totalmente da Apple e Google: le rispettive piattaforme iOS e Android sono completamente differenti sul piano tecnico, impedendo qualsiasi elementare azione sinergica nella realizzazione di un’app per entrambi i sistemi.

Per sviluppare un’app è quindi necessario… svilupparne due, il che si traduce nel dover allocare personale specializzato in due team di sviluppo che, in parallelo, procedano alla realizzazione dell’app per ciascuna piattaforma. Un impatto pesante sul business, certamente per quanto riguarda l’incidenza dei costi di sviluppo nel budget complessivo dell’iniziativa, ma anche per altri fattori come ad esempio il TTM (time to market) ed il TCO (total cost of ownership).

Ma il settore ICT è in continua evoluzione, nuove tecnologie nascono quasi quotidianamente in ogni ambito e quello dello sviluppo di app non fa certo eccezione. Ecco così che, per dare una risposta a queste problematiche, sono emersi con forza alcuni framework che consentono la realizzazione di app cosiddette ibride, capaci cioè onorare nuovamente il detto “write once, run everywhere” e dunque di “girare” sia su iOS che su Android a partire da un unico sviluppo.

Fino a qualche tempo fa questi framework erano piuttosto immaturi e le app così realizzate non erano in grado di raggiungere gli standard qualitativi ottenibili dalle app cosiddette native. Oggi però lo scenario è radicalmente mutato, anche grazie alle ingenti risorse investite da player quali Facebook, Google, Microsoft, Adobe ed emergenti come Ionic, AppCelerator, Progress.

I framework disponibili si differenziano tra loro per l’architettura adottata e, di conseguenza, i risultati che si possono ottenere sotto diversi aspetti.  In funzione delle scelte compiute da ogni vendor è possibile evidenziare pregi e difetti di ciascun framework, fondamentali per scegliere con consapevolezza la soluzione migliore rispetto alle caratteristiche del progetto da affrontare.

Questo è un passaggio cruciale, dove l’esperienza e le competenze di chi effettua le valutazioni contano in modo determinante per il risultato del progetto, perché gli effetti di una scelta errata di solito si manifestano in una fase troppo avanzata dello sviluppo, quando eventuali cambiamenti provocherebbero costi aggiuntivi insostenibili.

Ancora una volta dunque la tecnologia ci viene incontro per agevolare le iniziative di business: grazie ai framework per lo sviluppo di app ibride, infatti, disponiamo di soluzioni che consentono di contenere i costi dei progetti senza pregiudicare la qualità del risultato, a tutto vantaggio del ROI (return of investment) dell’iniziativa. Affinché tutto ciò sia reale e non solo sulla carta, come sempre è opportuno avvalersi di chi ha adeguate competenze in materia ma anche, allo stesso tempo, il solo interesse di massimizzare il successo del progetto.