ฟังก์ชันใหม่สำหรับนักพัฒนาซอฟต์แวร์ที่ WebAssembly พร้อมให้บริการแก่คุณ

ตัวอย่างเครื่องมือที่พร้อมใช้งานบนเว็บแล้วในตอนนี้ด้วย WebAssembly

Thomas Nattestad
Thomas Nattestad

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

เครื่องมือและไลบรารีที่คุณใช้ได้ตอนนี้

มาเริ่มกันเลย :D

SQLite

การพอร์ต SQLite ที่สมบูรณ์นี้จะช่วยให้คุณมีระบบการจัดการฐานข้อมูลเชิงสัมพันธ์แบบเบาและฝัง ดูข้อมูลเพิ่มเติมได้ในบล็อกโพสต์ที่แสดงพอร์ตอันน่าทึ่งนี้และวิธีใช้งาน

FFmpeg.wasm

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

คำอธิบายฉากแบบ Universal (USD)

Universal Scene Description (USD) คือเฟรมเวิร์กสำหรับข้อมูลกราฟิกคอมพิวเตอร์ 3 มิติที่มุ่งเน้นการทำงานร่วมกัน การแก้ไขแบบไม่ทำลาย และการเปิดใช้มุมมองและความคิดเห็นหลายมุมมองเกี่ยวกับข้อมูลกราฟิก ซึ่งเป็นมาตรฐานอุตสาหกรรมที่รองรับโดยบริษัทต่างๆ เช่น Pixar, Autodesk, Nvidia และอีกมากมาย การสนับสนุนบนเว็บยังอยู่ในช่วงเริ่มต้น แต่ Autodesk ได้เปิดซอร์สโค้ดโปรแกรมดู USD บนเว็บแล้ว ซึ่งคุณสามารถดูได้ที่นี่

CanvasKit

CanvasKit คือ Skia ซึ่งเป็นเครื่องมือแสดงผลของ Chrome และ Android ที่คอมไพล์เป็น WebAssembly โดยตรง ซึ่งจะช่วยให้คุณเข้าถึง JavaScript API ที่ใช้งานง่ายเพื่อใช้ความสามารถเกือบทั้งหมดของเครื่องมือแสดงผล Skia ฟังก์ชันการทำงานนี้รวมถึงการแสดงผลที่ซับซ้อน การจัดรูปแบบข้อความ ภาพเคลื่อนไหว การเขียนด้วยโหมดหมึก และอื่นๆ โปรดดูแพ็กเกจ npm และคู่มือเริ่มใช้งานฉบับย่อ

TensorFlow.js

TensorFlow.js นำประสิทธิภาพของ TensorFlow มาใช้ในเบราว์เซอร์โดยตรงด้วย JavaScript API ที่ใช้งานง่าย เบื้องหลังคือการเพิ่มประสิทธิภาพโมเดลทั้งใน GPU และ CPU (รวมถึงการเพิ่มประสิทธิภาพ SIMD) เพื่อเพิ่มประสิทธิภาพสูงสุด คุณสามารถดูคู่มือเริ่มต้นใช้งานหรือดูการสาธิตบางส่วนได้โดยตรง

OpenCV

OpenCV เป็นมาตรฐานอุตสาหกรรมของฟังก์ชันการเขียนโปรแกรมสําหรับคอมพิวเตอร์วิทัศน์แบบเรียลไทม์เป็นหลัก มีแพ็กเกจ npm ที่ใช้งานง่ายที่นี่ และสำหรับผู้ใช้ Emscripten ก็มีวิธีการโดยละเอียดในการสร้างแบบสมบูรณ์ด้วย หากต้องการดูว่า SIMD และเทรดช่วยปรับปรุงประสิทธิภาพของเวิร์กโหลดเหล่านี้ได้อย่างไร โปรดดูส่วนนี้ของการบรรยายเกี่ยวกับ WebAssembly สมัยใหม่ใน Chrome Dev Summit

โคโคส์

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

บทสรุป

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

รูปภาพหลักจาก Pexels โดย Ann Marie Kennon