מהדורת React 18 כולל חידושים רבים. בין החידושים ניתן למצוא שיפורים מובנים (out of the box) כמו אצווה אוטומטית (automatic batching), ממשקי API חדשים (כדוגמת startTransition ) וחידוש נוסף הוא שרת הזרמת נתונים (streaming server renderer ) הכולל תמיכה מובנית ב- React.lazy.
תכונות אלו אפשריות הודות למנגנון Opt in חדש שנוסף ל- React 18.
מנגנון זה נקרא :"עיבוד במקביל" – Concurrent Rendering, והוא מאפשר ל- React להכין מספר גרסאות של ממשק המשתמש בו זמנית. שינוי זה הוא בעיקר מאחורי הקלעים, אך הוא פותח אפשרויות חדשות לשיפור ביצועי האפליקציה בחוויית המשתמש.
במחקר שבוצע לגבי שדרוגים עתידיים ב React ובעקבות משוב מקהילת המפתחים לגבי תכונת "העיבוד המקביל" העלולה לפגוע באפליקציות, תכננו ב React את אסטרטגיית השדרוגים למצב של "אימוץ הדרגתי".
במקום מצב של "הכל או כלום", העיבוד במקביל יופעל רק עבור עדכונים המופעלים על ידי אחת התכונות החדשות.
בפועל המשמעות היא שתוכלו לאמץ את React 18 ללא שכתובים ולנסות את התכונות החדשות בקצב שלכם.
אסטרטגיית האימוץ ההדרגתי
מכיוון שתכונת המקביליות של React 18 ניתנת להוספה על פי בחירה, על מנת שמפתחים יוכלו להוסיף את השדרוגים בהדרגה לא יחולו שינויים משמעותיים בהתנהגות רכיבי ממשק המשתמש (components).
המשמעות היא שמשתמשים יוכלו לשדרג ל- React 18 ללא שינויים, או שינויים מינימליים בלבד בקוד היישום שלהם, בדומה לשחרור React רגיל. מפתחי React הציגו כי לאחר שהעבירו בהצלחה תכונות מקבילות לעשרות אלפי רכיבים בפייסבוק, הם גילו שרוב רכיבי React "פשוט עובדים" ללא שינויים נוספים. המפתחים התחייבו לוודא כי מדובר בשדרוג חלק לכל הקהילה, ואף הקימו לשם כך את קבוצת העבודה של React 18.
על סמך ניסיונם בהמרת מספר אפליקציות ל- React 18, יש לצפות כי משתמשים רבים יוכלו לשדרג אפילו תוך אחר צהריים אחד.
עובדים עם הקהילה
במהדורה זאת נעשה מהלך חדש: הוזמן פנל שכלל מומחים,מפתחים, מחברי ספריות ומדריכים מרחבי קהילת ה- React על מנת שיספקו משובים, ישאלו שאלות ויהיו חלק פעיל בשחרור הגרסה.
מטרת קבוצת העבודה של React 18 היא להשאיר משוב, לשאול שאלות ולשתף רעיונות, ובכך להכין את המערכת לאימוץ חלק והדרגתי של React 18 על ידי יישומים וספריות קיימים.
קבוצת העבודה מתארחת בדיונים ב- GitHub וזמינה לקריאת הציבור. כמו כן, צוות הליבה של React ישתמש במאגרי המידע מהדיונים גם במחקר וגם לעדכון הקהל בכל מידע קריטי חדש, ככל שתתקרב הגרסה היציבה המלאה לשחרור.
קבוצת העבודה של React 18
כל אחד יכול לקרוא את הדיונים במאגרי המידע של קבוצת העבודה של React 18.
מכיוון שצוות הליבה ציפה לעלייה גבוהה בהתעניינות בקבוצת העבודה, בשלב זה רק חברים מוזמנים יורשו ליצור או להגיב על שרשורים. יחד עם זאת, כל הדיונים גלויים לציבור באופן מלא, כך שלכולם יש גישה לאותו מידע. הדבר נוצר על מנת לאפשר סביבת עבודה יצרנית תוך כדי שיקוף מלא לקהילה הרחבה.
כמו תמיד, עדיין פתוחה לכולם האפשרות להגיש דוחות באגים, לשאול שאלות ולתת משוב כללי במעקב פותר הבעיות. (Issues Tracker)
האם ניתן להתחיל להשתמש ב React 18?
גרסת אלפא חדשה מתפרסמת באופן קבוע בספריית התוכנה באמצעות התג @alpha.. כאשר מתבצע מיזוג תכונה או תיקון באגים, הם יופיעו באלפא בשבוע שלאחר מכן.
שימו לב כי יתכנו שינויים משמעותיים ביישום, או ב API בין שחרורי אלפא. לכן חשוב לזכור כי גרסאות אלפא אינן מומלצות ליישומי ייצור הפונים למשתמש.
צפי ציר הזמן לשחרור React 18
בשלב זה לא נקבע תאריך שחרור ספציפי, אך יש להניח שידרשו עוד מספר חודשי של משוב ושיפורים לפני ש- React 18 תהיה מוכנה עבור רוב היישומים.
ספריית אלפא: זמינה היום
בטא ציבורית: בעוד מספר חודשים לפחות
שחרור לבחינת היישום : לפחות מספר שבועות לאחר בטא
זמינות כללית: מספר שבועות לפחות לאחר השחרור. באתר קבוצת העבודה ניתן יהיה לקבל הודעות מוקדמות על שחרור גרסה צפוי בסמוך למועד.