Angular
![]() | |
מפתח | Google, Brat Tech LLC, והקהילה |
---|---|
מחזור חיים | 14 בספטמבר 2016 – הווה (8 שנים) |
גרסה אחרונה |
18.2.2 (28 באוגוסט 2024) ![]() |
מערכת הפעלה | חוצה-פלטפורמות |
נכתבה בשפות | TypeScript |
סוג רישיון | רישיון MIT |
קוד מקור |
https://github.com/angular/angular ![]() |
קטגוריה | ספריית JavaScript |
Angular.dev | |
![]() ![]() |
בפיתוח תוכנה, אנגולר (באנגלית: 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. בין התכונות החדשות: טפסים עם הגדרות טיפוסים, קומפוננטות עצמאיות.
גרסה 15
[עריכת קוד מקור | עריכה]גרסה 15 יצאה ב-16 בנובמבר 2022. בין התכונות החדשות: ממשקי API עצמאיים יציבים, המאפשרים למפתחי Angular לבנות אפליקציות ללא מודולי Ng. ניפוי באגים טוב יותר ושימוש חוזר בקוד.
גרסה 16
[עריכת קוד מקור | עריכה]גרסה 16 יצאה ב-3 במאי 2023. היא כוללת תכונות חדשות כגון הידרציה חלקית לרינדור צד השרת (SSR) של Angular Universal, תמיכה ניסיונית ב-Jest, מערכת בנייה מבוססת בנייה לשרתי פיתוח, תמיכה בפרויקטים עצמאיים (standalone) שינוי של הLife-cycle, ללא צורך לרנדר את כל הדף מחדש במקרה של שינוי נקודתי. יכולת פעולה הדדית טובה יותר עם RxJS, ועוד.
דוגמה לתוכנית 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 (באנגלית)
Angular, ברשת החברתית אקס (טוויטר)
Angular, סרטונים בערוץ היוטיוב
הערות שוליים
[עריכת קוד מקור | עריכה]- ^ What is Angular, angular.io
- ^ "Angular: Branding Guidelines for AngularJS". נבדק ב-2017-03-04.
- ^ Coman Hamilton (28 באוקטובר 2014). "A sneak peek at the radically new Angular 2.0". נבדק ב-2015-10-21.
{{cite web}}
: (עזרה) - ^ "Ng-Europe schedule".
- ^ Coman Hamilton (29 באוקטובר 2014). "Angular 2.0 announcement backfires". נבדק ב-2015-10-21.
{{cite web}}
: (עזרה) - ^ @angularjs. "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.
- ^ "Angular: Angular 2 Beta". angularjs.blogspot.it. נבדק ב-2016-07-13.
- ^ "angular/angular". GitHub. נבדק ב-2016-05-04.
- ^ "Ok... let me explain: it's going to be Angular 4.0". angularjs.blogspot.kr. נבדק ב-2016-12-14.
- ^ "Angular 4.0.0 Now Available". angularjs.blogspot.ca. נבדק ב-2017-03-23.
- ^ "Angular 4 coming in 2017, to be backwards compatible with Angular 2". react-etc.net. נבדק ב-2016-12-14.
- ^ Fluin, Stephen. "Version 5.0.0 of Angular Now Available". נבדק ב-2 בנובמבר 2017.
{{cite web}}
: (עזרה) - ^ "Angular 5 JavaScript framework delayed". 18 בספטמבר 2017.
{{cite web}}
: (עזרה) - ^ "Version 6.0.0 of Angular Now Available". נבדק ב-4 במאי 2018.
{{cite web}}
: (עזרה) - ^ Fluin, Stephen (2018-10-18). "Version 7 of Angular — CLI Prompts, Virtual Scroll, Drag and Drop and more". Angular Blog. נבדק ב-2019-06-07.
- ^ Fluin, Stephen (2019-02-08). "A plan for version 8.0 and Ivy". Angular Blog. נבדק ב-2019-06-07.
- ^ "Version 10 of Angular Now Available". 25 ביוני 2020.
{{cite web}}
: (עזרה) - ^ "Version 11 of Angular Now Available". 4 בדצמבר 2020.
{{cite web}}
: (עזרה) - ^ Thompson, Mark (2021-05-12). "Angular v12 is now available". Medium (באנגלית). נבדק ב-2021-05-17.
- ^ Thompson, Mark. "Angular v13 is now Available". Angular Blog. נבדק ב-10 בינואר 2022.
{{cite web}}
: (עזרה) - ^ "Angular Docs". angular.io.
- ^ "What's the difference between AngularJS and Angular?". gorrion.io. 19 בספטמבר 2017. נבדק ב-2018-01-28.
{{cite web}}
: (עזרה)