מגרש משחקים

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

יש 3 סוגים של מגרשי משחקים ל-Blockly: פשוט, מתקדם ומגוון. ב-blockly-samples, בדרך כלל משתמשים רק במרחב העבודה המתקדם.

דרישות מוקדמות

Blockly משתמש עכשיו במערכת המודולים של Closure. בגלל האופן שבו הם נטענים, צריך לאחזר מודולים לא מתומללים של Closure מכתובת URL מסוג http: או https:, ולא ניתן לאחזר אותם ישירות מכתובות URL מסוג file:. לכן, כדי לטעון את זירת הבדיקה במצב לא מתומלל, צריך לטעון אותה משרת אינטרנט מקומי.

יצרנו סקריפט שמפעיל שרת מקומי וטוען את כל הקוד שנדרש כדי לטעון את המודולים של Blockly. כדי להתקין את כל יחסי התלות, צריך להתקין את npm במחשב ולהריץ את npm install מהשורש של Blockly.

באמצעות Internet Explorer

ב-Blockly נעשה עכשיו שימוש בתכונות מתקדמות בקוד הבסיסי, שעשויות להיות לא תואמות ל-Internet Explorer. בקוד המכווץ (הקמפילט), התכונות האלה עוברות תרגום כדי לפעול ב-IE, אבל יכול להיות שהטעינה של הקוד הלא דחוס לא תפעל. לכן, אם תטעינו את זירת הניסוי ב-IE, גם דרך שרת http מקומי, קוד Blockly המכווץ ייטען באופן אוטומטי בזירת הניסוי כדי להבטיח תאימות. מידע נוסף על בדיקת שינויים ב-Playground במצב דחוס זמין בקטע 'גישה ישירה למגרשי המשחקים'.

Simple Playground

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

כדי לפתוח את Playground, מריצים את

npm run start

מהשורש של Blockly. מוודאים שאין שום דבר אחר שמאזין ביציאה 8080. הפקודה הזו תפעיל שרת שמארח את המודולים של Blockly ותפתח את הדפדפן באופן אוטומטי לדף של זירת הניסוי. כשמסיימים להשתמש בסביבת ה-playground, מסימים את התהליך (ctrl-c בסביבות Mac ו-Linux).

בגן השעשועים יש:

  • כל הקוד לא דחוס כדי לאפשר פיתוח מהיר.
  • כל חסימות ברירת המחדל (למעט בלוקים שהוצאו משימוש).
  • כל הגנרטורים של השפות (JavaScript,‏ Python,‏ PHP,‏ Lua ו-Dart).
  • סריאליזציה ופענוח של מצב סביבת העבודה (JSON או XML).
  • מעבר בין פריסת LTR ו-RTL.
  • לעבור בין פריסות של תיבת הכלים.
  • בדיקות לחץ של כלי הרינדור.
  • תיעוד כל האירועים במסוף.

מגרש משחקים מתקדם

במגרש המשחקים המתקדם יש תכונות נוספות שבעזרתן תוכלו לנפות באגים ב-Blockly בקלות רבה יותר. זהו גם מגרש המשחקים שמוגדר כברירת מחדל לשימוש בדוגמאות חסימה לכל יישומי הפלאגין.

מגרש המשחקים הזה כולל את כל התכונות הפשוטות של מגרש המשחקים, וגם:

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

כדי להפעיל את זירת המשחקים המתקדמת של כל פלאגין ב-blockly-samples, מריצים את הפקודה npm run start מהספרייה ברמה הבסיסית של הפלאגין. בשלב הזה, אפשר להריץ רק פלאגין אחד בכל פעם, והוא משתמש ביציאה 3000. אם לא ניתן להפעיל את הפלאגין, קודם צריך לוודא שאף דבר אחר לא מאזין ביציאה הזו.

כדי להפעיל את ה-Playground המתקדם בליבה, מריצים את הפקודה npm run start מהרמה הבסיסית (root) של Blockly ולוחצים על הקישור Advanced מתחת לשם הפריט.

אפשר גם ליצור דף בדיקה משלכם שכולל את זירת הבדיקה המתקדמת באמצעות חבילת dev-tools של Blockly.

מגרש משחקים רב-תחומי

'מגרש משחקים מרובה' מכיל כמה מגרשי משחקים בהגדרות שונות של מצב LTR ומיקום תיבת הכלים. הבדיקה הזו משמשת בעיקר כדי לבדוק במהירות ש-Blockly לא שבר משהו שקשור ל-LTR לפני השקה. כדי לפתוח את ה-Playground הזה, פועלים לפי השלבים של ה-Playground הפשוט, ומשנים את כתובת ה-URL ל-/tests/multi_playground.html.

בדיקת השינויים

כשמריצים את אחת ממרחב העבודה מהשרת המקומי, ברוב המקרים צריך רק לרענן את הדף כדי לראות את השינויים ב-Blockly. אם הוספתם קובץ חדש או הוספת יחסי תלות חדשים לקובץ, יכול להיות שתצטרכו להריץ קודם את הפקודה npm run build כדי לעדכן את הקובץ test/deps.js, כדי לוודא שיחסי התלות נטענים בצורה נכונה, ואז לרענן את הדף.

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

גישה ישירה למרחבי העבודה

בעבר, כדי לגשת ל-Playground הפשוט באופן מקומי, נכנסים ישירות לקובץ test/playground.html בדפדפן. זה עדיין אפשרי במגרשי משחקים פשוטים ומרובים, אבל זה לא מומלץ יותר. אם תעשו זאת, זירת הניסוי תזהה שאתם לא מריצים שרת מקומי ותשתמש באופן אוטומטי בקובצי Blockly דחוסים (מידע נוסף זמין בדף Building Blockly). בכל פעם שתשנו משהו בליבה של Blockly, תצטרכו לבנות מחדש את הליבה ולהעביר את השינויים לשלב הבא. עדיין תוכלו לגשת לדפים האלה אם הם מתארחים בשרת מרוחק, כמו הדוגמה שלנו שמתארחת באתר הניסיוני שלנו. כשהשיחה תהיה במצב דחוס, הרקע יהיה כחול בהיר.

מגרש המשחקים המתקדם לא זמין דרך גישה file:.