WebAssembly (WASM) on kaasaskantav madala tasemega kahendkoodivorming, mis töötab tänapäevastes brauserites, täpselt nagu JavaScript. Tegelikult on WebAssembly ka JavaScriptiga koostalitlusvõimeline. Saate enamiku programmide lähtekoodi üle kanda WebAssemblysse ja käivitada seda brauseris JavaScriptiga või ilma.

Rooste on kiire, muutes keele WebAssembly programmide koostamiseks elujõuliseks võimaluseks. Abiks on palju Rusti teeke ja raamistikke, mis toetavad veebirakenduste koostamiseks kasutatavaid tööriistu.

1. Sycamore'i raamatukogu

Sycamore on kiire, ergonoomiline ja intuitiivne SolidJS-i sarnane reaktiivne raamistik. Saate seda kasutada Rustis veebirakenduste loomiseks, mis kasutavad WebAssembly võimsust. Sycamore pakub suurema osa funktsioonidest, mida vajate Rustis veebirakenduse kasutajaliidese loomiseks, nii et te ei pea JavaScripti kirjutama.

Sycamore pakub ka ruuteri ja JavaScripti koostalitlusvõimet Wasm-Bindgeni kaudu, kasutades JS-sys või Web-Sys. Projekt kavatseb peagi testimise ja CSS-i funktsioonid välja anda.

Sycamore'i kasutamiseks vajate värskemat Rusti versiooni – the wasm32-tundmatu-tundmatu sihtmärk. Rakenduse koostamiseks ja komplekteerimiseks vajate ka pagasiruumi. Kuna Sycamore on uus, on peamise haruteegi kasutamine tootmises riskantne, välja arvatud juhul, kui kasutate varasemat versiooni.

2. Jugapuu raamistik

Jugapuu on Rusti raamistik mitme lõimega esiserva veebirakenduste loomiseks WebAssembly abil. See võimaldab teil kirjutada Rust-koodi ja edastada oma Rust-koodi WASM-i, mis võib töötada mis tahes WASM-i toega seadmes. Yew on JavaScriptiga koostalitlusvõimeline (saate kasutada oma npm paketid) ja raamistik pakub makrot HTML-elementidega suhtlemiseks koos Rustiga, nagu JSX Reactis.

Yewiga saate alustada, kasutades rakenduste komplekti Trunk või WASMPacki. Lugege dokumentatsioonist, kuidas alustada, HTML-iga suhelda ja DOM-i API-d ja edastage oma Rust-kood WebAssemblysse.

Projekt Yew on väga populaarne, Githubis on üle kahekümne tuhande tärni ja viis tuhat kasutajat. Jugapuu on stabiilne, kuid projekt pole tootmiseks valmis ja koodibaas on muutumas, mistõttu võib esineda vigu ja katkestusi.

3. Percy raamatukogu

Percy on Rusti teekide kogumik WebAssembly toel töötavate esiotsa veebirakenduste loomiseks. Percy toetab kohest serveripoolset renderdamist. Projekt paistab silma otsingumootorisõbralike üheleheliste rakenduste (SPA-de) loomisega.

Percy pakub an html! makro virtuaalsete DOM-ide genereerimiseks. Saate need renderdada eessüsteemis DOM-i elementideks või kasutada neid operatsioonide jaoks oma rakenduse taustaprogrammis.

Percy on veel väga uus ja kuigi raamatukogu pole tootmiseks valmis, on projekt väga populaarne, Githubis on üle kahe tuhande tärni.

4. Seemnete raamistik

Seeme on patareidega täiskomplektne WebAssembly-toega raamistik kiirete veebirakenduste loomiseks Rustis. Seed-raamistik pakub mallisüsteemi, mis kasutab Yew's JSX-i sarnase süntaksi asemel makrosüntaksit. Sellel on ka tootlikkuse suurendamiseks sisseehitatud olekuhaldussüsteem.

Seeme on uus ja eelehitatud komponendid, nagu kuupäevakorjajad, on haruldased. Kuigi Seed ei toeta praegu serveripoolset renderdamist, on projekti eesmärk see varsti kaasata. Vastasel juhul on Seed funktsioonidega täielik ja saate sellega luua tootmisvalmis veebirakendusi. Seed kasutab ka minimaalse konfiguratsiooniga Elmi arhitektuuri. Saate oma rakendusi koostada ja komplekteerida kasutades Trunk, Web Bundler või Seeder.

Seedi saate kasutada ka oma veebirakenduse taustaprogrammina. Seed pakub funktsioone REST või GraphQL API-de loomiseks koos marsruutimise ja autentimise toega ning AuthO integratsiooniga.

MoonZoon on hõlpsasti kasutatav täispinu, WebAssembly toega raamistik esi- ja taustarakenduste jaoks. Saate kirjutada Rusti ilma, et peaksite kirjutama HTML-i, CSS-i ja JavaScripti esiprogrammi või REST-i, GraphQL-i või SQL-i taustaprogrammi. MoonZoon on kiire, lihtne, skaleeritav ja SEO-sõbralik. See pakub CLI-rakendust veebirakenduste loomiseks, mida on lihtne juurutada.

MoonZoon projekti filosoofia on luua väga lihtne tööriist, millel pole erilist terminoloogiat, kunstlikke tõkkeid ega dogmasid. Seda kasutades saate keskenduda veebirakenduste loomisele, nagu soovite. Esiosa ehitamiseks peab teil olema installitud WASM-Pack. MoonZooni rakenduse taustaprogramm töötab Actix-webis ja Warpis, mis on mõlemad populaarsed Rusti taustaraamistikud. MoonZoon pakub ka autentimisfunktsiooni.

MoonZooni dokumentatsioon ei ole praegu hostitud. Tööriista kasutamiseks saate vaadata allahindlusfaile jaotises dok kausta projekti kaudu GitHubi hoidla.

Võib-olla olete WebAssemblyga suhelnud

WebAssembly ilmus esmakordselt 2017. aastal ja World Wide Web Consortium (W3C) muutis WebAssembly 2019. aastal veebistandardiks. Alates 2019. aastast on sellised ettevõtted nagu Cloudflare, Google ja Dropbox kasutanud seda tehnoloogiat tootmises.

Google Earth kasutab WebAssemblyt, Cloudflare kasutab seda Cloudflare Workersi jaoks ja Dropbox kasutab WebAssemblyt oma veebisaidi kodeki jaoks.