במשך יותר משני עשורים, JavaScript הייתה שפת התכנות היחידה שיכולה לפעול בדפדפנים. שפות אחרות כמו Python, C++ ו-Go נועדו בעיקר לבניית צד השרת של יישומי ושירותי אינטרנט.
JavaScript הצליח די טוב, אבל שפות תכנות רבות אחרות מהירות יותר. ישנם יתרונות רבים שאפליקציות אינטרנט יכולות לנצל על ידי הפעלת שפות תכנות אחרות ויעילות יותר ישירות בדפדפן.
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 שמחזיר לכל היותר שני מספרים שלמים:
תחביר ה-WebAssembly הוא די מילולי יחסית ל-JavaScript, אבל זו לא אמורה להיות בעיה. לא תצטרכו ללמוד את התחביר מכיוון ש-WebAssembly יהיה יעד ההידור עבור התוכניות שתכתבו בשפה המועדפת עליכם.
איך WebAssembly עובד
WASM קיים כיעד הידור לשפות תכנות אחרות להעברה אליהן. אתה יכול לכתוב שפת התכנות המועדפת עליך וקומפל את קוד המקור ל-WASM bytecode שרץ על הלקוח. תרגום זה לקוד מכונה מקורי אומר שהוא יכול לפעול במהירות גבוהה, בדרך כלל מהר יותר מ-JavaScript.
אחת התכונות הקריטיות של WASM היא יכולת פעולה הדדית של JavaScript. אתה יכול לייבא מודולי WASM ליישום אינטרנט ולחשוף את פונקציות WASM לשימוש בקוד JavaScript. מסגרות JavaScript יכולות לנצל את WASM לביצועים גבוהים יותר.
WASM משתמש במודל ביצוע בארגז חול הדומה ל-JavaScript. WASM מקיים אינטראקציה עם המחשב המארח באמצעות ABIs (ממשק בינארי יישומים) כמו ה ממשק מערכת WebAssembly המספק גישה למשאבים ולשירותי מערכת אחרים בהתבסס על דרישות התוכנית.
דפדפנים מודרניים רבים תומכים ב-WASM, כולל Chrome, Microsoft Edge, Mozilla Firefox, Opera ו-Safari. שפות כמו Go ו תמיכה בחלודה WASM מחוץ לקופסא.
מדוע האינטרנט זקוק ל-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.