Sviluppo software

Azienda Creazione App iOS/Android

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

Realizziamo App personalizzate iOS/Android con tecnologia Apache Cordova o 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.

Fino a qualche anno fa 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.

Già a partire dal 2013 ci siamo differenziati dalla concorrenza adottando tecnologie Ibride per la realizzazione di App multipiattaforma.

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

Il modello ibrido col tempo è diventato uno "standard" di molti sviluppatori di App, anche perché i vantaggi sono chiari:

  • una unica codebase permette ad uno sviluppatore di App di essere più rapido nell'aggiunta di nuove funzionalità, nella modifica di quelle esistenti e nella correzione di bug;
  • interfacce utente identiche indipendentemente dal S.O. dello smartphone o del tablet;
  • interfacce "adattive" alla risoluzione dei dispositivi: tablet 10", 7", smartphone 5" e tutte le varianti più o meno grandi.
  • tempi e costi di sviluppo dimezzati;

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

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.

Ad esempio Google Drive, YouTube Music e Google Photos sono oggi delle PWA.

Che tecnologie utilizzate per lo sviluppo di App?#

A seconda del progetto usiamo Apache Cordova o realizziamo una Progressive Web App.

Apache Cordova è indicato quando l'App da realizzare va pubblicata sugli store (Google Play Store e Apple Store).

Non sempre tutte le App sono pubblicabili sugli store.

Ad esempio, Apple rifiuta la pubblicazione di App rivolte a un numero ristretto di utenti (es. i dipendenti di un'azienda) oppure impone vincoli del tipo (le App che hanno il login con Facebook devono anche supportare il "Sign in with Apple").

Quello che alle volte si tende a dimenticare è che l'Apple Store e il Google Play Store sono dei monopoli. Prima di poter pubblicare un'App nei rispettivi store bisogna aspettare la validazione insindacabile di Apple e Google.

Anche per questo motivo ultimamente consigliamo sempre più spesso la realizzazione di Progressive Web App.

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 .

Apache Cordova

Per realizzare App "native" da pubblicare sugli store (Google Play e Apple Store) usiamo Apache Cordova .

Cordova è uno strumento per lo sviluppo di App multipiattaforma. Originalmente sviluppato da Adobe con il nome di PhoneGap è stato donato alla Apache Software Foundation come progetto Open Source.

Con tale tecnologia è possibile scrive una sola volta il codice di una App utilizzando le tecnologie aperte del Web (Javascript/HTML/CSS) e "impacchettare" la App sviluppata in modo nativo per i principali S.O.: iOS e Android.

Le App realizzate con Cordova hanno i seguenti benefici:

  • si scrive una sola volta il codice dell'App con un indubbio vantaggio di tempi e costi;
  • possono accedere alle API native del dispositivo e quindi possono scattare fotografie, leggere tag NFC, utilizzare la geolocalizzazione GPS, usare la bussola, ecc.
  • possono funzionare anche in assenza di connettività come ad esempio nei contesti dell'Industry 4.0 dove si passa da ambienti coperti da WiFi/4G/3G ad ambienti dove manca la connettività.

Come funziona il processo di sviluppo di una 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.

Una cosa molto importate che può fare il cliente, in autonomia o chiedendo il nostro aiuto, è quella di verificare che la propria App sia pubblicabile sugli store ufficiali di Google ed Apple, ovvero che sia conforme alle loro linee guida. La pubblicazione sugli store di una App non è ovvia. Si richiede l'inclusione ad Apple e Google, un gruppo di revisori delle due aziende testa e verifica la App e solo se supera il processo di validazione viene pubblicata.

Di seguito i link alle linee guida dei due store:

Nel caso in cui l'App sia pensata per un uso privato, magari interno all'azienda, allora è possibile anche non passare dagli store, ma consentire l'installazione dell'App da sorgenti sconosciute. Questa pratica va bene nel mondo enterprise dove non c'è ragione di distribuire l'App pubblicamente tramite gli store.

Proposta informale

Se lo studio di fattibilità non evidenzia limiti tecnologici bloccanti, allora procediamo con l'invio di un'offerta informale.

Lo scopo dell'offerta informale è fornire una stima rapida di tempi e costi per lo sviluppo dell'App.

Se poi l'offerta informale è in linea con le aspettative del cliente ed è concorde con il budget a disposizione si può procedere alla stesura dell'offerta formale su carta intestata.

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 tutte le schermate 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.

A questo punto se la App va pubblicata sugli store procediamo con la compilazione della scheda sui due store Apple e Google e sottomettiamo il tutto al processo di approvazione.

In genere dopo una decina di giorni termina la revisione degli store e l'App viene pubblicata.

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 nuova versione sugli store.

Che tipi di App realizzate?#

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

Le prime sono pensate per essere pubblicate sugli store ufficiali e rese disponibili a chiunque.

Le seconde sono pensate per essere utilizzate in azienda nell'ambito dell'industria 4.0 .

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 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 10 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.

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