WebAssembly (WASM) è un formato di codice binario portatile di basso livello che viene eseguito sui browser moderni, proprio come fa JavaScript. In effetti, WebAssembly è anche interoperabile con JavaScript. È possibile trasferire la maggior parte del codice sorgente del programma in WebAssembly ed eseguirlo sul browser con o senza JavaScript.

Rust è veloce, rendendo il linguaggio un'opzione praticabile per la creazione di programmi WebAssembly. Ci sono molte librerie e framework Rust per aiutarti, con supporto per gli strumenti che usi per creare app web.

1. La Biblioteca del Sicomoro

Sicomoro è un framework reattivo simile a SolidJS veloce, ergonomico e intuitivo. Puoi usarlo per creare applicazioni Web in Rust che sfruttano la potenza di WebAssembly. Sycamore fornisce la maggior parte delle funzionalità necessarie per creare un frontend di app Web in Rust, quindi non sarà necessario scrivere JavaScript.

Sycamore fornisce anche un router e l'interoperabilità JavaScript su Wasm-Bindgen utilizzando JS-sys o Web-Sys. Il progetto intende rilasciare presto funzionalità di test e CSS.

instagram viewer

Per usare Sycamore, avrai bisogno di una versione recente di Rust—the wasm32-sconosciuto-sconosciuto obbiettivo. Avrai anche bisogno di Trunk per creare e raggruppare la tua applicazione. Poiché Sycamore è nuovo, sarà rischioso utilizzare la libreria principale in produzione, a meno che non si ricorra a una versione precedente.

2. Il quadro del tasso

Tasso è un framework Rust per la creazione di app Web frontend multithread utilizzando WebAssembly. Ti consente di scrivere codice Rust e trasporre il tuo codice Rust in WASM, che può essere eseguito su qualsiasi dispositivo con supporto WASM. Yew è interoperabile con JavaScript (puoi usare il tuo pacchetti npm), e il framework fornisce una macro per interagire con gli elementi HTML con Rust, come JSX in React.

Puoi iniziare con Yew usando il bundler dell'applicazione Trunk o WASMPack. Consulta la documentazione su come iniziare, interagire con HTML e API DOM e trasponi il tuo codice Rust in WebAssembly.

Il progetto Yew è molto popolare, con oltre ventimila stelle su Github e cinquemila utenti. Yew è stabile, ma il progetto non è pronto per la produzione e la base del codice sta cambiando, quindi potresti riscontrare errori e interruzioni.

3. La Biblioteca Percy

Percy è una raccolta di librerie Rust per la creazione di app Web frontend basate su WebAssembly. Percy supporta il rendering lato server istantaneo. Il progetto eccelle nella creazione di applicazioni a pagina singola (SPA) compatibili con i motori di ricerca.

Percy fornisce un html! macro per la generazione di DOM virtuali. Puoi renderli in elementi DOM nel frontend o usarli per operazioni nel backend della tua applicazione.

Percy è ancora molto nuovo e, sebbene la libreria non sia pronta per la produzione, il progetto è molto popolare, con oltre duemila stelle su Github.

4. Il quadro dei semi

Seme è un framework basato su WebAssembly completo e completo di batterie per la creazione di app Web veloci in Rust. Il framework Seed fornisce un sistema di modelli che utilizza una sintassi macro invece della sintassi simile a JSX di Yew. Ha anche un sistema di gestione dello stato integrato per migliorare la produttività.

Il seme è nuovo e i componenti prefabbricati come i raccoglitori di date sono rari. Sebbene Seed al momento non supporti il ​​rendering lato server, il progetto mira a includerlo presto. In caso contrario, Seed è completo di funzionalità e con esso puoi creare applicazioni Web pronte per la produzione. Seed utilizza anche l'architettura Elm con una configurazione minima. Puoi creare e raggruppare le tue applicazioni utilizzando Trunk, Web Bundler o Seeder.

Puoi anche utilizzare Seed per il back-end della tua applicazione web. Seed fornisce funzionalità per la creazione di API REST o GraphQL con supporto di routing e autenticazione e integrazione AuthO.

MoonZoon è un framework di facile utilizzo, full-stack, supportato da WebAssembly per applicazioni front-end e back-end. Puoi scrivere Rust senza dover scrivere HTML, CSS e JavaScript sul frontend o REST, GraphQL o SQL sul backend. MoonZoon è veloce, semplice, scalabile e SEO friendly. Fornisce un'applicazione CLI per creare app Web facili da distribuire.

La filosofia del progetto MoonZoon è quella di creare uno strumento molto semplice senza una terminologia speciale, barriere artificiali o dogmi. Usandolo, puoi concentrarti sulla creazione di applicazioni web a tuo piacimento. Avrai bisogno di WASM-Pack installato per costruire il front-end. Il backend di un'applicazione MoonZoon viene eseguito su Actix-web e Warp, entrambi i popolari framework di backend Rust. MoonZoon fornisce anche funzionalità di autenticazione.

La documentazione di MoonZoon non è al momento ospitata. Per utilizzare lo strumento, puoi controllare i file di markdown nel file documenti cartella tramite il progetto Archivio GitHub.

Potresti aver interagito con WebAssembly

WebAssembly è stato rilasciato per la prima volta nel 2017 e il World Wide Web Consortium (W3C) ha reso WebAssembly uno standard web nel 2019. Dal 2019, aziende come Cloudflare, Google e Dropbox hanno utilizzato la tecnologia nella produzione.

Google Earth utilizza WebAssembly, Cloudflare lo utilizza per Cloudflare Workers e Dropbox utilizza WebAssembly per un codec sul proprio sito Web.