Sviluppo software

Azienda Creazione Progressive Web App iOS/Android

Sei alla ricerca di sviluppatori di App o di aziende che creano app? Garda Informatica è un'azienda che progetta e crea Progressive Web App iOS e Android.

Realizziamo App personalizzate iOS/Android sotto forma di Progressive Web App.

iOS è il sistema operativo dei tablet e smartphone di casa Apple (iPhone e iPad). Android invece è il sistema operativo "antagonista" di Apple ed è adottato da vari produttori come Samsung, LG, Huawei e molti altri.

La quasi totalità dei tablet e smartphone presenti sul mercato monta uno dei due sistemi operativi Android o iOS (Il 99,6% degli smartphone venduti monta iOS o Android fonte Gartner ). In passato anche la Microsoft ha sviluppato un suo S.O. per smartphone che si chiamava Windows Phone, ma non ha avuto successo ed è stato ritirato dal mercato nel 2019.

All'inizio per sviluppare una App disponibile per la maggior parte degli smartphone bisognava riscrivere due volte la stessa App con le logiche e gli strumenti specifici (SDK ) di ciascuna piattaforma. Andavano quindi realizzate due App una per iOS e una per Android. I costi erano quindi piuttosto alti.

Poi, a partire dal 2013, avevano preso piede le tecnologie Ibride, come Apache Cordova, per la realizzazione di App multi-piattaforma.

Semplificando, si scriveva una sola volta il codice dell'App e lo si "confezionava" nelle due varianti, una per iOS e una per Android dimezzando i tempi e i costi.

Il modello ibrido aveva degli indubbi vantaggi, ma nel frattempo il mercato è cambiato.

Il mercato delle App è cambiato#

Si è passati dallo sviluppare App da pubblicare sugli Store (Apple Store e Google Play Store) ad un ritorno alle origini e quindi allo sviluppo di Web App al posto delle App.

