Angular

מתוך ויקיפדיה, האנציקלופדיה החופשית
(הופנה מהדף AngularJS)
Angular
לוגו אנגולר
מפתח Google, Brat Tech LLC, והקהילה
מחזור חיים 14 בספטמבר 2016 – הווה (6 שנים ו־11 שבועות)
גרסה אחרונה 15.0.2 (30 בנובמבר 2022) עריכת הנתון בוויקינתונים
מערכת הפעלה חוצה-פלטפורמות
נכתבה בשפות TypeScript
סוג רישיון רישיון MIT
קוד מקור https://github.com/angular/angular עריכת הנתון בוויקינתונים
קטגוריה ספריית JavaScript
Angular.io
לעריכה בוויקינתונים שמשמש מקור לחלק מהמידע בתבנית OOjs UI icon info big.svg

בפיתוח תוכנה, אנגולר (באנגלית: Angular, מכונה גם "Angular 2+") היא תוכנה חופשית וקוד פתוח המשמשת כתשתית תוכנה ליישומי רשת, ומבוססת על שפת TypeScript.[1] היא מתוחזקת על ידי גוגל ועל ידי קהילה רחבה של מפתחים. אנגולר נכתבה מאפס על ידי אותו צוות מפתחים בגוגל שפיתח את AngularJS (אנ'), תשתית תוכנה ליישומי רשת שהתבססה על שפת JavaScript.

רקע[עריכת קוד מקור | עריכה]

התשתית מיועדת לפיתוח יישומי דף-יחיד, ופישוט הפיתוח והבדיקות של יישומים אלו, באמצעות תשתית תוכנה לארכיטקטורות צד לקוח כמו MVC או MVVM, יחד עם רכיבים בהם משתמשים בדרך כלל ביישומי אינטרנט עשירים.

היסטוריה[עריכת קוד מקור | עריכה]

שמות[עריכת קוד מקור | עריכה]

השכתוב של "AngularJS" נקרא "Angular 2", אך זה גרם לבלבול בקרב מתכנתים. לשם בהירות, הצוות הודיע ששמות נפרדים ישמשו לכל אחד מהפריימוורקים, כאשר "AngularJS" מתייחס לגרסאות 1.X ואילו "Angular" בלי "JS" מתייחס לגרסאות 2 ומעלה.[2]

גרסה 2[עריכת קוד מקור | עריכה]

אנגולר 2.0 הוכרז בוועידת ng-Europe באוקטובר 2014.[3][4] השינויים הדרסטיים בגרסה זו עוררו מחלוקת בקרב קהילת המפתחים.[5]

ב-30 באפריל 2015, צוות הפיתוח של אנגולר הכריז שאנגולר 2 עברה מגרסת אלפא לגרסת תצוגה מקדימה למפתחים.[6] בדצמבר 2015 עברה הגרסה לבטא,[7] וגרסה מועמדת להפצה פורמה במאי 2016.[8] הגרסה הסופית שוחררה ב-14 בספטמבר 2016.

גרסה 4[עריכת קוד מקור | עריכה]

ב-13 בדצמבר 2016 הוכרזה גרסה 4, על מספר 3 דילגו כדי למנוע בלבול סביב חוסר הסנכרון בין הגרסה של חבילת הניתוב שכבר הופצה כ-v3.3.0.‏[9] הגרסה הסופית יצאה ב-23 במרץ 2017.[10] אנגולר 4 היא בעלת תאימות לאחור לאנגולר 2.[11]

גרסה 4.3 היא גרסה משנית, מה שאומר שהיא לא מכילה שינויים שוברים ושהיא נועדה להחליף את הגרסאות 4.x.x שקדמו לה.

תכונות חדשות בגרסה 4.3:

  • "HttpClient" - ספרייה קטנה יותר, קלה לשימוש ורבת יכולות לביצוע קריאות HTTP.
  • ארבעה איוונטים חדשים במחזור חיי הניתוב: GuardsCheckStart, GuardsCheckEnd, ResolveStart, ResolveEnd.
  • השבתה של הנפשות בהתאם לתנאים.

גרסה 5[עריכת קוד מקור | עריכה]

אנגולר 5 יצא ב-1 בנובמבר 2017.[12] שיפורים עיקריים באנגולר 5 כוללים תמיכה באפליקציות רשת פרוגרסיביות, אופטימייזר לבניית תוכנה ושיפורים הקשורים למטריאל דיזיין (שפת העיצוב המשתמשת את אנגולר).[13]


גרסה 6[עריכת קוד מקור | עריכה]

אנגולר 6 יצא ב-4 במאי 2018.[14] הגרסה מתמקדת פחות בשלד התוכנה עצמו ויותר בארגז הכלים הנלווה וביכולת לזוז מהר יותר בעתיד, ובכלל זה בכלים: ng update, ng add, Angular Elements, Angular Material + CDK, Angular Material Starter Components, CLI Workspaces, Library Support, Tree Shakable Providers, Animations Performance Improvements, ו-RxJS v6.

גרסה 7[עריכת קוד מקור | עריכה]

אנגולר 7 יצא ב-18 באוקטובר 2018 והכיל עדכונים הקשורים לביצועי האפליקציות, Angular Material + CDK, Virtual Scrolling, נגישות משופרת באלמנט לבחירה מרשימה, תמיכה בהקרנת תוכן (Content Projection), עדכוני תלויות עבור Typescript 3.1, RxJS 6.3, Node 10 (אך עדיין תומך ב-Node 8).[15]

גרסה 8[עריכת קוד מקור | עריכה]

אנגולר 8 יצא ב-28 במאי 2019 והכיל: טעינה דיפרנציאלית עבור כל הקוד של האפליקציה, ייבוא דינמי עבור נתיבים, וורקרים, תמיכה ב-TypeScript 3.4, וגרסת תצוגה מקדימה של מנוע הרינדור Angular Ivy, שמגיע כבוי בברירת מחדל. התצוגה המקדימה של Angular Ivy כללה:[16]

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

גרסה 9[עריכת קוד מקור | עריכה]

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

  • חבילות קוד קטנות יותר
  • הרצת בדיקות מהירה יותר
  • דיבוג מהיר יותר
  • קישור משופר של קלאסים ועיצוב ב-CSS
  • בדיקת טיפוסים משופרת
  • שגיאות בנייה משופרות
  • שיפור זמני בנייה, הפעלת בנייה לפני ריצה בברירת מחדל (Ahead of time - AOT)
  • לוקליזציה משופרת

גרסה 10[עריכת קוד מקור | עריכה]

אנגולר 10 יצא ב-24 ביוני 2020.[17]

  • וידג'ט חדש לבחירת טווח תאריכים (בספריית Material UI)
  • אזהרות על ייבוא של CommonJS
  • הגדרות אפשריות קשיחות יותר
  • הגדרת תצורה חדשה לדפדפן ברירת מחדל
  • הסרה של קוד ישן

גרסה 11[עריכת קוד מקור | עריכה]

אנגולר 11 יצא ב-11 בנובמבר 2020.[18]

גרסה 12[עריכת קוד מקור | עריכה]

אנגולר 12 יצא ב-12 במאי 2021.[19]

הופסקה התמיכה בדפדפן Internet Explorer 11.

גרסה 13[עריכת קוד מקור | עריכה]

גרסה 13 יצאה ב-4 בנובמבר 2021.[20]

גרסה 14[עריכת קוד מקור | עריכה]

גרסה 14 יצאה ב-2 ביוני 2022. בין התכונות החדשות: טפסים עם הגדרות טיפוסים, קונפוננטות עצמאיות.

דוגמה לתוכנית Angular[עריכת קוד מקור | עריכה]

בקובץ ה-app.component.ts

import { Component } from '@angular/core';

@Component({
    selector: 'app-root',
    templateUrl: './app.component.html',
    styleUrls: ['./app.component.css']
})

export class AppComponent {
    title = 'app works';
}

ובקובץ ה-app.component.html

  <div>
      <h1 class="color" *ngIf="title">{{title}}</h1>
      <h1  class="color" *ngIf="!title">הכותרת אם המשתנה לא מוגדר</h1>
 </div>

ובקובץ ה-app.component.css

    .color{
        color: red;
        background-color: #eee;
        width: 100%;
        text-align: center;
    }

הבדלים בין Angular ו-AngularJS[עריכת קוד מקור | עריכה]

גוגל תכננה את אנגולר כשכתוב מאפס של AngularJS.

  • באנגולר לא קיים הרעיון של תחום הכרזה (אנ') או קונטרולרים; תחת זאת הוא עושה שימוש בהיררכיה של קומפוננטות כמאפיין הארכיטקטוני העיקרי שלו.[21]
  • באנגולר יש תחביר שונה, סוגריים רבועים "[ ]" משמשים לקישור משתנים, "( )" משמש להאזנה לאירועים.[22]
  • מודולריות - הרבה מהפונקציונליות העיקרית עברה למודולים.
  • אנגולר מתעדפת שימוש בשפת התכנות TypeScript, שכוללת את התכונות הבאות:
  • טעינה דינמית.
  • הידור תבניות אסינכרוני.
  • קולבקים איטרטיביים באמצעות RxJS.
  • תמיכה בהרצת אפליקציות אנגולר בשרתים.

ראו גם[עריכת קוד מקור | עריכה]

קישורים חיצוניים[עריכת קוד מקור | עריכה]

ויקישיתוף מדיה וקבצים בנושא Angular בוויקישיתוף

הערות שוליים[עריכת קוד מקור | עריכה]

  1. ^ What is Angular, angular.io
  2. ^ "Angular: Branding Guidelines for AngularJS". נבדק ב-2017-03-04.
  3. ^ Coman Hamilton (28 באוקטובר 2014). "A sneak peek at the radically new Angular 2.0". נבדק ב-2015-10-21. {{cite web}}: (עזרה)
  4. ^ "Ng-Europe schedule".
  5. ^ Coman Hamilton (29 באוקטובר 2014). "Angular 2.0 announcement backfires". נבדק ב-2015-10-21. {{cite web}}: (עזרה)
  6. ^ @angularjs (30 אפר' 2015). "Angular 2 moves from Alpha to Developer Preview! Dev guide and API docs now available at ... angular.io/docs/js/latest" (Tweet). נבדק ב-2015-10-21 – via Twitter. {{cite web}}: (עזרה) |date= mismatches calculated date from |number= by two or more days (help)
  7. ^ "Angular: Angular 2 Beta". angularjs.blogspot.it. נבדק ב-2016-07-13.
  8. ^ "angular/angular". GitHub. נבדק ב-2016-05-04.
  9. ^ "Ok... let me explain: it's going to be Angular 4.0". angularjs.blogspot.kr. נבדק ב-2016-12-14.
  10. ^ "Angular 4.0.0 Now Available". angularjs.blogspot.ca. נבדק ב-2017-03-23.
  11. ^ "Angular 4 coming in 2017, to be backwards compatible with Angular 2". react-etc.net. נבדק ב-2016-12-14.
  12. ^ Fluin, Stephen. "Version 5.0.0 of Angular Now Available". נבדק ב-2 בנובמבר 2017. {{cite web}}: (עזרה)
  13. ^ "Angular 5 JavaScript framework delayed". 18 בספטמבר 2017. {{cite web}}: (עזרה)
  14. ^ "Version 6.0.0 of Angular Now Available". נבדק ב-4 במאי 2018. {{cite web}}: (עזרה)
  15. ^ Fluin, Stephen (2018-10-18). "Version 7 of Angular — CLI Prompts, Virtual Scroll, Drag and Drop and more". Angular Blog. נבדק ב-2019-06-07.
  16. ^ Fluin, Stephen (2019-02-08). "A plan for version 8.0 and Ivy". Angular Blog. נבדק ב-2019-06-07.
  17. ^ "Version 10 of Angular Now Available". 25 ביוני 2020. {{cite web}}: (עזרה)
  18. ^ "Version 11 of Angular Now Available". 4 בדצמבר 2020. {{cite web}}: (עזרה)
  19. ^ Thompson, Mark (2021-05-12). "Angular v12 is now available". Medium (באנגלית). נבדק ב-2021-05-17.
  20. ^ Thompson, Mark. "Angular v13 is now Available". Angular Blog. נבדק ב-10 בינואר 2022. {{cite web}}: (עזרה)
  21. ^ "Angular Docs". angular.io.
  22. ^ "What's the difference between AngularJS and Angular?". gorrion.io. 19 בספטמבר 2017. נבדק ב-2018-01-28. {{cite web}}: (עזרה)