פונקציונליות חדשה למפתחים שנוצרה על ידי WebAssembly

תצוגה של כלים שזמינים עכשיו באינטרנט הודות ל-WebAssembly.

Thomas Nattestad
Thomas Nattestad

WebAssembly מאפשרת למפתחים להוסיף לאינטרנט פונקציונליות בעלת ביצועים חדשים משפות אחרות. בשנים האחרונות, מפתחים ניצלו את כל האפשרויות האלה. בפוסט הזה נציג כמה מהכלים החדשים והנוצצים, בין היתר, WebAssembly.

בלי הקדמות נוספת, בואו נעבור לדברים הטובים D:

בזכות היציאה המלאה של SQLite, אתם יכולים להשתמש במערכת קלילה ומוטמעת לניהול מסדי נתונים רלציוניים. למידע נוסף, ניתן לקרוא את הפוסט בבלוג שמציג את השקע המדהים הזה ואיך להשתמש בו.

FFmpeg.wasm

FFmpeg הוא פרויקט תוכנה חינמי וקוד פתוח, המכיל חבילה של ספריות ותוכניות לטיפול בקובצי וידאו, באודיו ובקובצי מולטימדיה אחרים. אתם יכולים למצוא כאן גרסה הידור של Wam (מאגר github) שמאפשרת לבצע את כל הפעולות האלה ישירות בדפדפן.

תיאור סצינה אוניברסלית (USD)

Universal סצנה תיאור (USD) היא מסגרת לנתוני גרפיקה ממוחשבים בתלת-ממד שמתמקדת בשיתוף פעולה ובעריכה בלתי הרסנית, ובאפשרות של מספר תצוגות ודעות לגבי נתוני גרפיקה. זהו תקן מקובל בתחום שנתמך על ידי חברות כמו Pixar , Autodesk , Nvidia ועוד. התמיכה באינטרנט עדיין התחילה, אבל Autodesk כבר פיתחה קוד פתוח בכלי לצפייה בדולר ארה"ב מבוסס-אינטרנט, וכאן אפשר לראות אותה.

CanvasKit

CanvasKit היא Skia, מנוע הרינדור של Chrome ו-Android, שעבר הידור ישירות ל-WebAssembly. הוא כולל גישה פשוטה ל-JavaScript API, כמעט לכל העוצמה של מנוע העיבוד Skia. הפונקציונליות כוללת עיבוד מורכב, עיצוב טקסט, אנימציה, כתיבה בכתב יד ועוד. כדאי לעיין בחבילת NPM ובמדריך למתחילים.

TensorFlow.js

TensorFlow.js מביא את העוצמה של TensorFlow ישירות לדפדפן באמצעות API פשוט של JavaScript. מאחורי הקלעים, המערכת מבצעת אופטימיזציה של המודלים גם במעבד (GPU) וגם במעבד (CPU) (כולל אופטימיזציות של SIMD) כדי למקסם את הביצועים. אפשר לעיין במדריך לתחילת העבודה או לצפות ישירות בחלק מההדגמות.

OpenCV

OpenCV הוא תקן מקובל בתחום של פונקציות תכנות בעיקר לראייה ממוחשבת בזמן אמת. יש כאן חבילה קלה לשימוש של NPM, ולמשתמשי Emscripten יש גם הוראות מפורטות ליצירת גרסה מלאה. כדי לראות איך SIMD ו-threads משפרים את הביצועים של עומסי העבודה האלה, אפשר לצפות בקטע הזה במפגש של Modern WebAssembly Chrome Dev Summit.

קוקוס

Cocos הוא מנוע משחקים עוצמתי ופופולרי שמאפשר למפתחים לבנות משחקים עם תמיכה בפלטפורמות שונות. מנוע זה כולל עכשיו את האינטרנט. היא מצטרפת לרשימה הארוכה של מנועי משחקים שמאפשרים ייצוא מהאינטרנט דרך Wam. כדי להתחיל, נכנסים לכלי העריכה של Cocos ופועלים לפי ההוראות האלה.

סיכום

בנוסף לדוגמאות הספציפיות האלה, יש הרבה דברים מלהיבים לגבי הפוטנציאל של WebAssembly לשנות את הקצב של פונקציות אינטרנט חדשות. ב-Chrome אפילו הקימו את הקרן Advanced Web Apps Fund שיכולה לעזור למפתחים לממן את עבודתם כדי לקדם את תכונות האינטרנט שזמינות לכל המפתחים!

תמונה ראשית מתוך Pexels, מאת אן מארי קנון.