האם Blazor הוא תקוות העתיד
-
קראתי וצפיתי בכמה מדריכים על הנושא, זה נראה מבטיח מאד, כל הכאבים של אנגולר עם הפלסטלינה של TS, והקשר המלאכותי בין השרת לקליינט, הכל נעלם בבלייזור, הקומוניקציה אמיתית, השפה אותה שפה, עם טיפוסיות קשוחה באמת ולא פלסטית.
מצד שני, זה עדיין טכנולוגיה צעירה, אין מספיק תמיכה, הבנתי גם שיכולות להיות בעיות ביצועים בשימוש ב WebAssembly, ויכול להיות שזו תהיה עוד טכנולוגיה שתתאדה במשך הזמן ותעלם בפח האשפה של ההיסטוריה יחד עם עשרות טכנולוגיות כמותה.
האם שווה להשקיע בלמידה בתחום הזה? -
-
@יוסף-בן-שמעון כתב בהאם Blazor הוא תקוות העתיד:
הבנתי גם שיכולות להיות בעיות ביצועים בשימוש ב WebAssembly
שרת Blazor לא חייב להיות WebAssembly. אם השימוש ב - Blazor הוא רק בשביל צד הלקוח, אז הקוד #C רץ בדפדפן באמצעות WebAssembly, אבל שרת Blazor רגיל לא משתמש עם WebAssembly אלא מריץ את הקוד #C בצד השרת.
-
אני אוהב את בלייזור בעיקר בגלל המודל ההיברידי שלו, שהקוד צד שרת וצד לקוח משולבים בצורה שקופה.
אבל אתה משווה את זה לאנגולר, אז אני משער שאתה מדבר על בלייזור רק בצד לקוח, שאז אתה צריך לפנות לAPI בכל בנייה של קומפוננטה וכדומה, במקרה כזה הייתי מעדיף לעבוד עם אנגולר, בגלל שיש הרבה ספריות שימושיות לעבודה עם הDOM לג'אווהסקריפט, אמנם גם בבלייזור אפשר ליצור מעין ממשק שקורא לספריות JS, אבל זה פחות נוח מאשר לעבוד איתן ישירות.עריכה: דרך אגב, המודל ההיברידי של בלייזור זה מאוד מאוד דומה לasp.net web forms ה"מיושן", הקונסטפטים ממש דומים, ודווקא אחרי שלמדתי את בלייזור למדתי להעריך שוב את web forms חוץ מזה שweb forms הרבה יותר איטי בגלל התכנון שלו. הרעיון הוא שיש "קוד" שרץ בשרת, ויש "טמפלייט" ש-"רץ" בלקוח, נשמע דומה, לא? בסוף דברים ישנים חוזרים להיות פופולריים.
-
כמו שחגי אומר, יש דמיון רב בין web forms של asp.net לבלייזור, וזה כבר לבד גרם לי תמיד לפחד ממנו.
web forms היה פיתוח דסקטופי לגמרי, לאינטרנט. גרור ושחרר פקדים, הירשם למגוון גדול של אירועים, וכתוב קוד כאילו אין לקוח ואין JS. ההבטחה הייתה מדהימה, אבל התוצאה עבורי הייתה מכה אנושה להבנת ארכיטקטורת שרת לקוח, ובזבוז כמה שנים על טכנולוגיה שכבלה מאוד מאוד את ההישגים וההבנה.
לא אאריך כעת בבעיות הweb froms, אבל נראה לי שעיקר בעייתו הייתה יומרה, והפשטה מוגזמת עבור המפתח. אני חושש שהבעיות האלה נמצאות בחלקם בבלייזור.יש עוד משהו שעם השנים למדתי לשים לב. יש מיינסטרים, ויש שוליים. רוב הפעמים, גם טכנולוגיות מאוד מצליחות בשוליים, כובלים את המפתח והלקוח ומכבידים מאוד לאורך הזמן. נניח עוד חמש שנים תהיה מהפכה בשרת לקוח, איפה בלייזור יהיה? הוא כמובן יתאים את עצמו, אבל אז הוא יהיה רק "מתאים" וכבר פחות "נדרש". מהשלב הזה מתחיל תהליך מרגיש ומייסר שנגמר לעיתים בזניחת המוצר ולעיתים בהגירה קשה.
-
אני לא מכיר את בלייזר, אבל אם מה שמושך אותך הוא התקשורת השקופה בין צד שרת לצד לקוח אז נתקלתי בדברים דומים בשפות אחרות
זה ככה ב-livewire של laravel וכן ב-Phoenix LiveView
מהמעט שעבדתי עם livewire אני מזדהה עם מה שדוד טוען שזה מטשטש מאוד את הגבולות בין לקוח לשרת ואפשר לשכוח לפעמים שהם בקצוות שונות של העולם ושיש לזה משמעות
החידוש בבלייזר מעבר ל-livewire הוא שאפשר לכתוב גם לוגיקת צד לקוח באותה שפה. -
@dovid כתב בהאם Blazor הוא תקוות העתיד:
יש עוד משהו שעם השנים למדתי לשים לב. יש מיינסטרים, ויש שוליים. רוב הפעמים, גם טכנולוגיות מאוד מצליחות בשוליים, כובלים את המפתח והלקוח ומכבידים מאוד לאורך הזמן. נניח עוד חמש שנים תהיה מהפכה בשרת לקוח, איפה בלייזור יהיה? הוא כמובן יתאים את עצמו, אבל אז הוא יהיה רק "מתאים" וכבר פחות "נדרש". מהשלב הזה מתחיל תהליך מרגיש ומייסר שנגמר לעיתים בזניחת המוצר ולעיתים בהגירה קשה.
תוכל להרחיב יותר? מה החשש אם תהיה מהפכה, ולמה זה נוגע רק לבלייזור?