Rendere le applicazioni sempre più dinamiche e accattivanti con delle animazioni è spesso complesso, in quanto le competenze tecniche richieste devono spaziare tra diversi ambiti, tra cui il designer, l'animatore e lo sviluppatore che dovrebbe lavorare all'implementazione effettiva. L'implementazione, solitamente, viene spesso fatta in DirectX oppure sfruttando le Windows Composition API (che abbiamo già avuto modo di affrontare in script precedenti), proprio per via del fatto che si vogliono mantenere alte le performance dell'animazione stessa e i 60fps per l'utente che la potrà vedere fluida.
Purtroppo però, come abbiamo visto in passato, le API non sono banali e richiedono anche una certa conoscenza matematica per la realizzazione. Per questo Airbnb, la nota azienda che si occupa di affitti, ha creato una libreria per le sue applicazioni, chiamata Lottie, che è in grado di convertire animazioni fatte in Adobe After Effects in file JSON, che poi possono essere interpretati dall'applicazione stessa tramite un plugin. Anche per la Universal Windows Platform è disponibile un porting della versione ufficiale, disponibile qui: https://github.com/azchohfi/LottieUWP
Per l'implementazione all'interno delle nostre applicazioni, sarà sufficiente installare il pacchetto di NuGet LottieUWP, per avere accesso al nuovo componente LottieAnimationView che permette di renderizzare il file JSON creato in precedenza, come mostrato nell'esempio seguente:
<Page xmlns:lottieUwp="using:LottieUWP" ...> <lottieUwp:LottieAnimationView FileName="Assets/loader.json" RepeatCount="-1" AutoPlay="True" /> <!-- ... --!> </Page>
Il file laoder.json è stato pre-importanto all'interno della cartella degli Asset dell'applicazione stessa. Questo sistema rende più semplice integrare le animazioni poiché il render verrà effettuato dal componente LottieAnimationView stesso e, inoltre, sono già moltissimi i siti web che permettono di scaricare migliaia di asset JSON con le animazioni pre-costruite.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Generare velocemente pagine CRUD in Blazor con QuickGrid
Utilizzare Container Queries nominali
Utilizzare un service principal per accedere a Azure Container Registry
Usare i servizi di Azure OpenAI e ChatGPT in ASP.NET Core con Semantic Kernel
Disabilitare automaticamente un workflow di GitHub
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
Limitare le richieste lato server con l'interactive routing di Blazor 8
Assegnare un valore di default a un parametro di una lambda in C#
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Gestione dell'annidamento delle regole dei layer in CSS