Le migliori tecnologie da usare per sviluppare una app in realtà aumentata

Quali sono le opzioni disponibili per le aziende che vogliono adottare la AR

Si parla spesso di AR in termini di esempi applicativi, ma un’azienda che voglia implementarla da dove parte? Vediamo insieme cosa offre il mercato in ambito tecnologico per programmare la realtà aumentata.

Programmare una web app o una app mobile in realtà aumentata significa affidarsi a “pacchetti integrativi” destinati a tecnologie pensate per lo sviluppo software. Questi pacchetti gestiscono l’accesso ai sensori (giroscopio, accelerometro, GPS…) contenuti negli smartphone e in altri dispositivi mobile necessari per far funzionare l’AR.

In generale, queste integrazioni consentono di mappare un riferimento reale (un QR code, delle coordinate GPS, un’immagine, una superficie…) per mezzo di una fotocamera, generando uno spazio cartesiano 3D. Le modalità di mappatura variano tra loro e ciascuna ha pro e contro che possono essere sfruttati in base alle necessità del progetto.

Una volta configurato lo spazio tridimensionale desiderato, è possibile popolarlo con composizioni in 3D o altre forme di rappresentazione visiva o sonora (testi, foto, forme geometriche, voci, rumori, musica…) che devono essere realizzate per mezzo di altri software e poi importate affinché la app AR possa elaborarle e mostrarle sugli schermi delle fotocamere o proiettate sulle lenti di visori appositi.

Ad esempio, Unity, una piattaforma di sviluppo per il real-time 3D, è uno dei software più utilizzati per creare questi contenuti. I servizi di Unity non sono rivolti esclusivamente al mondo della AR: più in generale viene utilizzato dai settori dei video games, dell’automotive, dell’animazione cinematografica e dell’ingegneria delle costruzioni.

Apple AR Kit e Google AR Core

Google e Apple hanno rilasciato i propri kit dedicati allo sviluppo nativo di realtà aumentata. Apple è stata la prima, rilasciando AR Kit nel 2017, seguita dalla controllata di Alphabet che ha lanciato AR Core nel 2018 per inseguire il competitor.
AR Kit è pensato per gli sviluppatori Swift mentre AR Core per chi programma in Kotlin.

Sebbene AR Kit sia ritenuto migliore secondo l’opinione di alcuni, i due kit possono essere considerati praticamente equivalenti. Trattandosi di due risorse dedicate a sistemi operativi differenti, la scelta sarà determinata anche dalle necessità tecniche e dagli obiettivi di marketing del committente che desidera avvalersi della AR.

Entrambi i kit costituiscono la scelta più efficace in termini di prestazioni: essendo stati sviluppati nativamente per sfruttare appieno le risorse di Android e iOS, garantiscono la massima efficienza con questi sistemi operativi mobile. Un aspetto da non sottovalutare se si desidera una performance professionale per giochi e applicazioni in cui l’aspetto grafico è preponderante.

Sebbene le opzioni native costituiscano il meglio a disposizione, presentano comunque uno svantaggio. Nel caso in cui si volesse sviluppare la propria applicazione per entrambi i sistemi Android e iOS, il tempo e il budget necessari sarebbero maggiori in quanto non è possibile recuperare il codice scritto per l’uno e adattarlo all’altro.

Loghi dei software ArKit e ARcore

AR Kit di Apple e AR Core di Google sono i due kit per lo sviluppo di app native in realtà aumentata.
Wikitude

I kit di Apple e Google non sono le uniche opzioni disponibili per i programmatori. Chi vuole può comunque realizzare un applicativo per realtà aumentata usando le risorse create appositamente per i frameworks AR dedicati al web development.

Wikitude è l’esempio migliore di questi framework. È una soluzione cross platform che non costringe a legarsi ad un unico sistema operativo, perché fornisce accesso ai due kit nativi tramite una API unificata, fornendo un’implementazione di fallback meno performante nel caso in cui lo smartphone non supporti AR Core e AR Kit.

Wikitude mette a disposizione un plugin per collegarsi a Cordova, il progetto che per anni ha permesso lo sviluppo di applicazioni ibride cross-platform tramite tecnologie web, rendendo di fatto possibile l’integrazione di un’esperienza AR con performance native anche per questo tipo di applicazioni.
Benché Cordova sia tuttora attivo, il suo successore Capacitor, non è ancora ufficialmente supportato.

Capacitor prende il meglio di Cordova, ne è una versione potenziata, rimuovendo le limitazioni e aggiungendo alcune features. Molti plugin dell’ecosistema Cordova funzionano anche con lui in modalità “di compatibilità”. Data la relativa novità, Capacitor non è ancora diffuso quanto il predecessore ma ci si può aspettare che Wikitude attenda una versione più matura per lavorare alla compatibilità.

Lo svantaggio di Wikitude è il prezzo. Il framework non è open source e certamente non è per le tasche di tutti. A nostro avviso comunque Wikitude vale pienamente il costo della licenza, permettendo di risparmiare tempo e lavoro ai programmatori.

Logo del software Wikitude

Wikitude è attualmente il miglior framework per ciò che offre per lo sviluppo di app cross platform in realtà aumentata.
Le soluzioni alternative

Sebbene non si trovino alternative altrettanto avanzate esistono alcune soluzioni che possono essere prese in considerazione per progetti che non richiedano alcune caratteristiche.

NativeScript fornisce un plugin che punta a fornire una API Javascript unificata per AR Kit e AR Core. Tuttavia l’ultima release del progetto risale ad un anno fa ed il supporto per AR Core pare avere qualche problema. Per questa ragione al momento non rappresenta la scelta consigliata.

ARjs invece è una libreria per programmare web app in realtà aumentata. Non offre tutte le possibilità dei kit per sviluppo nativo e risulta più limitata. Per completare il suo corredo di funzionalità necessita di Three.js o A Frame che gestiscono la creazione dello spazio virtuale.
Purtroppo ARjs non è ancora in grado di gestire l’instant motion tracking, il riconoscimento delle superfici per generare elementi nello spazio tridimensionale, una delle ultime tipologie di AR dopo il marker base, il location based e l’image tracking.

Per chi desidera sviluppare un’applicazione stabile e professionale, con la sicurezza di affidarsi a tecnologie in grado di far fronte alle esigenze più ampie, non ci sono molti dubbi. AR Kit, AR Core e Wikitude restano i top di gamma.
Allo stato dell’arte non esistono alternative tecnologiche altrettanto avanzate.

Se stai pensando di sviluppare una app in realtà aumentata ma non hai ancora le idee ben chiare, Dreamonkey può esserti d’aiuto. Contattaci e parliamone.