24 puan yazan GN⁺ 2023-11-17 | 1 yorum | WhatsApp'ta paylaş

WebAssembly (Wasm) tanıtımı

  • WebAssembly (Wasm), web üzerinde çalışan genel amaçlı düşük seviyeli bir bytecode formatıdır
  • Rust, AssemblyScript (TypeScript'e benzer), Emscripten (C/C++), TinyGo (Go) gibi çeşitli diller için bir derleme hedefidir
  • Günümüzde tüm büyük tarayıcılarda sunulur ve sunucuda çalıştırmak veya WASI kullanarak sistemle arayüz kurmak için çalışma zamanlarına sahiptir
  • Wasm, küçük bir ikili format sunar ve JavaScript ile diğer host dillerle birlikte çalışabilen öngörülebilir performans ve taşınabilirlik sağlar

'Wasm By Example' nedir?

  • 'Wasm By Example', kod parçacıkları ve açıklamalı WebAssembly örnek programları kullanarak WebAssembly'ye kısa ve pratik bir giriş sunar
  • WebAssembly'nin temel kavramlarını açıklayan örneklerin yanı sıra, bunları kullanarak daha büyük uygulamaların ortak işlevlerinin nasıl oluşturulacağını gösteren örnekler içerir

WebAssembly (Wasm) için temel kavram örnekleri

  • WebAssembly'nin başlıca temel kavramlarını gösteren örnekler sunar.
  • Bu örnekler, WebAssembly ile proje geliştirmenin en rahat veya en üretken yolu olmayabilir; ancak öğrenme için ya da uygulamaların basit veya düşük seviyeli bölümlerini geliştirmek için uygundur.
    • Hello World
    • Exports
    • WebAssembly Linear Memory
    • Importing Javascript Functions Into WebAssembly

Kavramların uygulandığı örnekler

  • Kavramsal örnekleri genişleterek bu basit örneklerin daha büyük uygulamaların yaygın işlevlerini oluşturmak için nasıl kullanılabileceğini gösterir
    • Reading and Writing Graphics
    • Reading and Writing Audio

Ekosistem araçları ve dil özellikleri örnekleri

  • Seçilen programlama dilinin araçlarını, kütüphanelerini ve özelliklerini öne çıkaran örnekler sunar
    • Passing High Level Data Types with wasm-bindgen
  • Bu ekosistem bileşenleri, güçlü uygulamalar geliştirmede büyük ölçüde yardımcı olabilir.

Web tarayıcısı dışındaki WebAssembly (Wasm) örnekleri

  • WebAssembly System Interface (WASI), bağımsız WebAssembly çalışma zamanları, WASI kullanan uygulamalar için araçlar ve bulut bilişim ile nesnelerin interneti (IoT) cihazları gibi iş yüklerine yönelik kullanım senaryolarını öne çıkaran örnekler sunar
  • WebAssembly, tarayıcı web'i için uygun önemli özelliklere sahiptir ve bu özellikler onu tarayıcı dışı ortamlarda da popüler bir seçenek haline getirmiştir
    • WASI Introduction
    • WASI Hello World

GN⁺ görüşü

Bu yazıdaki en önemli nokta, WebAssembly'nin (Wasm) farklı programlama dilleri için bir derleme hedefi olması ve yalnızca web tarayıcılarında değil, sunucularda ve çeşitli sistemlerde de kullanılabilen genel amaçlı bir yapıya sahip olmasıdır. 'Wasm By Example', başlangıç seviyesindeki yazılım mühendislerinin WebAssembly'yi kolayca anlayıp pratikte uygulayabilmesini sağlayan yararlı örnekler sunarak bu teknolojinin neden ilgi çekici ve cazip olduğunu iyi gösteriyor. WebAssembly'nin taşınabilirliği ve performansı, modern web geliştirmede önemli unsurlardır; bu yazı da bu teknolojiyi öğrenmek isteyenler için faydalı bilgiler sunuyor.

1 yorum

 
GN⁺ 2023-11-17
Hacker News görüşleri
  • WASM kullanarak çeşitli dillerde yazılmış kütüphaneler oluşturup bunları başka dillerden içe aktarıp kullanmak ilgi çekici bir kullanım örneği.
  • Tüm büyük tarayıcılar tarafından desteklenen WASM komut seti cazip olsa da, basit bir hello_world demosunun bile birkaç megabaytlık sayfa üretmesi soru işareti yaratıyor.
  • WASM’ın yapısı ve kullanımına dair genel bir bakış ve açıklamaların örneklerle birlikte sunulması gerektiği yönünde bir görüş var. Ayrıca Cloudflare Workers’ın WASM’ı edge sunucularında çalıştırabildiği ve Swift topluluğunun da WASM derlemeyi desteklediği belirtiliyor.
  • WebAssembly’nin S-expr sözdizimini anlamayı kolaylaştırmak için ilgili kategorinin eklenmesinin faydalı olacağı öneriliyor.
  • VSCode’da WASM debugging’i çalıştırmanın yolunu anlatan bir rehber yazan biri var; bu rehber yeni WASM DWARF debugging uzantısını kullanıyor.
  • Kendi derleyicisini yaparak WASM öğrenmeyi anlatan WASM from the Ground Up adlı kitap üzerinde çalışılıyor ve şu ana kadar faydalı bilgiler sunduğu söyleniyor.
  • WASM’ın bir gün tarayıcıda JavaScript’in yerini alıp almayacağını merak eden bir görüş var.
  • WASM ve WebGPU kullanarak çalışan bir Unity demosunun Hacker News’te paylaşıldığı belirtiliyor.
  • WASM assembler compiler hakkında bilgi bulmakta zorlanan biri var.
  • WASM kullanılarak JavaScript dışındaki bir dille yazılmış basit bir add örneğinin, çalışma zamanında parametre alabilen etkileşimli bir özelliğe sahip olmasına duyulan şaşkınlık ifade ediliyor.