Was ist Angular und wofür wird es verwendet?
Angular ist ein Frontend-Framework von Google auf Basis von TypeScript. Es wird verwendet, um Single-Page-Applications zu entwickeln, die dynamisch Inhalte laden, ohne die Seite neu zu laden. Es bietet starke Konzepte wie Komponenten, Dependency Injection und Reaktives Datenbinding.
Angular und AngularJS?
AngularJS basiert auf JavaScript und hat eine MVC-Architektur. Das moderne Angular ab Version 2 basiert auf TypeScript, verwendet Komponenten statt Controller und ist deutlich performanter und modularer.
Was ist TypeScript und warum wird es in Angular verwendet?
TypeScript ist eine typisierte Erweiterung von JavaScript. Es bietet statische Typen, Klassen und Interfaces. Dadurch wird der Code wartbarer und Fehler werden früher erkannt.
Unterschied Komponente und einem Modul in Angular?
Eine Komponente ist die kleinste Baueinheit der UI und besteht aus HTML CSS und TypeScript. Ein Modul gruppiert mehrere Komponenten und Services zu einer funktionalen Einheit.
Was bedeutet Two-Way Data Binding in Angular?
Two-Way Data Binding bedeutet, dass Änderungen im UI automatisch das Datenmodell aktualisieren. Änderungen im Modell werden ebenfalls direkt im UI angezeigt.
Wie funktioniert Routing in Angular?
Routing wird über das RouterModule gesteuert. Es ermöglicht die Navigation zwischen verschiedenen Views ohne Seitenreload.
Services und Dependency Injection in Angular?
Services sind Klassen, die Logik oder Daten bereitstellen, die von mehreren Komponenten genutzt werden. Angular injiziert sie über Dependency Injection, wobei der Container die Instanzen verwaltet. Ein Service wird meist mit @Injectable() markiert.
Observable und Promise?
Ein Promise gibt genau ein Ergebnis zurück. Ein Observable kann mehrere Werte über Zeit liefern. In Angular sind Observables Standard für asynchrone Prozesse.
Komponenten miteinander kommunizieren?
Über Input- und Output-Dekoratoren. Alternativ über Services als Shared State oder über Router-Parameter.
Change Detection in Angular?
Change Detection prüft, ob sich Daten geändert haben, und aktualisiert die View. Der Standardmodus prüft alle Komponenten. OnPush prüft nur bei Input-Änderungen oder asynchronen Events und spart Performance.
Was ist eine Angular Komponente?
Eine Komponente steuert einen Teil der Benutzeroberfläche. Sie besteht aus Template Styles und einer TypeScript-Klasse. Komponenten kapseln Logik und Darstellung.
Was ist ein Angular Modul?
Ein Modul organisiert zusammengehörige Komponenten Services und Pipes. Es definiert Abhängigkeiten und den Anwendungskontext. Jedes Angular-Projekt hat mindestens ein Root-Modul.
Was ist ngOnInit?
ngOnInit ist ein Lifecycle-Hook. Er wird nach der Initialisierung der Komponente aufgerufen. Typisch ist das Laden von Daten.
Was sind Lifecycle Hooks in Angular?
Lifecycle Hooks erlauben das Reagieren auf verschiedene Phasen einer Komponente. Beispiele sind ngOnInit ngOnChanges oder ngOnDestroy. Sie helfen beim Ressourcenmanagement.
Was ist Dependency Injection in Angular?
Dependency Injection stellt Abhängigkeiten automatisch bereit. Komponenten müssen ihre Services nicht selbst erzeugen. Das verbessert Testbarkeit und Wartbarkeit.
Was ist ein Pipe in Angular?
Pipes transformieren Daten im Template. Beispiele sind date oder currency. Eigene Pipes können leicht erstellt werden.
Was ist Async Pipe?
Die Async Pipe abonniert Observables automatisch. Sie kümmert sich auch um das Unsubscribe. Dadurch wird Speicherlecks vorgebeugt.
Was ist Lazy Loading in Angular?
Lazy Loading lädt Module erst bei Bedarf. Das reduziert die Initial-Ladezeit. Es ist wichtig für große Anwendungen.
Was ist ChangeDetectionStrategy.OnPush?
OnPush reduziert die Anzahl der Change-Detection-Zyklen. Angular prüft nur bei neuen Referenzen oder Events. Das verbessert die Performance.
Was ist ein Resolver im Routing?
Ein Resolver lädt Daten vor dem Routenwechsel. Die Komponente erhält die Daten bereits beim Start. Das verbessert die Nutzererfahrung.
Was ist Guard in Angular?
Guards steuern den Zugriff auf Routen. Sie werden für Authentifizierung oder Rollenprüfung genutzt. Beispiele sind CanActivate oder CanLoad.
Was ist Reactive Forms?
Reactive Forms sind modellgetrieben. Sie bieten bessere Kontrolle und Testbarkeit. Validierung erfolgt im TypeScript-Code.
Was ist Template-driven Forms?
Template-driven Forms sind deklarativ im HTML definiert. Sie sind einfacher, aber weniger flexibel. Sie eignen sich für kleine Formulare.
Was ist RxJS?
RxJS ist eine Bibliothek für reaktive Programmierung. Sie basiert auf Observables und Operatoren. Angular nutzt RxJS intensiv.
Was ist ein Subscription Memory Leak?
Ein Memory Leak entsteht, wenn Subscriptions nicht beendet werden. Das kann die Performance stark beeinträchtigen. Unsubscribe oder Async Pipe helfen.
Was ist State Management in Angular?
State Management verwaltet den globalen Zustand einer Anwendung. Bekannte Lösungen sind NgRx oder Akita. Es ist wichtig bei komplexen Apps.
Was ist NgRx?
NgRx ist ein Redux-ähnliches State-Management. Es basiert auf Actions Reducers und Effects. Es erhöht Vorhersagbarkeit und Struktur.
Wie testet man Angular Komponenten?
Man nutzt TestBed und Jasmine oder Jest. Komponenten können isoliert getestet werden. Mocks ersetzen Services.
Was ist Server-Side Rendering mit Angular?
Angular Universal rendert Seiten auf dem Server. Das verbessert SEO und Ladezeiten. Danach übernimmt der Client.
Wann ist Angular ungeeignet?
Für sehr kleine Projekte kann Angular zu komplex sein. Der Lernaufwand ist höher als bei leichten Frameworks. Für große Enterprise-Apps ist es jedoch sehr geeignet.
Zuletzt geändertvor einem Monat