WebAssembly (WASM), tıpkı JavaScript’in yaptığı gibi, modern tarayıcılarda çalışan taşınabilir, düşük seviyeli bir ikili kod biçimidir. Aslında WebAssembly, JavaScript ile de birlikte çalışabilir. Çoğu program kaynak kodunu WebAssembly’a aktarabilir ve JavaScript ile veya JavaScript olmadan tarayıcıda çalıştırabilirsiniz.

Bir Sonraki Uygulamanız İçin 5 Rust WebAssembly Çerçevesi

Rust hızlıdır ve dili WebAssembly programları oluşturmak için uygun bir seçenek haline getirir. Web uygulamaları oluşturmak için kullandığınız araçları destekleyen birçok Rust kitaplığı ve çerçevesi vardır.

1. Çınar Kütüphanesi

Sycamore hızlı, ergonomik ve sezgisel bir SolidJS benzeri reaktif çerçevedir. Rust’ta WebAssembly’ın gücünden yararlanan web uygulamaları oluşturmak için kullanabilirsiniz. Sycamore, Rust’ta bir web uygulaması ön ucu oluşturmak için ihtiyaç duyacağınız işlevlerin çoğunu sağlar, böylece JavaScript yazmanıza gerek kalmaz.

Sycamore ayrıca JS-sys veya Web-Sys kullanarak Wasm-Bindgen üzerinden bir yönlendirici ve JavaScript birlikte çalışabilirliği sağlar. Proje, test ve CSS işlevselliğini yakında yayınlamayı planlıyor.

Sycamore’u kullanmak için, wasm32-unknown-unknown hedefi olan Rust’ın yeni bir sürümüne ihtiyacınız olacak . Uygulamanızı oluşturmak ve gruplandırmak için Trunk’a da ihtiyacınız olacak. Sycamore yeni olduğu için, daha önceki bir sürüme başvurmadığınız sürece, üretimde ana şube kitaplığını kullanmak riskli olacaktır.

2. Porsuk Çerçevesi

Yew , WebAssembly kullanarak çok iş parçacıklı ön uç web uygulamaları oluşturmaya yönelik bir Rust çerçevesidir. Rust kodu yazmanıza ve Rust kodunuzu WASM desteği olan herhangi bir cihazda çalışabilen WASM’ye aktarmanıza olanak tanır. Yew, JavaScript ile birlikte çalışabilir ( npm paketlerinizi kullanabilirsiniz ) ve çerçeve, React’teki JSX gibi Rust ile HTML öğeleriyle etkileşim için bir makro sağlar.

Trunk uygulama paketleyicisini veya WASMPack’i kullanarak Yew ile başlayabilirsiniz. Nasıl başlayacağınız, HTML ve DOM API’leri ile etkileşim kurmanız ve Rust kodunuzu WebAssembly’a aktarmanız için belgelere bakın.

Github’da yirmi binden fazla yıldız ve beş bin kullanıcıyla Yew projesi çok popüler. Porsuk istikrarlı, ancak proje üretime hazır değil ve kod tabanı değişiyor, bu nedenle hatalar ve kesintiler yaşayabilirsiniz.

3. Percy Kütüphanesi

Percy , WebAssembly tarafından desteklenen ön uç web uygulamaları oluşturmaya yönelik bir Rust kitaplıkları koleksiyonudur. Percy, anında sunucu tarafı oluşturmayı destekler. Proje, arama motoru dostu tek sayfalı uygulamalar (SPA’lar) oluşturmada mükemmeldir.

Percy bir html sağlar! sanal DOM’lar oluşturmak için makro. Bunları ön uçtaki DOM öğelerine dönüştürebilir veya uygulamanızın arka ucundaki işlemler için kullanabilirsiniz.

Percy hâlâ çok yeni ve kitaplık üretime hazır olmasa da proje Github’da iki binin üzerinde yıldızla çok popüler.

4. Tohum Çerçevesi

Seed , Rust’ta hızlı web uygulamaları oluşturmak için pil içeren, tam yığın WebAssembly ile çalışan bir çerçevedir. Seed çerçevesi, Yew’in JSX benzeri sözdizimi yerine makro sözdizimi kullanan bir şablon oluşturma sistemi sağlar. Ayrıca üretkenliği artırmak için yerleşik bir durum yönetim sistemine sahiptir.

Tohum yenidir ve tarih seçiciler gibi önceden oluşturulmuş bileşenler nadirdir. Seed şu anda sunucu tarafı işlemeyi desteklemese de, proje bunu yakında dahil etmeyi hedefliyor. Aksi takdirde, Seed tam özelliklidir ve onunla üretime hazır web uygulamaları oluşturabilirsiniz. Seed ayrıca minimum yapılandırma ile Elm mimarisini kullanır. Uygulamalarınızı Trunk, Web Bundler veya Seeder kullanarak oluşturabilir ve paketleyebilirsiniz.

Web uygulamanızın arka ucu için Seed’i de kullanabilirsiniz. Seed, yönlendirme ve kimlik doğrulama desteği ve AuthO entegrasyonu ile REST veya GraphQL API’leri oluşturmak için işlevsellik sağlar.

5. MoonZoon Araç Seti

MoonZoon , ön uç ve arka uç uygulamaları için kullanımı kolay, tam yığınlı, WebAssembly destekli bir çerçevedir. Ön uçta HTML, CSS ve JavaScript veya arka uçta REST, GraphQL veya SQL yazmak zorunda kalmadan Rust yazabilirsiniz. MoonZoon hızlı, basit, ölçeklenebilir ve SEO dostudur. Dağıtılması kolay web uygulamaları oluşturmak için bir CLI uygulaması sağlar.

MoonZoon proje felsefesi, hiçbir özel terminoloji, yapay engel veya dogma içermeyen çok basit bir araç yaratmaktır. Bunu kullanarak, istediğiniz gibi web uygulamaları oluşturmaya odaklanabilirsiniz. Ön ucu oluşturmak için WASM-Pack’in kurulu olması gerekir. Bir MoonZoon uygulamasının arka ucu, her ikisi de popüler Rust arka uç çerçeveleri olan Actix-web ve Warp üzerinde çalışır. MoonZoon ayrıca kimlik doğrulama işlevi de sağlar.

MoonZoon belgeleri şu anda barındırılmıyor. Aracı kullanmak için , projenin GitHub deposu üzerinden docs klasöründeki işaretleme dosyalarına göz atabilirsiniz .

WebAssembly ile Etkileşime Girmiş Olabilirsiniz

WebAssembly ilk olarak 2017’de piyasaya sürüldü ve World Wide Web Konsorsiyumu (W3C), 2019’da WebAssembly’yi bir web standardı haline getirdi. 2019’dan beri Cloudflare, Google ve Dropbox gibi şirketler teknolojiyi üretimde kullanıyor.

Google Earth, WebAssembly’ı kullanır, Cloudflare bunu Cloudflare Workers için kullanır ve Dropbox, web sitesindeki bir codec bileşeni için WebAssembly’yi kullanır.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir