W3C ทำให้ WebAssembly เป็นมาตรฐานที่แนะนำ

เมื่อเดือนที่แล้วเราได้แบ่งปัน ที่นี่ในบล็อกเกี่ยวกับ ข่าวที่ Mozilla, Fastly, Intel และ Red Hat ร่วมมือกันพัฒนา เทคโนโลยีที่สร้างขึ้น WebAssembly (หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับข่าวสามารถปรึกษาได้ การเชื่อมโยงนี้) และตอนนี้ ไม่กี่สัปดาห์หลังจากข่าวนั้น W3C Consortium ได้ประกาศว่าเทคโนโลยี WebAssembly ได้กลายเป็นมาตรฐานที่แนะนำ

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

Webแอสเซมบลี se สามารถใช้เพื่อแก้ปัญหางานที่ต้องการประสิทธิภาพสูงตัวอย่างเช่นการเข้ารหัสวิดีโอการประมวลผลเสียงกราฟิก 3 มิติและการจัดการการพัฒนาเกมการดำเนินการเข้ารหัสการคำนวณทางคณิตศาสตร์และการสร้างการใช้ภาษาโปรแกรมแบบพกพา

WebAssembly ดูเหมือน Asm.js มากแต่แตกต่างตรงที่เป็นรูปแบบไบนารีที่ไม่ผูกมัดกับ JavaScript WebAssembly ไม่จำเป็นต้องใช้ตัวรวบรวมขยะเนื่องจากใช้การจัดการหน่วยความจำแบบชัดแจ้ง

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

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

WebAsembly 1

เมื่อเร็ว ๆ นี้ WebAssembly ยังก้าวหน้าในฐานะแพลตฟอร์มสากล เพื่อรันโค้ดอย่างปลอดภัยบนโครงสร้างพื้นฐานระบบปฏิบัติการและอุปกรณ์ใด ๆ ไม่ จำกัด เฉพาะเบราว์เซอร์

W3C มีข้อกำหนดสามมาตรฐาน ที่เกี่ยวข้องกับ WebAssembly:

  1. Web Assembly Core- กำหนดให้เป็นเครื่องเสมือนระดับต่ำที่เลียนแบบการทำงานของไมโครโปรเซสเซอร์จำนวนมากที่ทำงานอยู่อย่างใกล้ชิด ไม่ว่าจะผ่านการคอมไพล์หรือการตีความแบบทันเวลาเอนจิน WebAssembly สามารถทำงานได้เกือบด้วยความเร็วของโค้ดที่คอมไพล์สำหรับแพลตฟอร์มเนทีฟ
    ทรัพยากร .wasm คล้ายคลึงกับไฟล์ .ชั้นเรียนของ Java ในแง่ที่ว่ามีข้อมูลคงที่และส่วนของรหัสที่ทำงานกับข้อมูลคงที่นั้น ซึ่งแตกต่างจาก Java โดยทั่วไป WebAssembly ถูกสร้างขึ้นเพื่อเป็นเป้าหมายการคอมไพล์สำหรับภาษาโปรแกรมอื่น ๆ เช่น C / C ++ และ Rust
  2. WebAssembly เว็บ API: กำหนดอินเทอร์เฟซการเขียนโปรแกรมตามกลไก Promise สำหรับการร้องขอและเรียกใช้ทรัพยากร ".wasm" รูปแบบทรัพยากร WebAssembly ได้รับการปรับให้เหมาะสมเพื่อเริ่มการเรียกใช้งานโดยไม่ต้องรอให้ไฟล์โหลดเต็มที่ปรับปรุงการตอบสนองของเว็บแอปพลิเคชัน
  3. อินเทอร์เฟซ WebAssembly JavaScript: จัดเตรียม API เพื่อรวมเข้ากับ JavaScript ช่วยให้คุณรับค่าและส่งผ่านพารามิเตอร์ไปยังฟังก์ชัน WebAssembly การดำเนินการของ WebAssembly สอดคล้องกับรูปแบบการรักษาความปลอดภัยของ JavaScript และการโต้ตอบทั้งหมดกับโฮสต์จะดำเนินการในลักษณะเดียวกับการเรียกใช้โค้ด JavaScript

ในอนาคตมีการวางแผนเตรียมความพร้อม ข้อกำหนดสำหรับฟังก์ชัน WebAssembly เช่น:

  • มัลติเธรดพร้อมหน่วยความจำที่ใช้ร่วมกันและการเข้าถึงหน่วยความจำอะตอม
  • การดำเนินการของเวกเตอร์ขึ้นอยู่กับ SIMD ซึ่งอนุญาตให้ขนานกับการทำงานของรอบ
  • ชนิดการอ้างอิงสำหรับการอ้างอิงโดยตรงไปยังอ็อบเจ็กต์ในโค้ด WebAssembly
  • ความสามารถในการเรียกใช้ฟังก์ชันโดยไม่ต้องใช้พื้นที่เพิ่มเติมในสแต็ก
  • การรวมเข้ากับโมดูล ECMAScript: ความสามารถในการโหลดโค้ด WebAssembly จาก JavaScript เป็นโมดูลที่สอดคล้องกับข้อกำหนด ECMAScript 6
  • วิธีการทำงานกับคนเก็บขยะ
  • อินเทอร์เฟซการดีบัก
  • WASI (WebAssembly System Interface): API สำหรับการโต้ตอบโดยตรงกับระบบปฏิบัติการ (POSIX API เพื่อทำงานกับไฟล์ซ็อกเก็ต ฯลฯ )

หากคุณต้องการทราบข้อมูลเพิ่มเติมคุณสามารถอ่านบันทึกต้นฉบับได้ ในลิงค์ต่อไปนี้.


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. รับผิดชอบข้อมูล: AB Internet Networks 2008 SL
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา