WebAssembly (Wasm) Nedir?

İngilizce: WebAssembly (Wasm)

WebAssembly, tarayıcı ve edge ortamlarında C, Rust veya Go gibi dillerden derlenen kodu hızlı ve taşınabilir biçimde çalıştırır.

WebAssembly (Wasm) Nedir?

WebAssembly veya Wasm, yüksek seviyeli dillerden derlenen kodun tarayıcıda ve bazı sunucu/edge ortamlarında güvenli bir sandbox içinde çalışmasını sağlayan ikili talimat formatıdır. JavaScript’in yerini almak için değil, hesaplama yoğun parçaları taşınabilir şekilde çalıştırmak için kullanılır.

Bir Wasm modülü genellikle Rust, C, C++ veya Go gibi dillerden derlenir. Tarayıcı tarafında JavaScript ile birlikte yüklenir; JavaScript DOM, ağ ve UI işlerini yönetirken Wasm görüntü işleme, sıkıştırma, şifreleme, oyun motoru veya veri işleme gibi yoğun fonksiyonları üstlenebilir.

Kullanım Alanları

Wasm, tarayıcı içinde çalışan tasarım araçları, CAD görüntüleyiciler, video/ses işleme, kriptografik işlemler, oyunlar ve bilimsel hesaplama arayüzlerinde kullanılır. Edge computing tarafında ise bazı platformlar Wasm’ı küçük, izole ve hızlı başlatılabilen eklenti veya fonksiyon modeli olarak kullanır; Cloudflare Workers gibi edge çalışma ortamları bu tartışmanın sık geçtiği alanlardır.

Wasm her problemi hızlandırmaz. Tarayıcı API’lerine erişim çoğunlukla JavaScript köprüsüyle yapılır ve bu geçişlerin maliyeti vardır. Bu nedenle iyi adaylar, sınırlı giriş-çıkışı olan ama CPU yoğun hesaplama yapan parçalardır.