WebAssembly คืออะไร?

WebAssembly คืออะไร?
ผู้อ่านเช่นคุณช่วยสนับสนุน MUO เมื่อคุณทำการซื้อโดยใช้ลิงก์บนเว็บไซต์ของเรา เราอาจได้รับค่าคอมมิชชั่นจากพันธมิตร อ่านเพิ่มเติม.

เป็นเวลากว่าสองทศวรรษที่ JavaScript เป็นภาษาโปรแกรมเดียวที่สามารถทำงานในเบราว์เซอร์ได้ ภาษาอื่นๆ เช่น Python, C++ และ Go มีไว้สำหรับสร้างฝั่งเซิร์ฟเวอร์ของเว็บแอปพลิเคชันและบริการเป็นหลัก





JavaScript ทำได้ค่อนข้างดี แต่ภาษาโปรแกรมอื่น ๆ นั้นเร็วกว่า มีประโยชน์มากมายที่เว็บแอปสามารถใช้ประโยชน์จากการเรียกใช้ภาษาโปรแกรมอื่นๆ ที่มีประสิทธิภาพมากกว่าโดยตรงในเบราว์เซอร์





สร้างวิดีโอประจำวัน

WebAssembly นำเสนอตัวเลือกที่มีประสิทธิภาพ เปิดกว้าง และปลอดภัย ซึ่งเป็นส่วนหนึ่งของแพลตฟอร์มเว็บแบบเปิด คุณสามารถใช้เพื่อสร้างแอปพลิเคชันที่ทำงานบนเบราว์เซอร์ เซิร์ฟเวอร์ และในสภาพแวดล้อมอื่นๆ





ค้นหาและดาวน์โหลดเพลงฟรี

แนะนำ WebAssembly

  บทนำ WebAssembly

WebAssembly (WASM) เป็นภาษามาตรฐาน W3C แบบพกพาที่มีประสิทธิภาพ ระดับต่ำ กำหนดรูปแบบรหัสและอินเทอร์เฟซสำหรับโปรแกรมเพื่อโต้ตอบกับแพลตฟอร์มบนเว็บ

คุณสามารถรวบรวมภาษาโปรแกรมส่วนใหญ่ให้เป็นรูปแบบรหัสไบนารีของ WebAssembly เบราว์เซอร์สามารถตีความและรันโค้ด WASM ที่ได้เช่นเดียวกับที่ทำกับ JavaScript ทั่วไป คุณยังสามารถเรียกใช้ WebAssembly ร่วมกับโค้ด JavaScript เพื่อประสิทธิภาพแอปที่สูงขึ้นและความสามารถในการทำงานร่วมกันระหว่างทั้งสอง



WebAssembly กลายเป็นมาตรฐาน W3C ในปี 2019 โดยรองรับภาษาโปรแกรมต่างๆ มากมาย ตาม สร้างด้วย WebAssembly มีโครงการยอดนิยมมากมายที่ใช้ WebAssembly เพื่อจัดส่งซอฟต์แวร์ที่รวดเร็วและปลอดภัยให้กับผู้ใช้

ภาษาการเขียนโปรแกรมจำนวนมาก รวมถึงภาษาเฉพาะฝั่งเซิร์ฟเวอร์ สนับสนุน WebAssembly ได้แก่ Rust, Go, Python, C++, TypeScript, Java, PHP และ Ruby ตรวจสอบที่ ทรัพยากร wasm-langs ที่ยอดเยี่ยม เพื่อเรียนรู้เกี่ยวกับภาษาที่รองรับ WebAssembly และแพ็คเกจที่คุณสามารถใช้กับภาษาเหล่านั้นได้





นี่คือตัวอย่าง โปรแกรม WebAssembly จาก Tutorials Point ที่ส่งคืนจำนวนเต็มสูงสุดสองจำนวน:

  ตัวอย่างโค้ด WASM

ไวยากรณ์ของ WebAssembly ค่อนข้างละเอียดเมื่อเทียบกับ JavaScript แต่นั่นก็ไม่ใช่ปัญหา คุณไม่จำเป็นต้องเรียนรู้ไวยากรณ์เนื่องจาก WebAssembly จะเป็นเป้าหมายการรวบรวมสำหรับโปรแกรมที่คุณเขียนในภาษาที่คุณต้องการ





