Ecco gli strumenti messi a disposizione da Huawei per gli sviluppatori italiani

Entriamo maggiormente nel dettaglio dei contenuti del primo Huawei Developer Day italiano e vediamo quali strumenti vengono messi a disposizione degli sviluppatori. Sono un mattone fondamentale dello sforzo profuso da Huawei i programmi di training e supporto dedicati, come Huawei Codelabs
di Redazione pubblicata il 16 Dicembre 2019, alle 16:41 nel canale TelefoniaHuawei
Il 26 novembre è stato un giorno molto importante per Huawei in Italia. Il colosso cinese ha infatti annunciato che ben 10 milioni del miliardo di dollari investito a livello globale per supportare gli sviluppatori, sarà dirottato verso il nostro Paese. In sintesi l'idea è quella di costruire un sistema operativo basato su AOSP - Android Open Source Project -, versione libera e non licenziata da Google (quindi priva dei Google Mobile Services), con gli Huawei Mobile Services (HMS) a fare da cuore del sistema. Al momento i GMS offrono diverse scorciatoie per gli sviluppatori, evitando a essi di sviluppare servizi integrati nelle app, ma potendo sfruttare le API di Google, ad esempio per l'autenticazione utilizzando il Google ID o la gestione della posizione con Google Maps.
Abbiamo dedicato un articolo al primo Huawei Developer Day, tenutosi a Milano, appunto, il 26 novembre e in cui Pier Giorgio Furcas -Deputy General Manager Consumer Business Group Huawei Italy - ha voluto fare una vera e propria chiamata alle armi agli sviluppatori italiani.
In molti ci hanno scritto per capire meglio in cosa consistono gli strumenti messi a disposizione dei programmatori e come gli sviluppatori possano beneficiarne. Innanzitutto segnaliamo il luogo dove trovare tutte le risorse, comprese le guide e i kit di sviluppo: https://huaweideveloperitalia.makeitpossible.me/. Al livello italiano il sito di riferimento è https://consumer.huawei.com/it/mobileservices/huawei-developer-italia/.
Forse però è necessario fare un passo indietro e analizzare gli strumenti che Huawei mette a disposizione. HMS è un progetto che affonda le sue radici lontano nel tempo ed è nato ben 7 anni fa, quando ancora il successo globale in ambito consumer di Huawei non era ancora esploso e con esso il ban statunitense. Gli Huawei Mobile Service sono sbarcati 4 anni fa in Europa e tutti gli utenti degli smartphone conoscono bene alcuni di essi. Uno dei più utilizzati è quello che permette la distribuzione e l'installazione dei temi, aspetto su cui Huawei ha sempre spinto molto e la cui abbondanza (e quindi capacità di trovare la personalizzazione giusta per ogni utente) è oggi un punto di forza dei terminali e fonte di revenue per gli sviluppatori.
App Gallery è uno degli altri servizi presenti in più di 170 nazioni e che raggiunge 500 milioni di utenti, dei quali almeno 75 milioni al di fuori della Cina. App Gallery permette la distribuzione globale e gratuita delle app create dagli sviluppatori. In alcuni casi, anche italiani, la presenza su App Gallery ha rappresentato un'importantissima porta d'ingresso nel mercato cinese, dove i servizi Google invece non penetrano.
Come tutte le repository di applicazioni, anche in App Gallery ci sono sistemi per mettere in maggiormente in mostra le app, come le vetrine, le app consigliate, i banner pubblicitari. Gli sviluppatori che accedono al programma di partnership Huawei avranno a disposizione gratuitamente budget di promozione in App Gallery e negli altri servizi Huawei, come Huawei Video.
C'è poi tutta una serie di strumenti che gli sviluppatori possono implementare nelle proprie app, evitando lavoro inutile (e magari già fatto meglio da Huawei). Se serve un browser è possibile sfruttare quello già messo a disposizione da Huawei, a soprattutto blocchi di codice per sfruttare al meglio le API della fotocamera e accedere a quelle funzionalità, come la ripresa ad alta velocità, il riconoscimento facciale, l'intelligenza artificiale per riconoscere scene, persone, oggetti e testi, ma anche il tracciamento del movimento e le funzioni di realtà aumentata. In generale l'accesso ai servizi HiAI permette di sfruttare in modo semplice gli algoritmi di deep learning dell'intelligenza artificiale messa a punto da Huawei, anche a livello profondo dei chip dedicati sugli smartphone, senza dover avere nel proprio team un esperto in materia.
Huawei ID, che vede già 500 milioni di utenti registrati, 200 milioni dei quali Monthly Active User, utente che sfruttano l'accesso almeno una volta al mese, è un altro dei 'building block' messi a disposizione degli sviluppatori, che trovano un modo semplice per effettuare le procedure di login degli utenti nelle loro app, senza doversi preoccupare di temi come la protezione della privacy e il regolamento GDPR, a cui Huawei ID è già conforme. Il sistema integra già la possibilità di one-click login su piattaforme come Facebook, Twitter, QQ, WeChat, Weibo.
Similmente anche Huawei Push Service permette la distribuzione di notifiche e messaggi nelle app assolvendo a tutti gli obblighi di legge in materia di privacy. Huawei IAP Service semplifica la vita agli sviluppatori nel campo dei pagamenti in-app, senza che essi debbano sviluppare da zero sistemi conformi agli obblighi normativi e connessi coi principali metodi di pagamento a livello globale.
Sono un mattone fondamentale dello sforzo profuso da Huawei i programmi di training e supporto dedicati agli sviluppatori, con la possibilità di ricevere, anche direttamente in azienda, supporto diretto da parte dei programmatori Huawei per la creazione dei servizi e delle applicazioni. Huawei Codelabs è la repository dove sono presenti tutte le guide per iniziare a programmare e a utilizzare i diversi kit. La raccolta è strutturata in modo molto chiaro, con ben specificato il tempo necessario per completare la formazione e cominciare a utilizzare i servizi. Inoltre sono disponibili molte porzioni di codice pre-compilate e che permettono di effettuare chiamate ai diversi servizi, che gli sviluppatori possono integrare come building block all'interno dei loro programmi. Tra le varie risorse altro mattone fondamentale è HMS SDK che può essere integrato in AndroidStudio utilizzando la repository Maven.
La monetizzazione delle app è fondamentale per gli sviluppatori e diversi strumenti di sviluppo si concentrano attorno al kit Huawei In-App Purchases (IAP), parte di HMS Core. Troviamo ad esempio una Sandbox per il test di app e servizi e le sessioni di pagamento al loro interno, che integra anche una time machine per testare in pochi minuti app che hanno modelli a sottoscrizione periodica: da 3 minuti a un'ora è possibile testare rinnovi dei servizi in abbonamento da una settimana a un anno. Accanto ai kit di sviluppo e alle porzioni di codice pre-compilate, nella sezione contenuti di https://consumer.huawei.com/it/mobileservices/huawei-developer-italia/ è possibile trovare la Developer Guide e 5 presentazioni PowerPoint che guidano nello sviluppo passo-passo anche i meno esperti.
4 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoIl problema non era quello di fare una app ex novo con le chiamate ai servizi Huawei invece che a quelli google, sarebbe stata una cosa lunga ma semplice. Invece si voleva fare il porting, quindi quel che serviva era una modifica veloce dell'App dell'azienda dello sviluppatore e quindi una serie di wrapper tra i google services e gli huawei services. In pratica un wrapper per ogni chiamata con la manutenzione del wrapper fatta da Huawei in modo che l'esoso compito non ricadesse sull'azienda.
Bene, i programmatori Huawei sono coscienti del problema ma i vertici non stanno andando in questa direzione. Quindi la domanda è:
" svilupperanno e manuteneranno i wrapper tra i due mondi?"
Quello che avrebbe dovuto fare MS..
Ma non l'ha fatto... peccato ..Il problema non era quello di fare una app ex novo con le chiamate ai servizi Huawei invece che a quelli google, sarebbe stata una cosa lunga ma semplice. Invece si voleva fare il porting, quindi quel che serviva era una modifica veloce dell'App dell'azienda dello sviluppatore e quindi una serie di wrapper tra i google services e gli huawei services. In pratica un wrapper per ogni chiamata con la manutenzione del wrapper fatta da Huawei in modo che l'esoso compito non ricadesse sull'azienda.
Bene, i programmatori Huawei sono coscienti del problema ma i vertici non stanno andando in questa direzione. Quindi la domanda è:
" svilupperanno e manuteneranno i wrapper tra i due mondi?"
Una piccola precisazione: il mio commento non riguardava questo, anzi questo è facile ed è giusto che venga gestito dagli sviluppatori delle app, e non è molto diverso da ciò che bisogna fare se si vuole supportare Amazon Fire o qualche distribuzione alternativa (tipo il progetto Astoria di Windows 10 Mobile, se fosse andato in porto o i defunti Nokia X), il problema è un altro.
Al momento se vuoi fare un'app Android hai fondamentalmente davanti due strade*: o fai un'app nativa in Java e/o Kotlin, o usi uno dei vari framework che ti permettono di riutilizzare una percentuale variabile di codice tra più piattaforme. I più famosi sono Xamarin (acquisita da Microsoft qualche anno fa), React Native (di Facebook), Flutter (di Google) e Cordova (Apache). Non ti saprei dire una percentuale, ma molte app ormai vengono scritte con una di queste tecnologie piuttosto che con l'SDK nativo.
Nel caso delle app Java/Kotlin è facile usare HMS: aggiungi il repository Maven, aggiungi una riga alla lista delle dipendenze e magicamente la libreria HMS è pronta e utilizzabile. Due minuti in totale e sei pronto.
Nel caso delle altre app, questi framework hanno bisogno di un po' di codice "collante" per poter utilizzare librerie native, che va scritto e soprattutto mantenuto, per poter gestire il passaggio tra il mondo Java in cui HMS vive e il mondo C#/JavaScript/Dart in cui gran parte dell'app vive.
Questo collante non è di per se difficile da scrivere, ma più è vasta la libreria che vuoi wrappare e più lungo/tedioso diventa il lavoro. Poi bisogna anche testarla e mantenerla aggiornata con le nuove release delle piattaforme.
Ora, nemmeno per GMS (e molte librerie famose) esistono wrapper ufficiali gestiti direttamente dagli autori delle librerie, ad esempio qui trovi il wrapper GMS per Xamarin, che appunto è mantenuto da Xamarin stessa (così come per AndroidX o molte altre librerie).
HMS però è un player piccolo rispetto a GMS, ci sono un miliardo di app per GMS (e/o distribuite su Play Store) contro un numero non pubblico ma sicuramente più piccolo di app per HMS/distribuite su AppGallery.
Pubblicare dei wrapper, anche di una sola parte di HMS, sui vari package manager (e open source su GitHub ovviamente) cambierebbe tantissimo le cose, attirerebbe anche molti sviluppatori per contribuire ai wrapper.
*: la stessa cosa vale per iOS, ovviamente con Objective-C e Swift al posto di Java e Kotlin
L'ha fatto, ma non è bastato (a compensare il resto)
Grazie della precisazione
Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".