Una vetrina di strumenti ora disponibili sul web grazie a WebAssembly.
WebAssembly consente agli sviluppatori di portare nuove funzionalità performanti sul web da altri linguaggi. Negli ultimi anni, gli sviluppatori hanno sfruttato al meglio le possibilità offerte. Questo post mostra solo alcuni dei nuovi strumenti di cui puoi usufruire, in parte grazie a WebAssembly.
Strumenti e librerie che puoi utilizzare ora
Senza ulteriori indugi, passiamo alla parte interessante :D
SQLite
Questa porta completa di SQLite ti offre un sistema di gestione di database relazionali leggero e incorporato. Per scoprire di più, leggi questo post del blog che mostra questa incredibile porta e come utilizzarla.
FFmpeg.wasm
FFmpeg è un progetto di software open source senza costi composto da una suite di librerie e programmi per la gestione di file e stream video, audio e multimediali. Puoi trovare una versione compilata in wasm qui (repository GitHub) che ti consente di utilizzare tutte queste funzionalità direttamente nel browser.
Universal Scene Description (USD)
Universal Scene Description (USD) è un framework per i dati di computer grafica 3D incentrato sulla collaborazione, sull'editing non distruttivo e sulla possibilità di visualizzare più punti di vista e opinioni sui dati grafici. Si tratta di uno standard di settore supportato da Pixar, Autodesk, Nvidia e molti altri. È ancora presto per l'assistenza web, ma Autodesk ha già reso open source un visualizzatore USD basato sul web che puoi visualizzare qui.
CanvasKit
CanvasKit è Skia, il motore di rendering di Chrome e Android, compilato direttamente in WebAssembly. Con questa API JavaScript semplice, puoi accedere praticamente a tutta la potenza del motore di rendering Skia. Le funzionalità includono il rendering complesso, la formattazione del testo, l'animazione, l'inchiostro digitale e altro ancora. Consulta il pacchetto npm e la guida rapida.
TensorFlow.js
TensorFlow.js porta la potenza di TensorFlow direttamente nel browser con una semplice API JavaScript. Sotto il cofano, ottimizza i modelli sia sulla GPU che sulla CPU (incluse le ottimizzazioni SIMD) per massimizzare le prestazioni. Puoi consultare la guida introduttiva o guardare alcune delle relative demo.
OpenCV
OpenCV è uno standard di settore per le funzioni di programmazione principalmente per la visione artificiale in tempo reale. Qui puoi trovare un pacchetto npm facile da usare e, per gli utenti di Emscripten, sono disponibili anche istruzioni dettagliate per eseguire una compilazione completa. Per scoprire in che modo SIMD e i thread stanno migliorando le prestazioni di questi carichi di lavoro, puoi guardare questa sezione del talk Modern WebAssembly del Chrome Dev Summit.
Cocos
Cocos è un potente e popolare motore grafico che consente agli sviluppatori di creare giochi con supporto multipiattaforma, ora incluso il web. Si unisce al lungo elenco di motori di gioco che consentono l'esportazione web tramite wasm. Per iniziare, apri Cocos Editor e segui queste istruzioni.
Conclusione
Oltre a questi esempi specifici, ci sono molti aspetti interessanti in termini di potenziale di WebAssembly per cambiare il ritmo delle nuove funzionalità web. Chrome ha anche creato il Fondo per le app web avanzate, che può aiutare gli sviluppatori a finanziare il proprio lavoro per migliorare le funzionalità web disponibili per tutti gli sviluppatori.
Immagine hero di Pexels, di Ann Marie Kennon.