סיכום React Conf 2021

17 בדצמבר 2021 מאת Jesslyn Tannady and Rick Hanlon


בשבוע שעבר אירחנו את React Conf השישי שלנו. בשנים קודמות השתמשנו בבמה של React Conf כדי למסור הכרזות ששינו את התעשייה, כמו React Native ו-React Hooks. השנה שיתפנו את החזון הרב-פלטפורמי שלנו ל-React, החל משחרור React 18 ואימוץ הדרגתי של יכולות concurrent.


זו הייתה הפעם הראשונה ש-React Conf התארח אונליין, והוא שודר בחינם עם תרגום ל-8 שפות שונות. משתתפים מכל העולם הצטרפו ל-Discord של הכנס ולאירוע השידור החוזר, כדי לאפשר נגישות בכל אזורי הזמן. יותר מ-50,000 אנשים נרשמו, עם מעל 60,000 צפיות ב-19 הרצאות, ו-5,000 משתתפים ב-Discord בשני האירועים יחד.

כל ההרצאות זמינות לצפייה אונליין.

הנה סיכום של מה שעלה על הבמה:

React 18 ויכולות concurrent

בהרצאת הפתיחה שיתפנו את החזון שלנו לעתיד React, שמתחיל ב-React 18.

React 18 מוסיף את מנוע ה-renderer של concurrent שחיכו לו זמן רב, יחד עם עדכונים ל-Suspense, בלי שינויים שוברים משמעותיים. אפליקציות יכולות לשדרג ל-React 18 ולהתחיל לאמץ יכולות concurrent בהדרגה, במאמץ דומה לכל שחרור major אחר.

זה אומר שאין concurrent mode, יש רק concurrent features.

בהרצאת הפתיחה שיתפנו גם את החזון שלנו לגבי Suspense, Server Components, קבוצות עבודה חדשות של React, וחזון רב-פלטפורמי ארוך טווח עבור React Native.

צפו בהרצאת הפתיחה המלאה של Andrew Clark, Juan Tejada, Lauren Tan, and Rick Hanlon:

React 18 למפתחי אפליקציות

בהרצאת הפתיחה הכרזנו גם ש-React 18 RC זמין לניסיון כבר עכשיו. בכפוף למשוב נוסף, זו תהיה בדיוק גרסת React שנפרסם כיציבה בתחילת השנה הבאה.

כדי לנסות את React 18 RC, שדרגו את התלויות:

npm install react@rc react-dom@rc

ועברו ל-API החדש של createRoot:

// before
const container = document.getElementById('root');
ReactDOM.render(<App />, container);

// after
const container = document.getElementById('root');
const root = ReactDOM.createRoot(container);
root.render(<App/>);

להדגמה של שדרוג ל-React 18, ראו את ההרצאה של Shruti Kapoor:

Streaming Server Rendering עם Suspense

React 18 כולל גם שיפורים לביצועי רינדור צד שרת באמצעות Suspense.

Streaming server rendering מאפשר לייצר HTML מקומפוננטות React בשרת, ולהזרים את ה-HTML הזה למשתמשים. ב-React 18 אפשר להשתמש ב-Suspense כדי לפרק את האפליקציה ליחידות קטנות ועצמאיות שאפשר להזרים בנפרד בלי לחסום את שאר האפליקציה. כלומר, משתמשים יראו תוכן מוקדם יותר ויוכלו להתחיל אינטראקציה הרבה יותר מהר.

לצלילה עמוקה, ראו את ההרצאה של Shaundai Person:

קבוצת העבודה הראשונה של React

עבור React 18 יצרנו את קבוצת העבודה הראשונה שלנו כדי לשתף פעולה עם פאנל של מומחים, מפתחים, מתחזקי ספריות ומדריכים. יחד בנינו את אסטרטגיית האימוץ ההדרגתי שלנו ושייפנו APIs חדשים כמו useId, useSyncExternalStore, ו-useInsertionEffect.

לסקירה של העבודה הזו, ראו את ההרצאה של Aakansha’ Doshi:

כלי פיתוח עבור React

