5.00 / 1 oy

WebAssembly Nedir?

Tarayıcıların destekledikleri yeni bir teknoloji olarak uzun süredir beklenen bir teknolojik atılım olarak nitelendirilen WebAssembly konusunda hem kısa bir tanım yapmak, hem de gelişmelelerin konuyu bilenler tarafından buradan aktarılmasını sağlamak amacıyla bu soruyu açıyorum. Az önce açtığım Blazor Nedir sorusu da paralel teknolojiler oldukları için birbirleri ile iç içe ele alınması gereken konular.

Mozilla'nın yaptığı tanıma göre WebAssembly, güncel tarayıcıların destekledikleri ve özellik+performans anlamında yenilikler getiren bir web teknolojisi. Burada bir parantez açmakta da fayda var çünkü WebAssembly'yi henüz tamamlanmış bir teknoloji olarak nitelendirmek için biraz erken ve geliştirmeler devam ediyor. işlevsel olarak ise low level (C++ ya da Rust gibi) olarak bile yazılmış olan bir kodu Assembly hızında tarayıcıda çalıştırabilmenize imkan veriyor.

Normalde javascript ile kodlayarak tarayıcı üzerinde gerçekleştirebildiğimiz bu işlemleri artık javascript'in adımsal prosedürünün yol açtığı yavaşlamaya takılmadan gerçekleştirebiliyor olacağız. Tabi production seviyesinde bir uygulama çıkartıp ne zaman kullanılır emin değilim ama bekleyip göreceğiz. Haliyle burada akla gelen diğer soru da, node.js sayesinde her şeyi javascript kullanarak yapabilir hale gelmişken şimdi javascript'in pabu dama mı atılacak? Elbette hayor ama native masaüstü uygulaması hızında bir uygulamayı (oyun, hesap makinesi, artık aklınıza ne gelirse) tarayıcıda çalıştırmak isterseniz low-level bir dil bilmeniz ve bu şekilde kodlamanız gerekecek.

Kullanımı olarak ise, wasm (low-level programlama dili ile yazılmış kodların derlenmiş hali) dosyanızı javascript içerisinde fetch etmeniz (async de olabiliyor) gerekiyor. Sonrasında da geri dönen response ile kodlarn tarayıcı tarafına çalışır olarak geçmesini sağlamış oluyorsunuz.

mbologlu

27.08.2019 01:17

Bu soru 1 kez yanıtlandı.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
WebAssembly Nedir?

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.