- เข้าร่วม
- 1 มิถุนายน 2011
- ข้อความ
- 10,929
- คะแนนปฏิกิริยา
- 0
- คะแนน
- 0
ระบบส่วนขยาย (Extension) ของ VS Code เขียนด้วย TypeScript/JavaScript แต่ช่วงหลังไมโครซอฟท์ก็เริ่มรองรับ WebAssembly (WASM) เพื่อให้รันไบนารีที่คอมไพล์จากภาษาอื่น เช่น C/C++ หรือ Rust ได้ด้วย ตัวอย่างการใช้งานคือ Visual Studio Code for Education ที่ฝังไบนารีของ Python interpreter (CPython ซึ่งเขียนด้วย C แล้วแปลงเป็น WASM) เพื่อให้ประมวลผลโค้ดภาษา Python บนเว็บได้
รูปแบบของ WASM ที่ VS Code รองรับคือ WebAssembly System Interface (WASI) ของกลุ่ม ByteCode Alliance ที่ไมโครซอฟท์เป็นผู้ร่วมก่อตั้ง ล่าสุดในสเปก WASI 0.2 รองรับ Component Model ช่วยให้ WASM มีได้หลายคอมโพเนนต์และสื่อสารระหว่างกันได้ผ่านอินเทอร์เฟซ WIT (WASM Interface Type) ส่งผลให้ส่วนขยายที่สร้างด้วย WASM มีความซับซ้อนเพิ่มขึ้นอีกมาก สามารถแปลงไลบรารีจากภาษาอื่นๆ มาใช้งานร่วมได้
ตัวอย่างที่ไมโครซอฟท์นำมาโชว์คือการแปลงไลบรารี Rust เป็น WASM แล้วนำมาใช้ในส่วนขยายของ VS Code ที่เขียนด้วย Rust โดยสองส่วนนี้สื่อสารกันผ่าน wit-bindgen ซึ่งเป็นเครื่องมือที่ไมโครซอฟท์สร้างมาช่วยทำ binding และในอนาคตไมโครซอฟท์บอกว่าเราจะสามารถทำ language server หรือเอนจินภาษาโปรแกรมด้วย WebAssembly ได้เช่นกัน
ที่มา - VS Code Blog
Topics:
Visual Studio Code
Extension
Microsoft
Development
WebAssembly
อ่านต่อ...
รูปแบบของ WASM ที่ VS Code รองรับคือ WebAssembly System Interface (WASI) ของกลุ่ม ByteCode Alliance ที่ไมโครซอฟท์เป็นผู้ร่วมก่อตั้ง ล่าสุดในสเปก WASI 0.2 รองรับ Component Model ช่วยให้ WASM มีได้หลายคอมโพเนนต์และสื่อสารระหว่างกันได้ผ่านอินเทอร์เฟซ WIT (WASM Interface Type) ส่งผลให้ส่วนขยายที่สร้างด้วย WASM มีความซับซ้อนเพิ่มขึ้นอีกมาก สามารถแปลงไลบรารีจากภาษาอื่นๆ มาใช้งานร่วมได้
ตัวอย่างที่ไมโครซอฟท์นำมาโชว์คือการแปลงไลบรารี Rust เป็น WASM แล้วนำมาใช้ในส่วนขยายของ VS Code ที่เขียนด้วย Rust โดยสองส่วนนี้สื่อสารกันผ่าน wit-bindgen ซึ่งเป็นเครื่องมือที่ไมโครซอฟท์สร้างมาช่วยทำ binding และในอนาคตไมโครซอฟท์บอกว่าเราจะสามารถทำ language server หรือเอนจินภาษาโปรแกรมด้วย WebAssembly ได้เช่นกัน
ที่มา - VS Code Blog
Topics:
Visual Studio Code
Extension
Microsoft
Development
WebAssembly
อ่านต่อ...