הרבה יותר משניים
דן אברמוב כותב על שני ריאקטים, הריאקט שרץ על השרת והריאקט שרץ בדפדפן, ועל התפקידים השונים של כל אחד מהם. אני חושב שהוא עושה לעצמו הנחה. יש הרבה יותר משניים:
האם את ספריית תצוגה לצד לקוח, שנועדה לעזור לצוותים גדולים לתחזק אתרים עם יותר מדי קוד JavaScript?
האם את ספריית Full Stack שנועדה לעזור למפתחים להעלות מהר יותר פרויקטים לאוויר?
האם את מנסה לעזור לי לכתוב אתרים שעובדים מהר יותר (ההבטחה של Single Page Apps), או מנסה לגרום לי לכתוב קוד "נכון" גם אם זה עולה בזמני טעינה ופגיעה בביצועים?
האם את מעודדת שיתוף קוד בין פרויקטים או חדשנות ושינוי (שיבואו תמיד על חשבון היכולת להשתמש בקוד ישן שמצאתי ברשת) ?
האם את ספריית צד לקוח שאני יכול להכניס לכל פרויקט או ספריית Full Stack שדורשת קוד מיוחד בצד השרת על מנת לעבוד בצורה מיטבית?
עמוד הבית של התיעוד של ריאקט כולל את ההבטחה:
Whether you work on your own or with thousands of other developers, using React feels the same. It is designed to let you seamlessly combine components written by independent people, teams, and organizations.
ואני רוצה לקחת אותם ברצינות, אבל יודע שפרויקטי ריאקט שאני ראיתי לא "הרגישו אותו דבר". פרויקט צד-לקוח שמשתמש ב Redux ומחזיק את הלוגיקה והפעולות מחוץ לריאקט, ירגיש מאוד שונה מפרויקט שמעביר את כל עומס העבודה לקומפוננטות וישתמש ב react-query כדי למשוך מידע מהשרת ולשמור אותו בקונטקסט, ושני אלה ירגישו שונה מפרויקט שמשתמש ב Zustand, Valtio או Jotai. פרויקט שמשתמש ב Shadcn ו Tailwind ירגיש מאוד שונה מפרויקט שמשתמש ב Styled Components. ועוד לא דיברנו על next לעומת remix לעומת redwood לעומת tanstack start.
עכשיו שקורס Vue מאחוריי התחלתי לארגן מחדש את קורס ריאקט. האקוסיסטם של ריאקט תמיד היה מבולגן ובשנים האחרונות זה רק מחמיר. זה לא מה שיהרוג את ריאקט, אבל זה כן משהו שצריך להיות מאוד מודעים אליו כשלומדים ריאקט או כשנכנסים לעבוד על פרויקט.