WASM by Example - เรียนรู้ WASM ผ่านตัวอย่าง
(wasmbyexample.dev)แนะนำ WebAssembly (Wasm)
- WebAssembly (Wasm) คือไบต์โค้ดระดับล่างแบบทั่วไปที่ทำงานบนเว็บ
- เป็นเป้าหมายการคอมไพล์ของหลายภาษา เช่น Rust, AssemblyScript (คล้าย Typescript), Emscripten (C/C++), TinyGo (Go)
- ปัจจุบันรองรับในเบราว์เซอร์หลักทุกตัว และมีรันไทม์สำหรับรันบนเซิร์ฟเวอร์หรือเชื่อมต่อกับระบบผ่าน WASI
- Wasm มีรูปแบบไบนารีขนาดเล็ก พร้อมประสิทธิภาพที่คาดการณ์ได้และความสามารถในการพกพา โดยสามารถทำงานร่วมกับ JavaScript และภาษาโฮสต์อื่น ๆ ได้
'Wasm By Example' คืออะไร?
- 'Wasm By Example' เป็นบทแนะนำ WebAssembly แบบกระชับและใช้งานได้จริง โดยใช้โค้ดสั้น ๆ และโปรแกรมตัวอย่าง WebAssembly ที่มีคำอธิบายประกอบ
- มีทั้งตัวอย่างที่อธิบายแนวคิดพื้นฐานของ WebAssembly และตัวอย่างที่แสดงวิธีนำแนวคิดเหล่านั้นไปสร้างฟังก์ชันทั่วไปของแอปพลิเคชันขนาดใหญ่ขึ้น
ตัวอย่างแนวคิดหลักของ WebAssembly (Wasm)
- มีตัวอย่างที่นำเสนอแนวคิดพื้นฐานสำคัญของ WebAssembly
- ตัวอย่างเหล่านี้อาจไม่ใช่วิธีที่สะดวกหรือเพิ่มประสิทธิภาพการทำงานมากที่สุดในการสร้างโปรเจ็กต์ด้วย WebAssembly แต่เหมาะสำหรับการเรียนรู้หรือการพัฒนาส่วนที่เรียบง่ายหรือระดับล่างของแอปพลิเคชัน
- Hello World
- Exports
- WebAssembly Linear Memory
- Importing Javascript Functions Into WebAssembly
ตัวอย่างการประยุกต์ใช้แนวคิด
- ขยายจากตัวอย่างเชิงแนวคิดเพื่อแสดงให้เห็นว่าตัวอย่างเรียบง่ายเหล่านี้สามารถใช้สร้างความสามารถทั่วไปของแอปพลิเคชันขนาดใหญ่ได้อย่างไร
- Reading and Writing Graphics
- Reading and Writing Audio
ตัวอย่างเครื่องมือในอีโคซิสเต็มและความสามารถของภาษา
- มีตัวอย่างที่เน้นเครื่องมือ ไลบรารี และความสามารถของภาษาที่เลือกใช้
- Passing High Level Data Types with
wasm-bindgen
- Passing High Level Data Types with
- องค์ประกอบในอีโคซิสเต็มเหล่านี้สามารถช่วยได้มากในการสร้างแอปพลิเคชันที่ทรงพลัง
ตัวอย่าง WebAssembly (Wasm) นอกเว็บเบราว์เซอร์
- มีตัวอย่างที่เน้น WebAssembly System Interface (WASI), รันไทม์ WebAssembly แบบสแตนด์อโลน, เครื่องมือสำหรับแอปพลิเคชันที่ใช้ WASI และกรณีการใช้งานสำหรับงานอย่างคลาวด์คอมพิวติ้งและอุปกรณ์ Internet of Things (IoT)
- WebAssembly มีความสามารถหลักที่เหมาะกับเว็บบนเบราว์เซอร์ และความสามารถเหล่านี้ก็ทำให้มันเป็นตัวเลือกที่ได้รับความนิยมแม้นอกเบราว์เซอร์ด้วย
- WASI Introduction
- WASI Hello World
ความเห็นของ GN⁺
ประเด็นสำคัญที่สุดของบทความนี้คือ WebAssembly (Wasm) เป็นเป้าหมายการคอมไพล์สำหรับภาษาโปรแกรมที่หลากหลาย และมีความอเนกประสงค์พอที่จะใช้งานได้ไม่เฉพาะในเว็บเบราว์เซอร์ แต่รวมถึงบนเซิร์ฟเวอร์และระบบประเภทต่าง ๆ ด้วย 'Wasm By Example' แสดงให้เห็นอย่างชัดเจนว่าเหตุใดเทคโนโลยีนี้จึงน่าสนใจและมีเสน่ห์ โดยนำเสนอตัวอย่างที่ใช้งานได้จริงซึ่งช่วยให้วิศวกรซอฟต์แวร์ระดับเริ่มต้นเข้าใจ WebAssembly ได้ง่ายและลองนำไปใช้ได้จริง ความสามารถในการพกพาและประสิทธิภาพของ WebAssembly เป็นองค์ประกอบสำคัญของการพัฒนาเว็บสมัยใหม่ และบทความนี้ก็มอบข้อมูลที่เป็นประโยชน์สำหรับผู้ที่ต้องการเรียนรู้เทคโนโลยีนี้
1 ความคิดเห็น
ความเห็นบน Hacker News
hello_worldแบบง่าย ๆ ก็ยังสร้างหน้าเว็บขนาดหลายเมกะไบต์addแบบง่าย ๆ ที่เขียนด้วยภาษาที่ไม่ใช่ JavaScript โดยใช้ WASM นั้นมีความสามารถเชิงโต้ตอบที่รับพารามิเตอร์ตอนรันไทม์ได้