4468278517 שובו של הלקוח העשיר, ה-Rich Client [טור אורח] | גיקטיים

סוכן חכם
אישי ודיסקרטי

לוח משרות ההיי-טק
והטכנולוגיה של ישראל.

רוצים לדעת על משרות חדשות שמתאימות לכם?
תנו לנו לעבוד בשבילכם.
במקום לחפש משרות, קבלו אותן למייל ראשונים.

תודה רבה,
מעכשיו הסוכן האישי שלנו עובד בשבילך. בהצלחה:)
ההרשמה בוצעה בהצלחה
*הרשמה מאשרת לנו את תנאי השימוש
אני מאשר קבלת חומר פרסומי מגיקטיים וידוע לי כי באפשרותי לבקש הסרה מרשימת התפוצה בכל עת

שובו של הלקוח העשיר, ה-Rich Client [טור אורח]

עולם הפיתוח עובר בשנים האחרונות שינויים רדיקליים, ומפתחים מכל הצבעים והמינים מחפשים את דרכם לטכנולוגיות האינטרנט המודרניות. צד הלקוח (Frontend) חוזר להיות Rich Client עם הרבה לוגיקה וניהול State

developers getty images

קרדיט תמונה\צלם: vgajic, Getty Images

מאת ירון ביטון

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

תקציר הפרקים הקודמים

חוויתי כבר מהפך טכנולוגי בסדר גודל כזה בעבר. זה היה כשהפסקתי לעבוד על מחשבי MainFrame שתפסו שטח של מכולה בינונית ועברתי לעבוד על מחשבי PC – הייתי עדיין בצבא, וזה קרה קצת לפני כוננות הלילה הבלתי נשכחת של באג 2000 ושינה בשק"ש ליד שני שרתים מהבהבים ומרימי גבה.
אחר כך הגיעה תקופה רוויית הורמונים, אמביציה, אובג'קט אוריאנטד ו-C++, זה היה כשמפתחי C התחילו פתאום להרגיש לא בנוח שהם עדיין לא למדו לחשוב בצורה מונחית עצמים ולא מבינים את הבדיחות על אובייקטים וירושה וגם למה פתאום מכנים אותם מאחורי הגב מפתחים פרוצדו-ר-ליים.

ואז הגיעה Java

כשהגיעה ג'אווה עם הלהיט Write Once Run Anywhere היא לעגה לאחותה הזקנה וקנטרה אותה בשם: C with Classes. היא אהבה להתהדר בעובדה שהיא Pure Object Oriented וככזאת כל דבר אצלה יהיה (פירסט) Class.

עיניים נוצצות

אעיד על עצמי שהעיניים נצצו בהתרגשות והתחושה היתה שאם רק ניטיב לתאר את העולם באמצעות מחלקות וירושות, וכל אובייקט יכמיס את ה-State שלו, או אז יהיה בידינו המפתח לתעלומה הגדולה מכל – איך מפתחים מערכת שקל לתחזק ושלא נרקבת כל כך מהר. את התורה הזו למדתי ולימדתי, וליוויתי איתה עשרות צוותי פיתוח במהלך השנים.

אופס, זה צריך לעבוד במקביל

אמרה לי השבוע מישהי – אין דבר מסוכן יותר ממצביא עם מפה ורעיון. בפועל הסתבר שמערכות שבנויות לגמרי בצורה כזו, לא מתמודדות טוב עם מקביליות ו-Multithreading. אפשר להגיד שאדון Concurrency קרע מערכות לגזרים, והביא צוותים לברכיים בניסיון לאתר Deadlocks ולסנכרן קטעים קריטיים תוך המנעות מבעיות ביצועים. באנגלית אגיד כי:

Shared mutable state concurrency is too damn hard: 
incorrect synchronization, deadlocks, starvation, inconsistent behavior, lost updates or dirty reads, are all there like accidents waiting to happen.

כיום אנחנו יודעים שלתכנות פונקציונאלי יתרונות רבים ופלטפורמות כמו אנגולר2 תלויות ומגיעות עם ספריית Rxjs המוטמעת לתוך ה-APIs של הסביבה, זה קריטי כי המקביליות מגיעה ל-Javascript מעבר לפינה ובכל הכח.

