WebAssembly แสดงเครื่องมือที่พร้อมให้บริการบนเว็บแล้ว
WebAssembly ช่วยให้นักพัฒนาซอฟต์แวร์นำฟังก์ชันการทำงานใหม่ที่มีประสิทธิภาพจากภาษาอื่นๆ มาสู่เว็บ ในช่วง 2-3 ปีที่ผ่านมานี้ นักพัฒนาซอฟต์แวร์ได้ใช้ประโยชน์อย่างเต็มที่ โพสต์นี้แสดงตัวอย่างเครื่องมือใหม่ๆ ที่น่าสนใจซึ่งคุณจะได้ประโยชน์จาก WebAssembly
เครื่องมือและห้องสมุดที่ใช้ได้ตอนนี้
เพื่อไม่ให้เป็นการเสียเวลา มาเข้าเรื่องดีกันดีกว่า :D
SQLite
พอร์ต SQLite ที่เสร็จสมบูรณ์นี้ทำให้คุณมีระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ที่ฝังอยู่และมีน้ำหนักเบา หากต้องการดูข้อมูลเพิ่มเติม ให้อ่านบล็อกโพสต์นี้ที่แสดงพอร์ตที่ยอดเยี่ยมนี้และวิธีการใช้งาน
FFmpeg.wasm
FFmpeg เป็นโปรเจ็กต์ซอฟต์แวร์โอเพนซอร์สแบบไม่มีค่าใช้จ่าย ซึ่งประกอบด้วยชุดไลบรารีและโปรแกรมสำหรับจัดการไฟล์วิดีโอ เสียง รวมถึงไฟล์และสตรีมมัลติมีเดียอื่นๆ คุณสามารถหาเวอร์ชันที่คอมไพล์ Wasm ได้ที่นี่ (ที่เก็บ GitHub) ที่จะช่วยให้คุณทำงานทั้งหมดนี้ได้ในเบราว์เซอร์โดยตรง
คำอธิบาย Universal Scene (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 และเทรดช่วยปรับปรุงประสิทธิภาพของภาระงานเหล่านี้ได้ในส่วนนี้ในการพูดคุยเกี่ยวกับ Modern WebAssembly Chrome Dev Summit
โคโคส์
Cocos เป็นเครื่องมือเกมที่มีประสิทธิภาพและได้รับความนิยม ซึ่งช่วยให้นักพัฒนาเกมสร้างเกมที่รองรับการทำงานข้ามแพลตฟอร์มได้ ซึ่งรวมถึงเว็บด้วย ซึ่งรวมรายชื่อเครื่องมือเกมจำนวนมากที่ช่วยให้มีการส่งออกเว็บผ่าน Wasm ได้ หากต้องการเริ่มต้นใช้งาน ให้ไปที่ตัวแก้ไข Cocos แล้วทำตามวิธีการเหล่านี้
บทสรุป
นอกเหนือจากตัวอย่างที่เจาะจงเหล่านี้แล้ว ยังมีเรื่องน่าตื่นเต้นอีกมากในแง่ของศักยภาพของ WebAssembly ในการเปลี่ยนแปลงความเร็วในการทำงานแบบใหม่ของเว็บ Chrome ยังได้ตั้งค่าเงินโบนัส Web Apps ขั้นสูงที่ช่วยให้นักพัฒนาซอฟต์แวร์มีเงินทุนสนับสนุนการทำงานเพื่อยกระดับฟังก์ชันการทำงานของเว็บที่พร้อมให้บริการแก่นักพัฒนาซอฟต์แวร์ทุกคน!
รูปภาพหลักจาก Pexels โดย Ann Marie Kennon