אחרי שנתיים של התפתחות הוכרז על שחרור הגרסה הראשונה פרויקט משמעותי Wasmer, המפתחת זמן ריצה להפעלת מודולי WebAssembly.
אזורי שימוש במכונת כביסה כוללים יצירת יישומים אוניברסליים שניתן לבצע במערכות הפעלה שונות, כמו גם ארגון הביצוע המבודד של קוד לא אמין. הכללה של בניית יישומי שרת נתמכת, למשל, הודגם שחרורו של שרת Nginx שהורכב ב- WebAssembly.
על ווסמר
הִטַלטְלוּת זה מושג על ידי קומפילציה של קוד היישום בתוכנת התיווך מכלול אינטרנט ברמה נמוכה שיכול לרוץ בכל מערכת הפעלה או להשתלב בתוכניות בשפות תכנות אחרות.
התוכניות הם מיכלים קלים המריצים את ה- pseudocode של WebAssembly. מיכלים אלה אינם קשורים למערכת ההפעלה ויכולים להכיל יישומים שנכתבו במקור בכל שפת תכנות.
ערכת הכלים ניתן להשתמש ב- Emscripten לצורך הידור ל- WebAssembleבנוסף לתרגום WebAssembly לקוד המכונה של הפלטפורמה הנוכחית, מספר מסגרות מחוברות, כמו LLVM ומחולל קוד Cranelift.
מצד שני, בקרת גישה ואינטראקציה עם המערכת ניתנים דרך ה- API של WASI (WebAssemble System Interface), המספק ממשקי תכנות לעבודה עם קבצים, שקעים ופונקציות אחרות שמספקת מערכת ההפעלה.
חוץ מזה יישומים מבודדים מהמערכת המארחת בסביבת ארגז חול יש להם גישה רק לפונקציונליות המוצהרת (מנגנון אבטחה המבוסס על יכולות ניהול; עבור פעולות עם כל אחד מהמשאבים (קבצים, ספריות, שקעים, שיחות מערכת וכו '), היישום חייב לקבל את הכוחות המתאימים).
התוכניות מופצות בצורה של מודולי WebAssembly רגילים, הניתנים לניהול באמצעות מנהל החבילות WAPM.
גם מכבש זמין כספרייה בה ניתן להשתמש בשפות שונות תִכנוּת. הטמעה של קוד WebAssemble בתוכניות Rust, C / C ++, C #, D, Python, JavaScript, Go, PHP, Ruby, Elixir ו- Java נתמכת.
כ תכונות מכונת כביסה גרסה 1.0 הדברים הבאים בולטים:
- ביצועים גבוהים של הפעלת יישומים, קרוב לביצוע מכלולים מקוריים ומהירות אוסף גבוהה.
- ארכיטקטורה ניתנת להרחבה עם יכולת לחבר בין גבולות קומפילציה שונים (Singlepass, Cranelift, LLVM) ומנועים (באמצעות JIT או יצירת קוד מכונה).
מנוע אובייקט מקומי, המאפשר יצירת קוד מכונה למערכת נתונה עבור מודול WebAssembly ("אוסף ילידי כביסה" ליצירת קבצי אובייקט .so, .dylib ו- .dll מוקדמים מראש). - קוד מהונדס מראש דורש זמן ביצוע מינימלי להפעלה, אך כל יכולות בידוד ארגזי החול נשמרות.
- מצב ללא ראש המספק תוכניות שהורכבו מראש עם מכונת כביסה מובנית.
תמיכה באוספים צולבים, למשל, ליצירת קוד מכונה עבור ארכיטקטורת Aarch64 במערכת x86_64. - ממשק API פשוט ליצירת תוספים ותוספים ללא צורך בלימוד מושגי WebAssembly מתקדמים.
- תמיכה ב- WASM-C-API.
- כלים לניפוי באגים וטיפול בשגיאות.
בסופו של דבר אם אתה מעוניין ללמוד עוד על Wasmer, אתה צריך לדעת ש-קוד הפרויקט כתוב ב- Rust, כך היה la רישיון MIT ותוכל לבדוק את פרטיו באתר הרשמי שלה בכתובת הקישור הבא.
התקן את זמן הריצה של Wasmer
מצד שני, למי שמעוניין להיות מסוגל להריץ את מיכל ה- WebAssembly, אתה צריך להתקין רק את זמן הריצה של Wasmer במערכת שלך, שמגיעה ללא תלות חיצונית.
חשוב להזכיר זאת מכונת כביסה ניתנת להפעלה בכל פלטפורמה macOS, Linux ו- Windows, הדרישה היחידה היא שזמן הריצה שלה יותקן על המערכת שלך.
לשם כך, פשוט הפעל את הפקודה הבאה במסוף:
תלתל https://get.wasmer.io -sSfL | ש
ואחרי זה עליהם לבצע את הקובץ הנדרש:
מבחן מכונת כביסה
אם אתה צריך לדעת יותר על אופן הפעולה של Wasmer או שאתה רוצה לדעת את קוד המקור שלו, תוכל להתייעץ עם כל זה בקישור הבא.