גרסאות אנגולר

במאמר זה נסביר את ההבדלים בין גרסאות אנגולר השונות באופן כללי, נסביר למה יש כל כך הרבה גרסאות ולמה יהיו עוד הרבה גרסאות. פוסט זה מתאר את תהליך ההפצות של Angular 2.0 ואילך. אם רציתם לקרוא על הגרסאות של AngularJS עליכם לחפש את הביטוי AngularJS וזהו השם הרשמי לכל גרסאות ה- v1.x של Angular.

מבנה הגרסאות של אנגולר

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

למספרי הגרסאות יש שלושה חלקים: major.minor.patch.

לדוגמה, גרסה 7.2.11 מציינת:

  • 7 – גרסה ראשית (major)
  • 2 – גרסה מינורית (minor)
  • 11 – גרסת תיקון (patch)

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

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

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

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

הערה: החל מגרסת אנגולר 7, הגרסאות העיקריות של החבילות angular/core ו angular/cli מתואמות. המשמעות היא שהחל מגרסה 7 יש לשים לב שהגרסאות של @angular/core ו @angular/cli הן זהות.

למה יש שחרור גרסאות תדיר

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

תמיכה בעדכונים

אם אנו מעדכנים את הגרסה תוך שמירה על הגרסה הראשית אנחנו יכולים לדלג על כל גרסאות הביניים ולעדכן ישירות לגרסה ממוקדת. לדוגמה, אפשר לעדכן ישירות מ- 7.0.0 ל- 7.2.11.

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

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

גרסאות תחת פיתוח

יש אפשרות להציץ בגרסאות שעומדות לצאת, סוג של תצוגה מקדימה של המתרחש. זאת על ידי התקנה של גרסאות next וגרסאות rc.

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

אם הגרסה מוכנה להפצה אך עדיין לא הופצה באופן רשמי, אבל היא כבר לא תחת פיתוח פעיל אלא מוכנה לשחרור שם הגרסה יהיה לדוגמה  8.1.0-rc.0.

הגרסה האחרונה של next או rc לפני פרסום המהדורה זמינה באתר next.angular.io.

תדירות שחרור גרסאות

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

באופן כללי, מחזוריות שחרור הגרסאות היא:

  • שחרור גרסה ראשית כל 6 חודשים
  • 1-3 שחרורי גרסה מינורית לכל גרסה ראשית
  • גרסאות טלאי, תיקוני באגים ושחרור מקדים (next או rc) מופצים כמעט כל שבוע

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

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

מה חדש בגרסאות אנגולר

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

אנגולר 2

Angular 2.0 הוכרז בכנס ng-Europe 22-23. אוקטובר 2014. השינויים הדרסטיים בגרסת 2.0 לעומת AngularJS יצרו מחלוקת רבה בקרב המפתחים. ב- 30 באפריל 2015, המפתחים של Angular הודיעו כי Angular 2 עברה מאלפא לגרסת תצוגה מקדימה עבור מתכנתים. Angular 2 עבר לביתא בדצמבר 2015 והשחרור גרסה הראשון פורסם במאי 2016. הגרסה הסופית שוחררה ב- 14 בספטמבר 2016.

אנגולר 3

גרסה של אנגולר3 מעולם לא יצאה, ונסביר בפסקה הזו למה.

את הFramework של אנגולר מרכיבים מספר חבילות שכולם יחד מהוות את מה שנקרא Angular.

מערכת ניהול הגרסאות של אנגולר היא MonoRepo והמשמעות היא שיש גרסה ראשית אחידה לכל החבילות של הframework.

לדוגמה:

@angular/core          v2.3.0
@angular/compiler      v2.3.0
@angular/compiler-cli  v2.3.0

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

כעת הבעיה היא שאחת מהחבילות של הFramework יצאה עם גרסה ראשית של 3 בגלל שינויים ופיתוחים מסיבים (החבילה angular/router) ולכן אי אפשר היה לצאת בגרסה 3 של כל הFramework. על מספר זה התבצע דילוג ועברו ישירות לגרסה 4 על מנת לא ליצור בלבול בגרסאות ולהמשיך את הקו של MonoRepo. 

