• Çözümlerimiz
    • Self Servis Teknolojiler
    • Mobil Teknolojiler
    • Web Teknolojileri
  • Başarı Hikayeleri
  • Değerlerimiz
  • Blog
  • İletişim
Yeni Blog: OpenAI Canvas Yeni Yapay Zeka Destekli Yazma ve Kodlama Asistanınız
logo logo
  • Çözümlerimiz
    • Self Servis Teknolojiler
    • Mobil Teknolojiler
    • Web Teknolojileri
  • Başarı Hikayeleri
  • Değerlerimiz
  • Blog
  • İletişim
  • İnsan Kaynakları Yönetimi
  • Argenova
  • Yazılım Geliştirme
  • Girişimcilik
  • Proje Yönetimi
  • Müşteri Hizmetleri
  • Teknoloji

WebAssembly Nedir?

Caner BULUT
Caner BULUT 14 Şubat 2021

Yirmi yıldır, bir web tarayıcısında yerel olarak kullanabileceğimiz tek bir programlama dili vardı oda JavaScript. Ama şimdi yeni bir olanak daha var: WebAssembly veya kısaca WASM.

WebAssembly, web uygulamaları için neredeyse yerel performans vaat eden küçük, hızlı bir ikili formattır.

Bu yazımızda WebAssembly teknolojisini derinlemesine inceleyeceğiz. Yazımızda aşağıdaki başlıklara değineceğiz.

  • WebAssembly Nedir?
  • Neden WebAssembly'a İhtiyacımız Var?
  • WebAssembly Nasıl Çalışır?
  • WebAssembly Özellikleri
  • WebAssembly Örnekleri

WebAssembly Nedir?

WebAssembly (WASM) basit bir makine modeli ve kapsamlı bir spesifikasyona sahip çalıştırılabilir bir formattır. Taşınabilir, kompakt ve yerel hızlarda veya buna yakın hızlarda çalışacak şekilde tasarlanmıştır.
 

WebAssembly, yerel benzeri yüksek performans, daha az bellek kullanımı ve farklı platformlara taşınabilirlik için oluşturulmuş düşük seviyeli bir ikili formattır.
 

WebAssembly, herhangi bir dil için bir derleme hedefi olacak şekilde tasarlanmıştır, JavaScript bunlardan sadece biridir. Yani diğer diller tarafından kullanılabilir. 

WebAssembly uygulamalarının JavaScript uygulamalarının yerini alması amaçlanmadığını belirtmek gerekir. Bunun yerine, WebAssembly'ı JavaScript'e eşlik eden bir ürün olarak düşünmek daha doğru olur.

Yazılım geliştiriciler, oyunlar, müzik akışı, video düzenleme ve CAD uygulamaları gibi yoğun performans gerektiren kullanım durumları için WebAssembly'ı düşünmelidir.

Neden WebAssembly'a İhtiyacımız Var?

Bildiğiniz gibi, video ve müzik düzenleme, sinyal işleme ve 3B oluşturma gibi işlemler yüksek hızlı hesaplama ve yüksek performans gerektirir.

Optimal CPU ve GPU kullanımı bunun için çok önemlidir. Tam burada, WebAssembly'ye ihtiyaç vardır.

Diğer dillerle geliştirilen WebAssembly, yukarıda açıklanan tüm süreçler için Javascript'ten daha iyidir.

WebAssembly Nasıl Çalışır?

WebAssembly

W3C tarafından geliştirilen WebAssembly, yaratıcılarının deyimiyle bir "derleme hedefi" dir. Geliştiriciler doğrudan WebAssembly yazmazlar; seçtikleri dilde yazarlar ve daha sonra WebAssembly bayt kodu olarak derlerler.

Bayt kodu daha sonra istemcide (tipik olarak bir web tarayıcısında) çalıştırılır ve burada yerel makine koduna çevrilir ve yüksek hızda yürütülür.

WebAssembly kodunun yüklenmesi, ayrıştırılması ve çalıştırılması JavaScript'ten daha hızlıdır.

Şu anda, WebAssembly'ı web tarayıcılarında çalıştırmak en yaygın kullanım şeklidir, ancak WebAssembly, web tabanlı bir çözümden daha fazlası sunabilir. WebAssembly mobil uygulamalarda, masaüstü uygulamalarında, sunucularda ve diğer yürütme ortamlarında kullanılabilir.

