Web assembly สำคัญอย่างไร


#1

ขออธิบายเรื่อง WebAssembly ต่อครับ ว่าทำไมผมถึงสนใจมาก…

ความสำคัญของเรื่องนี้คือต้องเข้าใจก่อนว่า โปรแกรมทั้งหลายในโลกนี้ จำนวนมากมายมหาศาล เขียนขึ้นด้วยภาษาพวก C/C++ เยอะมาก รวมทั้งภาษาใหม่ๆอื่นที่ทำงานเป็นแบบ Native

เรามีปัญหาของความ compatibility ของเครื่อง และ OS มากมายมหาศาล แม้ว่าจะพยายามทำให้ “Write Once, Run on any devices” แบบที่ Java พยายาม หรือการเกิดขึ้นจอง VM หรือ Docker

เราก็ยังมีกำแพงเรื่อง compatibility อยู่ดี

WebAssembly เป็น Virtual Instruction ที่วิ่งบน Browser และ Environment อื่นๆ เช่น Node.js ทำให้ความหวังของการทำโปรแกรมครั้งเดียว ไปวิ่งบนเครื่องไหนก็ได้ใกล้ความจริงเข้ามามาก

และที่สำคัญอีกอย่างคือ โปรแกรมเหล่านี้สามารถรันบน web browser ได้ แปลว่าเราไม่ต้องลงโปรแกรม ไปเว็บแล้วก็วิ่งโปรแกรมที่เขียนด้วยภาษา Native ได้ทันที

ประการสุดท้ายคือ การที่ WebBrowser กลายเป็น Virtual VM ที่เราเอาโปรแกรมไปวิ่งได้ แปลว่าเรามีเครื่องใหม่ที่จะรันอีกมหาศาล กำลังเครื่องจะเพิ่มขึ้นมาก และผู้ใช้จ่ายตังค์ซื้อมาเอง

โปรแกรมที่เขียนด้วย C/C++ อย่างเดียวก็ port กันไม่หวาดไม่ไหว…

ยิ่งตอนนี้ browser หลักๆต่างเห็นชอบกับมาตรฐานนี้แล้ว ยิ่งต้องรีบศึกษากันเลยทีเดียวครับ