כדי לתמוך ביכולות החדשות של השחרור הזה, הכרזנו גם על צוות React DevTools החדש ועל Timeline Profiler חדש שיעזור למפתחים לדבג אפליקציות React.

למידע נוסף ולהדגמה של יכולות DevTools חדשות, ראו את ההרצאה של Brian Vaughn:

React בלי memo

במבט רחוק יותר לעתיד, Xuan Huang (黄玄) שיתף עדכון ממחקר React Labs שלנו על קומפיילר עם auto-memoization. לצפייה במידע נוסף ובהדגמה של אבטיפוס הקומפיילר:

הרצאת תיעוד React

Rachel Nabors פתחה מקבץ הרצאות על למידה ועיצוב עם React, עם keynote על ההשקעה שלנו בתיעוד React החדש (שכיום הושק כ-react.dev):

ועוד…

שמענו גם הרצאות על למידה ועיצוב עם React:

הרצאות מצוותי Relay, React Native ו-PyTorch:

וגם הרצאות קהילה על נגישות, כלי פיתוח ו-Server Components:

תודה

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

קודם כול תודה לכל הדוברים שלנו Aakansha Doshi, Andrew Clark, Brian Vaughn, Daishi Kato, Debbie O’Brien, Delba de Oliveira, Diego Haz, Eric Rozell, Helen Lin, Juan Tejada, Lauren Tan, Linton Ye, Lyle Troxell, Rachel Nabors, Rick Hanlon, Robert Balicki, Roman Rädle, Sarah Rainsberger, Shaundai Person, Shruti Kapoor, Steven Moyes, Tafu Nakazaki, and Xuan Huang (黄玄).

תודה לכל מי שעזרו לתת פידבק על ההרצאות, כולל Andrew Clark, Dan Abramov, Dave McCabe, Eli White, Joe Savona, Lauren Tan, Rachel Nabors, and Tim Yung.

תודה ל-Lauren Tan על הקמת Discord של הכנס ועל התפקיד כ-Discord admin שלנו.

תודה ל-Seth Webster על משוב לגבי הכיוון הכללי ועל כך שווידא שנשארנו ממוקדים בגיוון והכלה.

תודה ל-Rachel Nabors על הובלת מאמץ המודרציה שלנו, ול-Aisha Blake על יצירת מדריך המודרציה, הובלת צוות המודרציה, הכשרת המתרגמים והמודרטורים, וסיוע במודרציה של שני האירועים.

תודה למודרטורים שלנו Jesslyn Tannady, Suzie Grange, Becca Bailey, Luna Wei, Joe Previte, Nicola Corti, Gijs Weterings, Claudio Procida, Julia Neumann, Mengdi Chen, Jean Zhang, Ricky Li, and Xuan Huang (黄玄).

תודה ל-Manjula Dube, Sahil Mhapsekar, and Vihang Patel from React India, ול-Jasmine Xie, QiChang Li, and YanLun Li from React China על עזרה במודרציה של אירוע השידור החוזר ועל שמירה על מעורבות גבוהה בקהילה.

תודה ל-Vercel על פרסום Virtual Event Starter Kit, שעליו נבנה אתר הכנס, ול-Lee Robinson ו-Delba de Oliveira על שיתוף ניסיון מהפקת Next.js Conf.

תודה ל-Leah Silber על שיתוף הניסיון שלה בהפקת כנסים, תובנות מ-RustConf, ועל הספר שלה Event Driven והעצות שבו על הפקת כנסים.

תודה ל-Kevin Lewis ול-Rachel Nabors על שיתוף ניסיון מהפקת Women of React Conf.

תודה ל-Aakansha Doshi, Laurie Barth, Michael Chan, and Shaundai Person על העצות והרעיונות לאורך כל התכנון.

תודה ל-Dan Lebowitz על עזרה בעיצוב ובניית אתר הכנס והכרטיסים.

תודה ל-Laura Podolak Waddell, Desmond Osei-Acheampong, Mark Rossi, Josh Toberman ואחרים מצוות Facebook Video Productions על הקלטת הסרטונים ל-Keynote ולהרצאות עובדי Meta.

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

ולבסוף, תודה לכל המשתתפים שלנו שהפכו את זה ל-React Conf נהדר.