I principali fattori di questa inversione sono stati:

  • sugli Store sono presenti più di 3'000'000 (tre milioni) di App. Pubblicare una nuova App è come buttare una goccia d'acqua nel mare. Nessuno se ne accorge. Di conseguenza per emergere sono necessari capitali ingenti da investire in pubblicità.
  • le statistiche hanno rilevato che le persone non installano nuove App, specialmente se non sono già famose. I cellulari vengono venduti con le App più famose già pre-caricate e a parte quelle non se ne installano di nuove.
  • le persone non vogliono installare la tua App prima di averla provata. Se ci pensi anche tu la prima volta avrai usato Amazon dal sito web. Solo dopo i primi 2 o 3 acquisti, inizi a fidarti della piattaforma e allora magari installi la App di Amazon.
  • gli Store sono dei monopoli. Decidono quali App approvare e quali rifiutare con regole soggettive e di difficile interpretazione (App Store Review Guidelines , Norme Google Play Store ). Stabiliscono che modalità di login devi prevedere (es. se c'è la login con Facebook devi implementare anche la login con Apple ID), che commissioni applicare ai tuoi incassi (15-30%), ecc.

Da fine 2017 Google ha incoraggiato un nuovo modo di fare App, le Progressive Web App .

Sono sostanzialmente delle Web App che però è possibile installare sullo smartphone e aggiungere alla schermata home del cellulare.

Noi già da fine 2018, inizio 2019 abbiamo iniziato a sviluppare le App iOS/Android seguendo questa nuova modalità.

Anche le Progressive Web App si basano sugli standard del web, esattamente come le app ibride e di conseguenza ne ereditano i vantaggi (unica codebase, interfacce responsive e adattive, tempi e costi dimezzati).

Inoltre abbattono le barriere all'installazione dell'utente.

Si è visto che gli utenti, oltre alle due o tre App famose (Facebook, Whatsapp, ecc.), non installano App (Fonte: How is Apple Encouraging Progressive Web Apps on iOS 13 ). Con le Progressive Web App è possibile realizzare Applicazioni Web che l'utente usa come se fossero un normale "sito internet". Quando poi è pronto può installarle premendo un bottone direttamente sul sito.

Progressive Web App#

Le Progressive Web App (PWA) uniscono i benefici del Web con i benefici delle App:

  • Web: Il web è una piattaforma incredibile. Il suo mix di ubiquità tra dispositivi e sistemi operativi, il suo modello di sicurezza incentrato sull'utente e il fatto che né le sue specifiche né la sua implementazione siano controllate da un'unica società rendono il Web una piattaforma unica su cui sviluppare software. In combinazione con la sua intrinseca interconnessione, è possibile cercarlo e condividere ciò che hai trovato con chiunque, ovunque. Ogni volta che vai su un sito Web, è aggiornato e la tua esperienza con quel sito può essere effimera o permanente come desideri. Le applicazioni Web possono raggiungere chiunque, ovunque, su qualsiasi dispositivo con una singola codebase .

  • App: Le applicazioni native sono famose per essere incredibilmente ricche e affidabili. Sono sempre presenti, nelle schermate Home, nei dock e nelle barre delle applicazioni. Funzionano indipendentemente dalla connessione di rete. Si lanciano nella loro esperienza autonoma. Possono leggere e scrivere file dal disco, accedere all'hardware collegato tramite USB, seriale o bluetooth e persino interagire con i dati memorizzati sul dispositivo, come contatti ed eventi del calendario. Nelle applicazioni native, puoi fare cose come scattare foto, vedere la lista dei brani in riproduzione elencati nella schermata principale dello smartphone o controllare la riproduzione dei brani mentre ti trovi in ​​un'altra app. Le applicazioni native sembrano parte del dispositivo su cui funzionano.

Se si pensa alle app native e alle web app in termini di "funzionalità possibili" e "distribuzione capillare", le app native possono offrire il massimo in termini di funzionalità mentre le web app e le web application raggiungono chiunque, su qualsiasi dispositivo, ovunque si trovi.

Le PWA offrono il meglio dei due mondi.

Le Progressive Web App (PWA) sono costruite e potenziate con le moderne tecnologie Web per offrire funzionalità, affidabilità e installazione native, raggiungendo chiunque, ovunque e su qualsiasi dispositivo con un'unica codebase .

Come funziona il processo di sviluppo di una Progressive Web App iOS e Android?#

Primo contatto col Cliente

Solitamente il cliente ci contatta via telefono o via email e ci racconta la sua idea a grandi linee.

Una stessa idea può essere implementata in molteplici modi, ma solo una realizzazione corrisponde all'idea nella mente del cliente. Per fare uno studio di fattibilità e quindi una stima di tempi e costi abbiamo bisogno di conoscere nel maggior dettaglio possibile l'esigenza precisa del cliente.

Per questo motivo abbiamo predisposto due mini-guide che consentono ai clienti di formalizzare la loro idea:

La prima mini-guida è pensata per chi ha sviluppato maggiormente l'intelligenza linguistico/verbale. Permette una formalizzazione descrittiva dell'idea, basta seguirla per ritrovarsi con un documento di specifiche in mano.

La seconda mini-guida dovrebbe facilitare chi ragiona per immagini ovvero ha una predominanza dell'intelligenza visivo/spaziale. In pratica viene fornito un PDF contenente il disegno di uno smartphone con vari orientamenti (orizzontale, verticale, ecc.).

Si può quindi stamparlo e disegnarci sopra le schermate che avrà l'App con delle note per ogni schermata. Non serve essere dei grafici, basta una bozza di disegno come nell'esempio che segue.

Il processo di formalizzazione su carta dell'idea serve sia a noi per fare una stima, ma anche al cliente per "simulare" la sua idea e far emergere eventuali casi limite a cui non aveva pensato.

In questa fase è anche importante separare le funzionalità accessorie, che potranno sempre essere aggiunte in un secondo momento se l'idea avrà successo, da quelle minime che servono per verificare nel più breve tempo possibile il riscontro del mercato.

Ad esempio, se vuoi soddisfare l'esigenza di chi deve andare da un punto A ad un punto B puoi partire proponendo un monopattino. Se ne vendi un certo numero vuol dire che l'esigenza è reale e puoi quindi passare alla produzione di biciclette, motorini e infine macchine.

Attenzione a non fare l'errore di partire con una macchina senza le ruote, o partire solo con le ruote. Sarebbe sì una versione ridotta di una macchina, ma non sarebbe utilizzabile per lo scopo e darebbe quindi un responso errato del mercato.

Studio di fattibilità

Una volta ricevuta la documentazione e il materiale predisposto dal cliente per descrivere la sua idea procediamo quindi allo studio di fattibilità.

Si parte verificando i casi limite e facendo emergere eventuali incongruenze o problemi che impediscono la creazione dell'App. Molte volte basta semplicemente cambiare approccio rispetto all'idea iniziale proposta dal cliente per trovare una soluzione realizzabile.

In questa fase è bene precisare che noi possiamo valutare la fattibilità del progetto da un punto di vista tecnico, ma come in tutte le cose, l'aspetto tecnico è solo uno degli aspetti.

Esistono infatti gli aspetti legali, fiscali, ecc.

Documento di specifica dei requisiti

Se lo studio di fattibilità non evidenzia limiti tecnologici bloccanti, allora, sulla base delle documentazione fornita dal cliente, produciamo un documento testuale che descrive cosa andremo a realizzare. Tale documento viene sottoposto al cliente per avere la sua conferma di correttezza e completezza di quanto descritto.

Valutazione economica

Una volta che è ben definito cosa andremo a fare e cosa sarà presente nella versione 1.0 della Web App, allora procediamo con la valutazione economica e con la stesura del preventivo formale che inviamo al cliente.

Che aspetto avrà la App che andrete a sviluppare? Posso avere un'idea di come sarà?

Non possiamo mostrare come sarà una App prima di averla realizzata, possiamo però mitigare questo limite tipico del software su misura in due modi:

  • per prima cosa potete guardare il portfolio delle App che già abbiamo creato.
  • in secondo luogo abbiamo operato la scelta di suddividere il processo di sviluppo dell'app in stadi di avanzamento, in cui il primo stadio è la realizzazione dell'interfaccia utente priva di logiche. In pratica già dopo il primo step di sviluppo il cliente può testare le schermate principali dell'App e rendersi conto dell'aspetto estetico e dell'usabilità dell'App. Se tutto va bene negli stadi successivi si procede ad aggiungere ad ogni schermata le logiche e le azioni necessarie.

Sviluppo della soluzione concordata

Una volta firmata l'offerta formale e ricevuto l'acconto a conferma dell'inizio dei lavori, si può procedere alla creazione dell'App.

Il processo di sviluppo è suddiviso in step successivi intervallati da rilasci intermedi. Ogni rilascio consente al cliente di testare le funzionalità man mano vengono aggiunte. In altri termini il cliente ha "visibilità" sul processo di sviluppo ed è partecipe nelle scelte operate per la realizzazione dell'App.

Con questo approccio si evitano le incomprensioni e le brutte sorprese.

Rilascio dell'applicativo e assistenza post-rilascio

Terminata la fase di sviluppo viene consegnata al cliente la App nella sua forma finale. Sebbene l'App sia già stata sottoposta a test incrociati da noi e dal cliente durante i rilasci intermedi, alla fine viene dato modo al cliente di svolgere la validazione dell'App completa.

Questa è la fase dove correggiamo gli eventuali malfunzionamenti che ci sono sfuggiti o apportiamo delle piccole rifiniture su richiesta del cliente: cambio di etichette, semplici modifiche grafiche e simili.

Una volta pubblicata la versione 1.0 dell'App si entra nell'assistenza post-rilascio.

Come scelta aziendale non prevediamo canoni di assistenza annuali fissi. Preferiamo un approccio a consumo. Se ci sono da fare delle modifiche post-rilascio le facciamo con tariffazione oraria, oppure, specialmente per nuove implementazioni corpose, seguiamo il normale flusso di lavoro: preventivo modifiche, conferma lavoro, sviluppo nuove funzionalità, pubblicazione.

Che tipi di App realizzate?#

Realizziamo Progressive Web App iOS e Android per smartphone e per tablet sia di tipo consumer/pubbliche che di tipo enterprise/private.

Per un portfolio dei lavori svolti consulta la sezione Portfolio App iOS/Android e Web Application.

Chi è il vostro Cliente tipo?#

In genere ci rivolgiamo alle piccole e medie imprese italiane PMI o alle startup che sono alla ricerca di un team di sviluppatori di Web App.

Operiamo nel nostro ufficio di Brescia e serviamo principalmente clienti del nord Italia.

Quanto tempo ci vuole per sviluppare una App di media complessità?#

Mediamente ci vogliono 5 mesi. Abbiamo però realizzato un calcolatore che ponendo semplici domande permette di calcolare in autonomia una stima di tempi e costi.

Quanto costa creare una App? - Calcola il preventivo online

Quanto costa sviluppare una App di media complessità?#

Abbiamo descritto nel dettaglio i fattori che incidono sul costo di una App nell'articolo Quanto costa mediamente una App iOS/Android?.

Inoltre abbiamo realizzato un calcolatore Quanto costa creare una App? - Calcola il preventivo online.

Autore: Lorenzo Chiodi
Senior software developer con più di 16 anni di esperienza nello sviluppo di soluzioni web based, enterprise, su misura. Dal 2011 socio fondatore di Garda Informatica Snc condivide questa avventura col fratello Giovanni.

Che soluzione cerchi?#

Read more!

Newsletter

Ti è piaciuto questo articolo? Iscriviti alla newsletter

Di tanto in tanto pubblichiamo nuovi articoli come questo. Se vuoi essere avvisato lascia il tuo indirizzo e-mail di seguito.

Non invieremo mai SPAM e non condivideremo la tua e-mail con altri. Per maggiori informazioni consulta la privacy policy.

Attendere prego...

closeIcona closesearchIcona searchmore vertIcona more vertmenuIcona menushareIcona sharelinkIcona linkarrow upwardIcona arrow upward