Web Assembly ?

Web Assembly (wasm) ยังถือว่าเป็นเทคโนโลยีใหม่ที่ออกมาเมื่อปี 2015 ก่อนที่จะมารู้จัก กับ wasm ก็ขอพูดถึง assembly ก่อน

assembly ถือว่าเป็นภาษาที่มีมานานมาก แน่นอนว่าเป็นภาษาเดียวกันกับฮาร์ดแวร์ ซึ่งแน่นอนว่าความเร็วของมันย่อมต้องเร็วมากแน่นอน ไม่ต้องผ่านการแปลอะไรเลย

เจ้าตัว wasm มันมีที่มาเนื่องจากว่า เราต้องการความเร็วของ browser มากกว่าเดิม โดยไม่ติดปัญหาเรื่อง cache เพราะว่า JavaScript เป็นภาษา interpreter ซึ่งหลักการทำงานของมันเป็นการอ่านทีละบรรทัด ซึ่งปัจจุบัน เราใช้ web browser จะใช้ JavaScript ในการตีความโค้ดต่างๆ รวมถึงเปิดฟังก์ชั่นต่างๆบน website เช่น พวกฟอร์ม และ dynamic content

จากรูป ไบต์โค้ด (bytecode) คือ ผลที่ได้จากการแปลง sourcecode ของภาษา JavaScript ให้กลายเป็นรหัสภาษากลาง หรือ Binary File หรือ Bytecode โดยเจ้าตัวไบต์โค้ดที่ได้จะเป็นไฟล์นามสกุล .class ซึ่งพอได้ไบต์โค้ดแล้ว จึงแปลงไบต์โค้ด ต่อด้วย Java Virtaul Machine (JVM) ซึ่งทำหน้าที่แปลงไบต์โค้ดให้เป็นภาษาเครื่อง หรือ Machine Code สำหรับระบบปฏิบัติการนั้นๆ

ซึ่ง wasm เป็นโปรเจคที่จะสร้างไบต์โค้ดตัวใหม่ขึ้นมา ให้มีประสิทธิภาพมากขึ้น ทั้งบน desktop และ mobile

หลักการของเจ้า web assembly ก็คือ การนำ Low Level Code ที่เขียนด้วย C/C++ (และอาจจะมีภาษาอื่นๆในอนาคตเพราะตอนนี้ก็มีภาษา Rust ที่ใช้ได้ด้วยเหมือนกัน) มาทำการรันภายใต้ Web Browser เพื่อให้ได้ Performance สูงที่สุดรวมทั้งยังสามารถติดต่อกับ JavaScript ได้ด้วย ซึ่งหมายความว่ามันไม่ได้เป็นภาษาใหม่ที่จะมาแทน JavaScript แต่มันคือสิ่งที่จะช่วยยกระดับการพัฒนาเว็บมากกว่า และที่สำคัญโปรเจคนี้พัฒนาด้วยเจ้าใหญ่แห่งวงการทั้งนั้น เช่น Mozilla Microsoft Google Apple

ศึกษาข้อมูลเพิ่มเติมได้ คลิก เลย