Module 11: Angular Flashcards
Wat is Angular?
Angular is een door Google ontworpen cross-platform front-end framework waarmee webapplicaties ontwikkeld kunnen worden.
Wat zijn de voordelen van Angular ten opzichte van statische HTML in combinatie met JavaScript?
- Snelheid
- Cross platform
- Structuur
- Volledig
- Productiviteit
Wat maakt Angular snel?
De standaard Angular compiler optimaliseert code door middel van treeshaking, wat betekenet dat code die niet gebruikt wordt, niet meegenomen wordt bij het bundelen van de JavaScript code.
Angular biedt ook de mogelijkheid tot lazy-loading van modules (meer over modules later), wat inhoud dat delen van je code pas worden ingeladen zodra nodig. Dit voordeel komt goed naar voren zodra je werkt aan grote enterprise applicaties.
Angular is wat ze noemen noemen opinionated. Wat houdt dit in?
Het heeft een filosofie over hoe de applicatie gestructureerd moet worden. Omdat frontend projecten steeds groter worden, is het voordeel bij opinionated frameworks dat je de structuur zal herkennen
Wat is een Angular module?
Een module is een manier om samenhangende functionaliteit te bundelen. Ze kunnen componenten, services en andere functionaliteiten bevatten.
Wat is een Angular component?
Componenten zijn de primaire bouwblokken van je applicatie. Een component bestaat uit een Typescript class, waarmee je applicatie data en logica wordt beschreven. Ook bevat deze (of referentie naar) een template dat gebruikt wordt om het component te renderen op het scherm.
Een view zou dan ook een meer traditionele naam zijn voor een component.
Wat is een Angular service?
Services zijn classes die data en logica bevatten die niet hoort bij een specifieke view of component en daarmee over meerdere componenten te gebruiken is. Denk hierbij aan bijvoorbeeld het ophalen van data uit backend systemen.
Wat is een Angular directive?
Een directive is een herbruikbare functionaliteit bedoeld om het uiterlijk of gedrag van een DOM element aan te passen. Een voorbeeld hiervan is de *ngIf die een element verbergt of toont op basis van een boolean variabele of operatie. Een ander onwaarschijnlijk voorbeeld van een directive is een component, maar dan met een template er aan verbonden.
Uit welke declaratie onderdelen bestaat een Angular module?
- Imports
- Exports
- Declerations
- Providers
- Bootstrap
Wat is de Angular module declaratie ‘imports’?
In de import declaratie geef je aan welke modules de huidige module gebruik van maakt. Alle exports en providers van die module zijn vanaf dat moment ook beschikbaar binnen deze module.
Veel gebruikte geïmporteerde modules:
@angular/platform-browser::BrowserModule
@angular/common::CommonModule
@angular/forms::FormsModule
@angular/router::RouterModule
@angluar/common/http::HttpClientModule
Wat is de Angular module declaratie ‘exports’?
Hier geef je een lijst aan wat deze module beschikbaar stelt aan andere modules. Alle componenten van een module zijn dus ‘private’ zolang deze niet geëxporteerd worden. Alles wat je wilt exporteren moet ook geïmporteerd of gedeclareerd zijn in deze module.
Wat is de Angular module declaratie ‘declerations’?
Hier geef je met een lijst aan welke componenten, pipes ed. gedefinieerd worden binnen deze module. En dus ook welke componenten je in je templates kunt gebruiken (of pipes of directives).
Een importerende module hoeft niet nog een keer een declaration te doen voor geïmporteerde componenten. Nogmaals een declaration levert dan ook een foutmelding binnen Angular op .
Wat is de Angular module declaratie ‘providers’?
In de providers geef je met een lijst aan welke onderdelen van deze module gebruikt kunnen worden voor Dependency Injection (DI). Importerende modules hebben dan ook toegang tot deze providers.
Wat is de Angular module declaratie ‘bootstrap’?
Met bootstrap definieer je een lijst van componenten die gecreëerd moeten worden, dus een lijst met de root elementen die je wilt gebruiken (ofwel de entrypoints). In vele gevallen zul je maar 1 root element/component hebben (AppComponent).
Uit welke onderdelen bestaat een Angular component?
- Template
- View logic
- Styling
- Unittest