דוגמה למצב שהיה קיים בגרסת אנגולר2:

@angular/core          v2.3.0
@angular/compiler      v2.3.0
@angular/compiler-cli  v2.3.0
@angular/router        v3.3.0

אנגולר 4

ב- 13 בדצמבר 2016 הוכרז Angular 4, בוצע דילוג על גרסה 3 כדי למנוע בלבול עקב התאמה לא נכונה של גרסת חבילת הנתב שהופצה כבר בתור v3.3.0. הגרסה הסופית שוחררה ב- 23 במרץ 2017. Angular 4 תואם לאחור עם Angular 2 והשדרוג היה קל.

גרסה 4.3 היא מהדורה מינורית, כלומר היא אינה מכילה שינויים קריטיים והיא צריכה להיות הגרסה שבה משתמשים בנקודת זמן זוץ 

תכונות שיצאו באנגולר 4.3:

HttpClient, הספרייה קטנה יותר, קלה יותר לשימוש וחזקה יותר לביצוע בקשות HTTP. ארבעה אירועי מחזור חיים חדשים של הנתב:

  • GuardsCheckStart
  • GuardsCheckEnd
  • ResolveStart
  • ResolveEnd

מצטרפים למערך הקיים של אירועי מחזור חיים כמו NavigationStart.

אפשרות לאנימציות באופן מותנה.

 

אנגולר 5

Angular 5 שוחרר ב -1 בנובמבר 2017. שיפורים עיקריים ב- Angular 5 כוללים תמיכה ביישומי אינטרנט מתקדמים, מיטוב בניה ושיפורים הקשורים לעיצוב חומרים.

אנגולר 6

Angular 6 שוחרר ב- 4 במאי 2018. מדובר במהדורה משמעותית המתמקדת בכלים ובביצועים מהירים יותר. הכלים המשמעותיים שנוספו:

  • ng update
  • ng add
  • Angular Elements
  • Angular Material + CDK Components
  • Angular Material Starter Components
  • CLI Workspaces, Library Support
  • Tree Shakable Providers
  • Animation Performance Improvements
  • RxJS v6

אנגולר 7

Angular 7 שוחרר ב- 18 באוקטובר 2018. בעיקר עדכונים בנוגע לביצועים, הגלילה וירטואלית שגורמת למסך לא להיתקע כאשר יש המון אלמנטים במסך, תמיכה בהזרקת תוכן באמצעות אלמנטים. עבודה עם ספריות חדשות של TypeScript ושל RxJS. נדרש node גרסה 10 להפצה זו.

אנגולר 8

Angular 8 שוחרר ב- 28 במאי, 2019. טעינה דיפרנציאלית של קוד האפליקציה, ייבוא ​​דינמי של מודולים בשיטת lazy load, הוספת web workers, תמיכה ב- TypeScript 3.4 והמנוע החדש Angular Ivy.

מנוע הIvy  כולל:

  • קוד קריא יותר
  • באגים ברורים יותר בזמן ריצה
  • זמן בנייה מחדש מהיר יותר
  • גודל משקל משופר
  • בדיקת תבנית משופרת
  • תאימות לאחור

אנגולר 9

Angular 9 שוחרר ב- 7 בפברואר 2020. גרסה 9 משתמשת במהדר Ivy כברירת המחדל. Angular עודכן לעבודה עם TypeScript 3.6 ו- 3.7. בנוסף למאות תיקוני באגים, מהדר הivy ושיפור זמן הריצה הגרסה מציעה יתרונות רבים:

  • גדלי קבצי הפצה קטנים יותר
  • בדיקות מהירות יותר
  • ניפוי שגיאות קל יותר
  • שיפורים במחלקות css והטמעת styles
  • בדיקת types טובה יותר
  • שגיאות קומפילציה ברורות יותר
  • שיפור זמן הבניה של האפליקציה.

שתף למען עולם טוב יותר

שיתוף ב facebook
שיתוף ב google
שיתוף ב twitter
שיתוף ב linkedin
שיתוף ב pinterest
שיתוף ב print
שיתוף ב email
התקשרו עכשיו!

ייעוץ חינם

ייעוץ מאיתנו על ידי יועץ לימודים מקצועי