Nuove funzionalità per gli sviluppatori offerte da WebAssembly

Una vetrina degli strumenti ora disponibili sul web grazie a WebAssembly.

Thomas Nattestad
Thomas Nattestad

WebAssembly consente agli sviluppatori di portare sul web nuove funzionalità ad alte prestazioni da altri linguaggi. Negli ultimi anni gli sviluppatori hanno davvero sfruttato questa possibilità. Questo post presenta solo alcuni dei nuovissimi strumenti di cui puoi trarre vantaggio, in parte grazie a WebAssembly.

Strumenti e librerie che puoi usare

Senza ulteriori indugi, passiamo alle cose migliori :D

SQLite

Questa porta completa di SQLite ti offre un sistema di gestione di database relazionali leggero, incorporato e Per saperne di più, leggi questo post del blog che illustra questo incredibile trasferimento e come utilizzarlo.

FFmpeg.wasm

FFmpeg è un progetto software open source senza costi che comprende una suite di librerie e programmi per la gestione di stream e file video, audio e di altro tipo. Puoi trovare una versione compilata Wasm qui (repo su github) che ti consente di svolgere tutte queste funzionalità direttamente nel browser.

Descrizione universale della scena (USD)

Universal Scene Description (USD) è un framework per i dati di grafica computerizzata 3D incentrati sulla collaborazione, sull'editing non distruttivo e sull'abilitazione di molteplici visualizzazioni e opinioni sui dati grafici. È uno standard di settore supportato da Pixar, Autodesk, Nvidia e molti altri. Il supporto web è ancora agli inizi, ma Autodesk ha già reso open source un visualizzatore USD basato sul web, che puoi vedere qui.

CanvasKit

CanvasKit è Skia, il motore di rendering di Chrome e Android, compilato direttamente in WebAssembly. che ti consente di accedere in modo semplice all'API JavaScript a praticamente tutta la potenza del motore di rendering Skia. La funzionalità include rendering complesso, modellazione del testo, animazioni, scrittura a mano libera 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. In background, ottimizza i modelli sia di GPU che di CPU (incluse le ottimizzazioni SIMD) per massimizzare le prestazioni. Puoi consultare la Guida introduttiva o consultare direttamente alcune delle demo.

OpenCV

OpenCV è uno standard di settore di funzioni di programmazione principalmente per la visione artificiale in tempo reale. Qui è disponibile un pacchetto npm facile da usare, mentre per gli utenti di Emscripten sono disponibili anche istruzioni dettagliate per eseguire una build completa. Per scoprire in che modo SIMD e thread stanno migliorando le prestazioni di questi carichi di lavoro, puoi guardare questa sezione della discussione sul Chrome Dev Summit di Modern WebAssembly.

Cocos

Cocos è un motore grafico potente e popolare che consente agli sviluppatori di creare giochi con supporto multipiattaforma e ora include il web. Si unisce al lungo elenco di motori di gioco che consentono l'esportazione web tramite wasm. Per iniziare, accedi all'editor di Cocos e segui queste istruzioni.

Conclusione

Oltre a questi esempi specifici, c'è molto di cui essere entusiasti in termini di possibilità di WebAssembly di cambiare il ritmo delle nuove funzionalità web. Chrome ha anche istituito l'Advanced Web Apps Fund per aiutare gli sviluppatori a finanziare il loro lavoro per far progredire la funzionalità web disponibile per tutti gli sviluppatori.

Immagine hero di Pexels, di Ann Marie Kennon.