Chi frequenta il mondo .NET e in particolare quello di Xamarin non può non conoscere Praeclarum, al secolo Frank A. Krueger, sviluppatore al limite del mitologico con un profilo pubblico Github che tra le altre cose annovera sqlite-net (libreria per usare Sqlite con Xamarin) e Continuous (IDE per iOS sviluppato in F#).
Ebbene il buon Frank da giugno dell’anno scorso sta lavorando a Ooui, libreria nuget con cui far girare applicazioni Xamarin Forms su un browser.
Il logo è una puzzola
Detta così potrebbe sembrare quasi una minaccia perché è cosa nota che Xamarin Forms non vada proprio del tutto a genio a molti sviluppatori, e il sottoscritto è tra questi, ma è anche innegabile lo sforzo della Microsoft di far evolvere e stabilizzare questa tecnologia, quindi ben venga l’apertura di nuovi filoni che possano aiutare a farla crescere.
Come è stata accolto Ooui nell’ambiente
La faccio breve: seppur sia ancora un progetto quanto meno acerbo, si è manifestato un certo entusiasmo. L’idea di riutilizzare su più piattaforme la stessa base di codice e di conoscenze fa festa. Un bell’articolo da leggere è quello di Telerik, dove l’autore cerca di spiegare i vari approcci e il perché non bisogna a vederla come una rinascita di Silverlight.
https://www.telerik.com/blogs/xamarin-forms-on-the-web
Molto interessante anche il contributo di Adam Pedley altro soggetto che non si può non conoscere se si lavora con Xamarin, in cui Adam spiega come percorrere l’ultimo miglio per far diventare la nostra applicazione web basata su Xamarin.Forms una Progressive Web App a tutti gli effetti aggiungendo manifest e webworker.
https://xamarinhelp.com/create-a-pwa-in-xamarin-forms-with-ooui-wasm/
Il mio esperimento
https://decimaltime.azurewebsites.net/
Un orologio. Decimale. C’è un motivo, e potete leggerlo nel readme del repository. L’orologio è anche tra gli esempi di Xamarin e tra quelli di Ooui, ma nel nostro ci sono un po’ di casi in più: mix di binding e non, immagine di sfondo, popup, libreria nuget per il calcolo delle date… un esempio abbastanza interessante su come trasformare velocemente un’applicazione mobile scritta con Xamarin Forms in webapp utilizzando Ooui.
Nel repository trovate l’applicazione iOS, quella Android (pubblicata anche su PlayStore), l’applicazione web basata su WebAssembly, e quella web ma con backend in cloud e web-socket. Quella sopra è la versione “non wasm”, avviando quella wasm si nota che a differenza dell’altra vengono scaricate tutte le dll e che non si apre alcuna web-socket perché gira tutto in-process all’interno del browser, ma la trasformazione dei componenti Forms in Html5 funziona allo stesso modo.
Se per qualche misterioso e irrazionale motivo vi piace l’idea dell’orologio decimale con calendario repubblicano sappiate che su Azure ho pubblicato anche delle API web, basate sulla stessa libreria usata nell’app Xamarin Forms.
À la guerre!