- รันไทม์ Wasm ที่พัฒนาด้วย Java ล้วนโดยไม่ต้องพึ่งพาไลบรารีเพิ่มเติม
- สามารถรันโมดูล Wasm ได้ทุกที่ที่ JVM ทำงานอยู่
- ผสานเข้ากับโปรเจ็กต์ของตนเองได้อย่างง่ายดาย จึงสร้างระบบปลั๊กอินได้สะดวก
- เนื่องจากโมดูล WebAssembly ทำงานในสภาพแวดล้อมแบบแซนด์บ็อกซ์ จึงได้เปรียบด้านความปลอดภัยโดยการออกแบบ และสามารถควบคุมทรัพยากรทั้งหมดได้
- มุ่งรองรับสเปกแกนกลางของ Wasm อย่างครบถ้วน
- ข้อเสียของรันไทม์ Wasm อื่น ๆ
- มีรันไทม์ Wasm หลากหลาย เช่น v8, wasmtime, wasmer, wasmedge, wazero แต่ส่วนใหญ่เขียนด้วยภาษาเนทีฟ จึงต้องรวมไบนารีแยกตาม OS/สถาปัตยกรรมเมื่อแจกจ่าย
- การใช้โค้ดเนทีฟและ FFI (การเรียกใช้ฟังก์ชันภายนอก) อาจทำให้ออกนอกขอบเขตของเครื่องมือ โมเดลความปลอดภัย และ Observability ของ JVM
2 ความคิดเห็น
ข้อเสียในส่วนที่ว่าเป็นรันไทม์ของ wasm นั้น ไม่ได้ใช้กับ JVM ด้วยเหมือนกันหรือครับ.. นี่คงเป็นการเขียนถึงข้อเสียจากมุมมองของนักพัฒนา Java ใช่ไหมครับ?
ผมเป็นสาย Java อยู่แล้ว เลยไม่ค่อยมีอะไรที่ถูกใจนักกับการทำ wasm ด้วย Java ก็เลยกำลังเรียน Rust อยู่ พอเห็นแบบนี้เลยยินดีมากครับ
ในเหตุผลที่เรียน Rust ก็มีความโหยหาโลว์เลเวลอยู่บ้างเหมือนกันครับ