היכולת הנסתרת של WEB WORKERS – JAVASCRIPT
19.9.20
כל מפתח javascript יודע שהיא single-threaded כלומר, לא באמת ניתן לעבוד בה במקביל. לרוב כשרוצים ליצור תהליכים מקביליים כבדים עושים זאת בצד שרת ועובדים מולו על מנת להעביר את עומס העבודה לשם כך שצד הלקוח יעבוד חלק עם חווית משתמש איכותית. לעיתים יש מקרים שנצטרך עבודה מקבילית בjs שלא נרצה או נוכל להעביר לצד שרת מסיבות של משאבים, ביצועים ועוד למשל: ניתוח ועיבוד תמונה, מימוש code editor או spell checker או כל הרצת לוגיקה כבדה בצד הקליינט. למקרה הזה נוצרו Web Workers שהם חלק מהשפה ללא שום ספריה שנצטרך להוסיף. הם מאפשרים לנו לפתוח עוד threads ולעבוד מקבילית. בפרק ננסה להבין למה כדאי לעבוד איתם וכיצד בכלל מתחילים ומייצרים קוד יעיל ורלבנטי.
קישורים מהפרק:
מותג הסדנאות החדש של עמית וחן – www.ahamoment.dev
קישורים מומלצים לקריאה ושימוש https://github.com/GoogleChromeLabs/comlink
https://github.com/developit/workerize
דמו של חן בריאקט שמתשמש בWeb Workers – (המצגת גם נמצאת שם) https://github.com/ChenFeldman/react-worker-lecture