ביטול ההסתעפות של Blockly

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

הסבר על ביטול הפיצול

כשמשתמשים ב-Blockly הראשי, המשמעות היא שאתם משתמשים בגרסה של Blockly שפורסמה לאחרונה, וכל ההתאמות האישיות שלכם מתבססות על ממשקי ה-API הציבוריים של Blockly ללא תיקון קוד (monkeypatching). ביטול ההסתעפות הוא העבודה שצריך לבצע כדי להטמיע את הפונקציונליות בהתאמה אישית של ההסתעפות באמצעות ממשקי ה-API הראשיים.

תרחישים פשוטים של ביטול יצירת ההסתעפות

ריכזנו כאן שתי סיבות נפוצות ליצירת ענף משנה, ודרכים לחזור ל-mainline:

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

מקרה מורכב של ביטול יצירת ההסתעפות

איך בודקים את הפונקציונליות של ההסתעפות

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

הסבר על הארכיטקטורה

אחרי שתבין את התכונות שמשתמשות בממשקי API ספציפיים להסתעפויות, כדאי לשקול:

  • האם יש דרך לשכפל כל תכונה שמשתמשת ב-fork באמצעות ממשקי ה-API של Blockly?
  • אם נראה שאתם לא מצליחים לשחזר את התכונה באמצעות ממשקי ה-API של Blockly, תוכלו לפנות אלינו בפורום או לדווח על בעיה ב-GitHub. לאחר מכן הצוות שלנו יחקור את האפשרות להוסיף ממשקי API כדי לאפשר את ההתאמה האישית.

איך קובעים את הנתיב לביטול ההסתעפות

השלב הבא הוא להתחיל את תהליך ההטמעה של הארכיטקטורה החדשה שמבוססת על Blockly לתכונות באמצעות ההסתעפות. יש שתי גישות עיקריות:

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

ממשיכים הלאה

הנה כמה כללים שצריך לפעול לפיהם בתור מפתחים של Blockly בעתיד:

  • באופן כללי, לא מומלץ להוסיף כיתות חדשות למרחב השמות של Blockly. אפשר לרשום שדות מותאמים אישית או כיתות אחרות שניתן לרשום בלי להצהיר עליהן במאגר של Blockly או במרחב השמות של Blockly.
  • לא מומלץ להסתמך על כלי ה-build של Blockly כדי לכתוב אפליקציה משלכם. אנחנו לא מתייחסים לכלים ל-build שלנו כחלק מ-API הציבורי, ולכן ייתכן שנבצע בהם שינויים שיעכבו את הפעולה של האפליקציה. אם תרצו, תוכלו לבצע את הידור האפליקציה בעצמכם.

פנייה

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