Huawei continua a evolvere la sua offerta di strumenti e servizi per gli sviluppatori in ambito mobile. L’idea è quella di creare un ecosistema di prodotti e servizi interoperabili in grado di comunicare senza problemi anche con i device della concorrenza.
L’azienda non rinnega Android, che resta tassello fondamentale del suo business e di quello dei suoi clienti, ma punta a offrire un insieme di soluzioni innovative che permettano agli sviluppatori e agli utenti di contare su un’offerta completamente indipendente ma del tutto compatibile e interoperabile con quanto già sul mercato.
Huawei sta lavorando bene per tornare a guadagnare importanti quote di mercato senza più dipendere da altri soggetti e lo sta facendo giocando carte di gran peso: innovazione, apertura, interoperabilità, compatibilità e performance.
E i primi risultati sono già più che convincenti: oltre 5,1 milioni di sviluppatori hanno già scelto l’ecosistema Huawei e stanno rendendo compatibili le loro app con la piattaforma basata sul framework HMS Core approfittando dei molteplici vantaggi che essa offre.
Le novità di HMS Core 6.0
In occasione dell’evento Droidcon Italy 2021, che ha visto la forte presenza di HDG Italia, protagonista indiscusso è stato HMS Core 6.0, la più recente versione del framework per i servizi abilitati sui dispositivi Huawei e in generale sulla piattaforma Android.
HMS Core 6.0 nasce come soluzione aperta e cross-platform capace di integrarsi non soltanto con Android ma anche con Windows, Linux, iOS e con i sistemi operativi Huawei HarmonyOS e OpenHarmony. Quest’ultima è una versione opensource di HarmonyOS che verrà fornita a tutte le aziende che vorranno personalizzare il sistema con la propria interfaccia.
Il nuovo HMS Core offre ben 69 kit di sviluppo completamente aperti a beneficio di tutti i programmatori oltre a qualcosa come circa 22.000 API in sette differenti categorie.
Il ritorno di Huawei si preannuncia quindi, grazie alla collaborazione di una comunità molto attiva, davvero in grande stile: HMS Core 6.0 è stato infatti progettato per supportare un ampio ventaglio di dispositivi. Smartphone, tablet, smartwatch, PC, smart TV, speaker smart, auricolari, smart glass, veicoli intelligenti possono concorrere a formare un unico ecosistema.
I kit di sviluppo sono indipendenti da HMS Core e dai dispositivi Huawei
Una delle mosse più intelligenti che abbiamo particolarmente apprezzato? La decisione dell’azienda di separare i kit di sviluppo da HMS Core e dai dispositivi a brand Huawei.
Gli Huawei Mobile Services (HMS) sono un po’ l’equivalente dei Google Mobile Services (GMS) anche se l’obiettivo di Huawei è quello di spingere sul pedale dell’innovazione proponendo funzionalità alla portata di qualunque sviluppatore che oggi sono assenti oppure godono di un supporto non all’altezza della situazione in GMS.
Alla Droidcon Italy 2021 si è osservato come la maggior parte delle app Android, com’è ovvio, integri il supporto per i GMS. Da oggi, però, gli sviluppatori non devono più scegliere e possono utilizzare nelle loro app sia GMS che HMS: questo permette di realizzare applicazioni che “semplicemente funzionano” su qualunque dispositivo e che possono trarre il meglio dal mondo Huawei.
Utilizzando un singolo codice di base lo sviluppatore può generare differenti versioni e varianti di una stessa app: la possibilità si concretizza ricorrendo alla caratteristica chiamata Product flavors sfruttabile molto facilmente mediante Android Studio.
Grazie alla soluzione proposta da Huawei è possibile fare in modo che tutte le chiamate dirette alle API GMS funzionino nella modalità abituale; sui dispositivi compatibili con HMS il wrapper “dietro le quinte” si occupa di indirizzare le richieste alla piattaforma realizzata da Huawei.
Integrazione ibrida con i principali framework come Flutter, React Native e Cordova
Uno degli aspetti più rilevanti del nuovo HMS Core è che la piattaforma si apre allo sviluppo ibrido supportando popolari framework come Flutter, React Native e Cordova.
Huawei mette a disposizione speciali plugin che consentono ad HMS Core di essere facilmente integrato in qualsiasi framework. Guide, documentazione, esempi concreti e riferimenti alle API utilizzabili permettono allo sviluppatore di realizzare app servendosi di qualunque strumento oggi disponibile sul mercato.
Modelli 3D a partire da oggetti reali e realtà aumentata: 3D Modeling kit e AR Engine
Un vero gioiellino lanciato insieme con HMS Core 6.0 è 3D Modeling kit, strumento che facilita la generazione automatica di modelli 3D in digitale partendo da oggetti reali.
Il kit presentato da Huawei si occupa di generazione e riproduzione digitale dei materiali, della costruzione di modelli 3D e della registrazione dei movimenti.
Grazie al 3D Modeling kit si possono generare precise riproduzioni in tre dimensioni partendo da più foto 2D scattate da diverse angolazioni e trasformare una o più immagini RGB in mappe PBR (Physically Based Rendering) estremamente accurate utili a “fotografare” come la luce interagisce con le varie superfici.
3D Modeling kit permette inoltre di registrare i movimenti del corpo umano tracciando 24 punti chiave e rappresentandoli sotto forma di coordinate assiali 3D. Il tutto usando immagini RGB o fotogrammi video acquisiti dalla normale fotocamera di uno smartphone.
Immaginate poi di riutilizzare i modelli 3D generati in precedenza insieme alla soluzione di realtà aumentata offerta da Huawei: AR Engine.
Tra le varie caratteristiche che integra, il motore per la realtà aumentata presentato alla Droidcon Italy 2021 permette di effettuare una stima della luce ambientale in tempo reale. Per inserire degli oggetti 3D nel mondo reale, ad esempio inquadrando quanto presente nella stanza in cui ci si trova con la fotocamera dello smartphone, AR Engine può riprodurre modelli assolutamente realistici utilizzando le informazioni sull’illuminazione via via raccolte.
Non solo. Gli sviluppatori hanno a disposizione tutto il necessario per rilevare la geometria dell’ambiente in cui ci si trova (pavimento, muri, oggetti che si sviluppano in orizzontale e in verticale) ottimizzando al massimo l’esperienza con le loro app di realtà aumentata.
Le applicazioni basate sull’AR Engine di Huawei saranno in grado di riconoscere gli oggetti verso i quali è puntata la fotocamera del dispositivo mobile e, ad esempio, sovrapporre informazioni utili.
Con AR Cloud Services è possibile realizzare il modello 3D di qualunque oggetto che verrà caricato e conservato sui server di Huawei. Ogniqualvolta l’applicazione dovesse inquadrare un oggetto presente in archivio esso potrà essere gestito come da indicazioni dello sviluppatore.
Il meccanismo è davvero notevole: dal dispositivo si invia su AR Cloud Services un oggetto da tradurre in modello 3D; i server Huawei lo analizzano e generano i dati che vengono restituiti al client; il dispositivo client potrà infine riconoscere uno stesso oggetto in locale senza interrogare di nuovo i server cloud.
Come si vede nell’immagine, lo sviluppatore di un’ipotetica app che aiuta l’utente a scegliere l’auto da acquistare può sovrapporre al “mondo reale” tutta una serie di informazioni, anche in movimento, offrendo un elevato livello di interazione.
Machine learning alla portata di ogni sviluppatore
Durante l’evento Droidcon Italy 2021 si è fatto presente che ogni sviluppatore interessato a utilizzare funzioni di intelligenza artificiale nelle sue app deve semplicemente servirsi del kit machine learning offerto da Huawei nell’ambito di HMS Core 6.0.
Il kit per il machine learning Huawei integra molteplici componenti abilitanti tra cui, ad esempio, gli strumenti per il riconoscimento delle immagini, il text-to-speech, la traduzione dei testi e del parlato e così via.
Ci sono però strumenti molto evoluti che consentono di collegare un’app con la fotocamera del dispositivo e tramite un’apposita API attivare il riconoscimento facciale, analizzare i movimenti del corpo e riconoscere gesture, controllare come si muovono le mani.
Usare il kit per il machine learning di HMS Core è davvero molto semplice perché basta aggiungere la relativa dipendenza nel file Gradle e invocare l’utilizzo dell’API corretta per stabilire ad esempio l’elemento da controllare: mani, corpo, viso.
Sviluppare applicazioni serverless grazie al cloud Huawei
Alcuni sviluppatori si trovano in difficoltà a realizzare anche la parte backend di un’app Android, ad esempio perché non dispongono di competenze sufficienti e il progetto da elaborare deve essere chiuso in tempi brevi.
Le Cloud Functions fornite da Huawei permettono di abilitare l’utilizzo di funzionalità serverless. Il programmatore può in questo modo appoggiarsi all’infrastruttura messa a disposizione da Huawei senza preoccuparsi di sviluppare autonomamente la parte backend.
La gestione di un server è di per sé un lavoro a tempo pieno: dalla configurazione dell’ambiente all’installazione e alla gestione dello stack software. L’applicazione degli aggiornamenti di sicurezza, la verifica delle policy, i meccanismi di autenticazione – soltanto per citarne alcuni – sono tutte cose che devono essere gestite in una configurazione tradizionale. Utilizzando il servizio serverless Huawei tutto questo lavoro di gestione viene rimosso: gli sviluppatori di app hanno semplicemente accesso alle risorse delle quali hanno bisogno, quando ne hanno bisogno.
Come parte della piattaforma AppGallery di Huawei gli sviluppatori possono beneficiare di una vasta gamma di caratteristiche e funzionalità serverless. Si possono usare servizi di hosting web, database, autenticazione, storage e molto altro ancora. Questi servizi permettono l’utilizzo anche a costo zero il che semplifica enormemente le attività di prototipazione e sviluppo di app Android perché non è necessario fare alcun investimento iniziale.
Infine, il Wear Engine di Huawei permette di integrare molto facilmente le app in corso di sviluppo con i dispositivi indossabili. È possibile abilitare la comunicazione tra dispositivi e ottenere istantaneamente lo stato dei device wearable.
Per raccogliere maggiori informazioni è possibile fare riferimento al sito Huawei dedicato agli sviluppatori.
In un altro articolo abbiamo visto come partecipare ai meetup di HDG Italia, risorse essenziali per sviluppatori e professionisti.