24 poin oleh GN⁺ 2023-11-17 | 1 komentar | Bagikan ke WhatsApp

Pengenalan WebAssembly (Wasm)

  • WebAssembly (Wasm) adalah bytecode low-level serbaguna yang berjalan di web
  • Menjadi target kompilasi untuk berbagai bahasa seperti Rust, AssemblyScript (mirip Typescript), Emscripten (C/C++), dan TinyGo (Go)
  • Saat ini tersedia di semua browser utama, dan memiliki runtime untuk dijalankan di server atau untuk berinteraksi dengan sistem menggunakan WASI
  • Wasm menyediakan format biner yang ringkas, serta memiliki performa yang dapat diprediksi dan portabilitas untuk dijalankan bersama JavaScript dan bahasa host lainnya

Apa itu 'Wasm By Example'?

  • 'Wasm By Example' memberikan pengenalan yang ringkas dan praktis terhadap WebAssembly dengan menggunakan cuplikan kode dan program contoh WebAssembly yang diberi anotasi
  • Mencakup contoh-contoh yang menjelaskan konsep dasar WebAssembly serta contoh yang menunjukkan cara membangun fitur umum dari aplikasi yang lebih besar dengan memanfaatkannya

Contoh konsep utama WebAssembly (Wasm)

  • Menyediakan contoh-contoh yang merepresentasikan konsep dasar utama WebAssembly.
  • Contoh-contoh ini mungkin bukan cara paling nyaman atau paling produktif untuk membangun proyek dengan WebAssembly, tetapi cocok untuk pembelajaran atau pengembangan bagian aplikasi yang sederhana maupun low-level.
    • Hello World
    • Exports
    • WebAssembly Linear Memory
    • Importing Javascript Functions Into WebAssembly

Contoh penerapan konsep

  • Memperluas contoh konseptual untuk menunjukkan bagaimana contoh-contoh sederhana ini dapat digunakan untuk membangun fungsi umum dalam aplikasi yang lebih besar
    • Reading and Writing Graphics
    • Reading and Writing Audio

Contoh alat ekosistem dan fitur bahasa

  • Menyediakan contoh-contoh yang menyoroti alat, pustaka, dan fitur dari bahasa pemrograman yang dipilih
    • Passing High Level Data Types with wasm-bindgen
  • Komponen ekosistem ini dapat sangat membantu dalam membangun aplikasi yang kuat.

Contoh WebAssembly (Wasm) di luar browser web

  • Menyediakan contoh-contoh yang menyoroti WebAssembly System Interface (WASI), runtime WebAssembly mandiri, alat untuk aplikasi yang menggunakan WASI, serta use case untuk tugas seperti cloud computing dan perangkat Internet of Things (IoT)
  • WebAssembly memiliki fitur-fitur utama yang cocok untuk web browser, dan fitur-fitur tersebut juga menjadikannya pilihan populer di luar browser
    • WASI Introduction
    • WASI Hello World

Pendapat GN⁺

Poin terpenting dalam tulisan ini adalah bahwa WebAssembly (Wasm) merupakan target kompilasi untuk berbagai bahasa pemrograman dan memiliki fleksibilitas untuk digunakan tidak hanya di browser web, tetapi juga di server dan beragam sistem. 'Wasm By Example' menunjukkan dengan baik mengapa teknologi ini menarik dan memikat, dengan menyediakan contoh-contoh praktis yang memudahkan software engineer pemula memahami WebAssembly dan langsung mencoba menerapkannya. Portabilitas dan performa WebAssembly adalah elemen penting dalam pengembangan web modern, dan tulisan ini memberikan informasi yang bermanfaat bagi orang-orang yang ingin mempelajari teknologi tersebut.

1 komentar

 
GN⁺ 2023-11-17
Opini Hacker News
  • Ini adalah contoh menarik tentang membuat library yang ditulis dalam berbagai bahasa dengan WASM, lalu mengimpornya dan menggunakannya dari bahasa lain.
  • Set instruksi WASM yang didukung semua browser utama memang menarik, tetapi ada yang mempertanyakan pembuatan halaman berukuran beberapa megabita bahkan untuk demo sederhana hello_world.
  • Ada pendapat bahwa perlu disediakan gambaran umum dan penjelasan tentang struktur serta penggunaan WASM beserta contohnya. Disebutkan juga bahwa Cloudflare Workers dapat menjalankan WASM di server edge, dan komunitas Swift juga mendukung kompilasi WASM.
  • Ada saran bahwa menambahkan kategori terkait akan berguna untuk membantu memahami sintaks S-expr WebAssembly.
  • Ada seseorang yang menulis panduan tentang cara membuat debugging WASM berfungsi di VSCode, yang menggunakan ekstensi debugging WASM DWARF yang baru.
  • Buku yang sedang dikerjakan, WASM from the Ground Up, mengajarkan WASM sambil membuat compiler sendiri, dan sejauh ini disebut memberikan informasi yang bermanfaat.
  • Ada pendapat yang bertanya-tanya apakah suatu hari WASM akan menggantikan JavaScript di browser.
  • Sebuah demo Unity yang berjalan menggunakan WASM dan WebGPU telah diposting di Hacker News.
  • Ada seseorang yang mengalami kesulitan menemukan informasi tentang compiler assembler WASM.
  • Ada yang menyatakan kagum bahwa contoh sederhana add yang ditulis dalam bahasa non-JavaScript menggunakan WASM memiliki fitur interaktif yang dapat menerima parameter saat runtime.