Old school Rich-Clients

פעם פיתחנו Rich Clients, שם יומרני שהיה מקובל אז לאפליקציות שמנמנות שמתקינים על מחשב הלקוח. ניהול הגרסאות של אפליקציות שונות אצל לקוחות שונים היה כאב גדול, מפני שהיה תלוי גם בשיתוף הפעולה של הלקוחות בעדכוני גרסה מקומיים או דרש עבודת IT מאומצת. ואז הגיע האינטרנט, ולמרות שהציע ממשק מוגבל מאוד, הפך לאלטרנטיבה פופולארית והעולם זז ל-Thin Clients מבוססי דפדפן – שפת Javascript הרגישה כמו הילדה הדחויה של השכונה שפתאום משתפים אותה במשחקים פה ושם, אבל בקטנה.

…and then there was Javascript everywhere

הילדה הזו התבגרה מאז ובשנים האחרונות הפכה לנסיכת השפות, יש שמגדילים לעשות ומכנים אותה שפת האסמבלר של הדור החדש ואת הדפדפן כ-Virtual Machine החדש.

Javascript משמשת היום לפיתוח אפליקציות אינטרנט מקצה לקצה, כולל צד שרת (Nodejs), אפליקציות מובייל, אפליקציות דסקטופ ואף רובוטיקה, והיכולת לנייד קוד ומפתחים עם Single Skill Set קוסם לחברות רבות.

The return of the Rich-Client

בצד הלקוח (Frontend) ג'אווסקריפט היא השליטה האולטימטיבית, ושפת היסוד שמתחת לספריות כמו ריאקט, לפריימוורקים כמו אנגולר 1 ולפלטפורומות כמו אנגולר 2.

אנגולר 2 מביא עימו שילוב של רעיונות טובים מכל הזמנים:

  • מקום של כבוד לאובג'קט אוריאנטד
  • Static Typing and compile time errors
  • הזמנה לתכנות פונקציונאלי במקומות המתאימים לכך
  • התייחסות ספציפית למגבלות ויכולות ב-Mobile
  • כלים המאפשרים ניהול State ו-One way data flow
  • יכולת מובנית לבדיקות קוד אוטומטיות (מערכת פשוטה ומשוכללת של Dependency Injections)

לסיכום, אני מאמין שאנחנו בתקופה מרתקת מבחינה טכנולוגית, שבה הסטנדרטים המצופים מצוותי פיתוח מקצועיים הם גבוהים מאיי פעם. תקופה שבה (אולי) הונחו בידינו הכלים לפתח מערכות שיודעות לגדול, הן מבחינת קוד והן מבחינת צוותי הפיתוח בצורה המאפשרת להן לשרוד את פגעי הזמן והמרחב ולהרקב פחות.

הכותב הוא מייסד ו-CTO בחברת misterBIT

כתב אורח

אנחנו מארחים מפעם לפעם כותבים טכנולוגים אורחים, המפרסמים כתבות בתחומי התמחות שלהם. במידה ואתם מעוניינים לפרסם פוסט בשמכם, פנו אלינו באמצעות טופס יצירת קשר באתר.

הגב

3 תגובות על "שובו של הלקוח העשיר, ה-Rich Client [טור אורח]"

הודע לי על
avatar

מיין לפי:   החדש ביותר | הישן ביותר | המדורג ביותר
משה
אורח
משה
2 חודשים 6 ימים לפני

תקרא לי ביה״ס עתיק, אבל את הסחורה שלי אני מספק עם תוכנות שיושבות על מחשב (כמו פעם) והמסד… במרומים.

גבי
אורח
גבי
2 חודשים 5 ימים לפני

מעניין מאוד לאן נגיע עם הטרנדים החמים עכשיו. האם טייפסקריפט תיתן פוש אמיתי ליכולת לפתח מערכות גדולות ומודלריות וכמה כמה יצא בקרב של ריאקט מול אנגולר

אבג
אורח
אבג
2 חודשים 4 ימים לפני

לא חייב טיפסקריפט. תנסה את flow (לפחות לעבודה עם nodejs) ממליץ….

wpDiscuz

תגיות לכתבה: