Low Code – במה מדובר?

עודכן ב: 28 אוק 2020

1. במה מדובר? - Low Code:

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

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

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

כלי Low Code מכילים את כל הכלים לפיתוח גרפי מהיר (מבנה נתונים, לוגיקה עסקית, תבניות מוכנות ל UI/UX).

מערכות Low Code או תפ"מ (מערכות תשתית לפיתוח מהיר) הן הכוכב העולה, בעיקר במרחב ה IT.

על פי גארטנר - ב 2023 כמחצית מהחברות (הבינוניות והגדולות) ישתמשו בכלי Low Code.


2. היסטוריה בקצרה

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

בעידן ה MainFrain ובעידן רשתות התקשורת וה ClientServer, קראו לכלים בתחום - מחוללי יישומים, או שפות מהדור הרביעי. זאת משום ששפות אלה נבנו באמצעות שפות מהדור השלישי (C, Java ואחרות) ופעלו לא כשפות מקומפלות אלא כ Interpreters.

בשנות ה 2000 כלים אלה זכו לכינוי (RAD (Rapid Application Development וכל מי שוותיק בתעשיה יותר מעשור, מכיר כלי פיתוח כאלה. אולם כלים אלה סבלו מאבולוציה שבעצם הפחיתה ממהירות הפיתוח ומהירות הביצועים. דורות של מהדרים (קומפיילרים) הוחלפו במהירות והאתגר לתחזק כלי RAD ברמת עדכניות גבוהה הפחית את הערכים המוספים שלהם.

אלא שמטוטלת עולם המחשוב המשיכה בדרכה, ומה שפעם היה ה Server Side כעת הוא בענן ומה שיה ה Client Side או המחשב האישי, כעת הוא הטלפון החכם (או כל מכשיר המתחבר לענן).

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

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

בשנת 2014, IDC טבעה את המונח Low Code , תוך שהיא סוקרת את הצורך והפתרונות בתחום הפיתוח המהיר ומאז, זה השם המקובל בעולם.

אם ננסה לתת שם עברי לתחום הוא כנראה יהיה תפ"מ (תשתית לפיתוח מהיר) אבל אפשר גם לזכור ש Low Code הוא בעיקר הרבה תפוקה בפחות קוד...


3. נפזר מעט את הערפל

איך בונים אפליקציה בעולם ה Agile?

1. מפרקים את צרכי המשתמש ל"סיפורי מעשה" ול"משימות" (Stories & Tasts) יחד עם המשמש:



סיפורי המעשה והמשימות כתובים בשפה ברורה ללקוח/משתמש ולמפתח.

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


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



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


מקשרים את המסך למבנה הנתונים הרלוונטי.


4. מפתחים את הלוגיקה העסקית ומקשרים אותה לאירועים (Event-ים) הרלוונטיים.



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


קל....


מה היתרונות הבולטים?

1. ה Time To Market לפתרון הבא – מהיר בסדר גודל (!), כאשר משווים בהגינות מול שפות פיתוח בדור שלוש/שלוש +.

2. ניהול כוח האדם. כיום יש מחסור אדיר באנשי פיתוח מיומנים, בוודאי ובוודאי ביחידות IT ארגוניות. זה מוביל לפשרות כואבות או למחירים בלתי סבירים. כלי Low Code מאפשרים למפתחים מנוסים לייצר הרבה יותר ומהר יותר, בסדר גודל, אבל מאפשר גם לאנשים פחות מיומנים לתת כתף.

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

4. כשקל ומהר לפתח, המחיר של יצירת אב-טיפוס במטרה לשתף את המשתמש בכל הדילמות, נמוך. לכן רמת שביעות הרצון של המשתמשים רק תעלה עם מערכות Low Code, מאחר והפער בין הרצוי למצוי קטן.

5. כמות התקלות האפשריות, By Design, קטן. זמן איתור תקלה לעין ערוך קטן יותר (חיפוש בין הרבה שורות קוד, מורכב מחיפוש בתוך תרשים זרימה). מכאן שה UpTime האמיתי של מערכות אלה גדול דרמטית.

6. כתוצאה מקלות שינוי או הוספת פונקציונליות, החוב הטכני קטן וזה אומר שאורך חיי המערכת עולה.


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