מה זה אנגולר

כותב: משה שחם, תאריך: 03.04.18

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

Google CDN

יש לא מעט cdns שיכולים לאכסן את הקבצים של אנגולר אבל המומלץ ביותר הוא  google cdn שניתן להורדה דרך הקישור הבא: https://developers.google.com/speed/libraries/#angularjs  

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

המאפיינים של אנגולר

  1. איחוד מידע – סנכרון אוטומטי של  הדאטה בין הרכיבים מודל וview. כשהמודל משתנה הview מתעדכן והפוך.
  2. scope- רכיב המחבר בין האפליקציה לview.
  3. פקדים – כל view צריך להיות קשור לפקד מסוים.
  4. ל-AngularJS יש שירותים מובנים וניתן גם לפתח שירותים נוספים במידת הצורך.
  5. פילטרים – לאנגולר יש סט של פילטרים מובנים שהם למעשה פורמטים שונים שמוצגים למשתמש. קל גם לפתח פילטרים מותאמים אישית.
  6. ספריות – אנגולר מאפשרת להעשיר את הhtml ע"י סט מובנה של ספריות כגון: ngBind,   ngModelו ngClass שמאפשרות להגדיר התנהגויות שונות לאלמנטים באמצעות custom html tags.
  7. תבניות – Angular מתבססת על תבניות html שהיתרון שלהן הוא שקל לנהל אותם באמצעות ספריות.
  8. Routing – המודול ngRoute מאפשר לנווט בין עמודים שונים ללא טעינה מחדש של העמודים ובכך לחסוך משאבים, (SPA(Single Page Application.
  9. Dependency Injection- גמישות בבחירה של מימושי הממשק בזמן ריצה ובכך מקל על ביצוע בדיקות יחידה.

המתודולוגיה

המתודולוגיה של אנגולר נגזרת מהטכניקה הMVC – Model, View ,controller MVC היא דוגמא לחלוקת האפליקציה לחלקים קטנים , כל אלמנט עם התחומי אחריות שלו כשהאינטראקציה ביניהם היא באמצעות object oriented. באמצעות הטכניקה הנ"ל ניתן לתחזק את הקוד בצורה יעילה וקלה  יותר , לתחזק כל מודול בנפרד ולעשות שימוש חוזר באובייקטים. באופן הזה התלות בין הקוד לממשק המשתמש הולכת וקטנה.

היתרונות

  • AngularJs מאפשרת לפתח dynamic Single Page Application ע"י כתיבת קוד נקי וקריא. הרבה קוד נחסך ע"י מאפיינים טכניים שכבר מובנים באנגולר
  • קל לבצע מניפולציות על הDOM
  • ניתן לעשות שימוש חוזר ברכיבים בקלטת
  • ניתן להריץ אנגולר על כל היישומים.

לצד היתרונות יש גם חסרונות

אנגולר מתבססת על JS, אם המשתמשים חסמו java script אז גם אנגולר לא תרוץ. בנוסף מבחינת רמת אבטחה , יש צורך לאבטח את האפליקציה דרך השרת וגם את הזיהוי.

Angular CLI (Command Line Interface

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

אנגולר 5 והעתיד כבר כאן

למרות שכרגע מדובר בעיקר בגרסאות ניסיוניות  – השלב הבא בתחום פיתוח פרונט אנד הוא Web Animation API ואנגולר תומכת בזה ובגדול , הפוטנציאל הטמון בתחום הוא עצום. אנגולר מאפשרת לתזמן באופן שונה אנימציות שרצות במקביל ואנימציות callbacks שמאפשרות לפתח טריגרים מתקדמים להתחלה ולסוף של האנימציה. ממש החודש או בחודש הבא אמורה להשתחרר גרסת הבתא של אנגולר 6.