WebAssembly Özellikleri

WebAssembly hala erken aşamalarda olmasına rağmen aşağıdaki özellikleri ön plana çıkmaktadır.

Çöp Toplama (Garbage Collection)

WebAssembly, gereksiz yere toplanan bellek modellerini kullanan dilleri doğrudan desteklemez.

Lua veya Python gibi diller, yalnızca özellik kümelerini kısıtlayarak veya tüm çalışma zamanını bir WebAssembly yürütülebilir dosyası olarak gömerek desteklenebilir.

Iş Parçacıkları (Threading)

WebAssembly içinde Thread desteğinin olmaması, tüm WebAssembly hedefli yazılım sınıflarının bu dillerde yazılamayacağı anlamına gelir.

Yığın Bellek İşlemleri

Yığın bellek işlemleri ve SIMD (tek talimat, çoklu veri) paralelliği, makine öğrenimi veya bilimsel uygulamalar gibi boğulmayı önlemek için yerel CPU hızlandırmaya ihtiyaç duyan uygulamalar için olmazsa olmazlardandır.

Üst Düzey Dil Yapıları

WebAssembly içerisinde diğer programlama dillerdeki birçok özellik bulunmaktadır. (Exceptions, Reference Tipleri v.b.)

Hata Ayıklama (Debugging)

WebAssembly hata ayıklama ile ilgili çeşitli özellikler sunar.

WebAssembly Örnekleri

WebAssembly'nin gerçek dünyada da başarıyla uygulandığı bazı uygulamalar aşağıdaki şekildedir.

  • eBay evrensel bir barkod tarayıcı uygulaması geliştirdi. 
  • Google Earth, WebAssembly sayesinde artık herhangi bir tarayıcıda çalışabilir.
  • Unity ve Unreal oyun motorları WebAssembly'a taşındı.
  • Doom 3 motoru da WebAssembly'a taşındı. Demoyu çevrimiçi olarak oynayabilirsiniz.
  • Alternatif olarak, Construct3 ile tarayıcıda özel oyunlar oluşturabilirsiniz.

Sonuç Olarak

Bildiğiniz gibi her gün yeni teknolojiler, kütüphaneler, derleme yöntemleri, paketleyiciler, frameworkler duyuyoruz. Genellikle bunlar, frontend teknolojiler için ve performansı artırmak için geliştirilmiştir. WebAssembly bunlardan biridir. 

Web uygulamaları geliştirme alanında uzman ekibimiz ile sizlere yardımcı olmak için hazırız. Web geliştirme ihtiyaçlarınız için bizimle iletişime geçebilirsiniz.

JavaScript WebAssembly


Caner BULUT

Caner BULUT

Caner Bulut, Argenova'nın Kurucusu ve CEO'sudur. Yazılım geliştirme ve ürün geliştirme alanlarında deneyimlidir. Birçok başarılı projeye imza atmıştır ve teknoloji ekosistemine bilgi paylaşımıyla katkı sağlamaktan keyif almaktadır. Yoğun programına rağmen yeni bilgileri paylaşmak ve öğrenmek, ona büyük bir motivasyon kaynağı olmaktadır.

Argenova

Yenilikçi ve girişimci ruhumuz ile hareket ediyor, her işimizi değerlerimiz ışığında en doğru şekilde yapıyoruz.

Web Teknolojileri
  • Kurumsal Web Tasarım
  • E-Ticaret
  • Web Uygulamaları
  • Seo
  • Dijital Pazarlama
  • Sunucu ve Barındırma
  • Teknik Destek ve Bakım
Mobil Teknolojiler
  • IOS Uygulama Geliştirme
  • Android Uygulama Geliştirme
  • Bakım ve Teknik Destek
Self-Servis Teknolojiler
  • Ziyaretçi Yönetim Sistemi
  • Anket ve Eğitim Sistemleri
  • Toplantı Odası Bilgilendirme Ekranı
  • Multitouch Uygulamalar
  • Digital Signage
  • İnteraktif Stand Çözümleri
  • Özel Kiosk Çözümleri
  • Temizlik Kontrol Sistemi
Argenova
  • Hakkımızda
  • Blog
  • İletişim

Copyright © 2025. Argenova Teknoloji. All rights reserved.