วิธีสร้างไฟล์ใหม่ใน linux

WebAssembly ทำงานอย่างไร

WASM มีอยู่เป็นเป้าหมายการคอมไพล์สำหรับภาษาโปรแกรมอื่นที่จะแปลงเป็น คุณสามารถเขียนใน ภาษาโปรแกรมที่คุณชื่นชอบ และคอมไพล์ซอร์สโค้ดเป็น WASM bytecode ที่ทำงานบนไคลเอ็นต์ การแปลเป็นโค้ดเนทีฟหมายความว่าสามารถทำงานด้วยความเร็วสูง ซึ่งโดยทั่วไปจะเร็วกว่า JavaScript

คุณสมบัติที่สำคัญประการหนึ่งของ WASM คือการทำงานร่วมกันของ JavaScript คุณสามารถนำเข้าโมดูล WASM ลงในเว็บแอปพลิเคชันและเปิดเผยฟังก์ชัน WASM เพื่อใช้ในโค้ด JavaScript เฟรมเวิร์ก JavaScript สามารถใช้ประโยชน์จาก WASM เพื่อประสิทธิภาพที่สูงขึ้น

WASM ใช้โมเดลการดำเนินการแบบแซนด์บ็อกซ์ที่คล้ายกับ JavaScript WASM โต้ตอบกับเครื่องโฮสต์โดยใช้ ABI (Application Binary Interface) เช่น ส่วนต่อประสานระบบ WebAssembly ที่ให้การเข้าถึงทรัพยากรและบริการระบบอื่น ๆ ตามข้อกำหนดของโปรแกรม

การเชื่อมต่อไม่มีอินเทอร์เน็ตหมายความว่าอย่างไร

เบราว์เซอร์สมัยใหม่จำนวนมากรองรับ WASM รวมถึง Chrome, Microsoft Edge, Mozilla Firefox, Opera และ Safari ภาษาอย่าง Go และ สนิมรองรับ WASM ออกจากกล่อง.

ทำไมเว็บจึงต้องการ WebAssembly

  คุณสมบัติ WebAssembly

JavaScript มีฟังก์ชันการทำงานที่จำกัดโดยการออกแบบ ไม่ใช่หนึ่งในนั้น ภาษาที่เร็วที่สุดหรือมีประสิทธิภาพมากที่สุด เนื่องจากมันเริ่มเป็นภาษาสคริปต์สำหรับเว็บ แม้ว่าจะมีรันไทม์จำนวนมากที่ JavaScript ทำงานที่ความเร็วต่างๆ กัน แต่ก็ยังมีภาษาที่เร็วกว่าและมีประสิทธิภาพมากกว่าที่ WebAssembly สามารถนำไปใช้กับเว็บสำหรับกรณีการใช้งาน เช่น เกม วิดีโอ และเพลง

WebAssembly ยังให้ความสะดวกในการพกพาและความยืดหยุ่นมากขึ้นสำหรับภาษาที่ไม่ได้ใช้งานบนเว็บ การแนะนำภาษาเพิ่มเติมให้กับเว็บ (แพลตฟอร์มโอเพ่นซอร์สที่ได้รับความนิยมสูงสุด) ควรส่งผลให้ประสบการณ์โดยรวมดีขึ้น

การยอมรับ WebAssembly ดำเนินไปอย่างรวดเร็ว

บริษัทและนักพัฒนาจำนวนมากกำลังสร้างแอปพลิเคชันด้วย WebAssembly Google, Dropbox และ Cloudflare ใช้ WebAssembly ในแอปพลิเคชันบางตัว

WebAssembly เป็นที่นิยมในหมู่นักพัฒนา Python, C++ และ Rust นักพัฒนา Python มักใช้ Pyoidide และ PyScript นักพัฒนา C++ และ Emscripten และนักพัฒนา Rust กับ Percy, Yew, Sycamore, MoonZoon และ Seed framework