JavaScript-ontwikkeling: herinneringen
- Goede praktijken ECMAScript 5.
- ES7/ES6/ES2015, algemene presentatie.
- Syntactische nieuwe elementen: bereik, "template string", "arrow functions", de beloften...
- De ontwikkeling van JavaScript Object met class-syntax.
- Het pattern observeren/observeerbaar (ES7).
- RX.js library: belangrijke operator voor het manipuleren van waarneembare.
- Onmisbare tools. Babel, Tracer en Typescript.
- Typescript in detail, configuratie.
- ES6/2015 modulaire benadering.
- ES7 beheer van de asynchroniciteit: await async.
- "Loaders modules": Webpack, "import/export".
Praktisch werk
Een ES5/ES6 script migreren.
Implementatie van de omgeving met TypeScript.
Migreren van AngularJS 1.x naar Angular
- Vergelijking en "topografie" van concepten.
- Migratie voorbereiden. Structuur van een Angular-applicatie.
- De Angular-modules, "core" en belangrijkste modules.
- Principe van afhankelijkheidsinjectie.
- Classificatie van richtlijnen: component, attribuut, structuur.
- De decorateurs: definitie van de hiërarchieën.
Demonstratie
Een applicatie AngularJS 1.x migreren naar Angular.
Het hulpprogramma ng of @angular/cli
- Gebruik van het hulpprogramma in de commandoregel.
- Een projectstructuur scaffolderen: anatomie en afhankelijkheid.
- Configuratie van de taakhulpprogramma’s.
- Configuratie en belangrijkste commando’s.
- Een ontwikkelings-/productieserver starten (build).
- Compilatie Ahead of Time. Het begrip "Tree Shaking".
- Beheer van de modules: goede praktijken.
- BootStrap van de applicatie.
Praktisch werk
Een applicatieproject structureren, "scaffolderen".
Definitie van de componenten
- De Web-componenten begrijpen. (standaard, concepten, shadow DOM, scoped CSS, …).
- Levenscyclus in de applicatie.
- Angular Compiler: Change Detection.
- Syntax van de templates: interpolatie/expressie, "Binding" en filters.
- Transformatierichtlijnen: ngIf, ngFor, ngSwitch...
- Syntactische definitie, het symbool (*).
- Lokale variabelen en Template-variabelen.
- Componentenklasse. Configuratierichtlijnen: selector, provider.
- Gebruikersevenementen en gepersonaliseerde logische evenementen: EventEmitter.
Praktisch werk
Aanmaak van componenten.
Classificaties van de applicatiecomponenten
- Module, RouterModule, SharedModule.
- Component, Directive, Pipe, Service, Guard.
- Principe van de injectie van afhankelijkheden.
- Creatie van injecteerbare diensten. Classificatie van de diensten.
- Configuratie van de injector.
- De decorateurs en hun eigenschappen in detail.
- @Host, @ContentChild, @ViewChild.
- JavaScript Pure function, PurePipe.
Praktisch werk
Creatie van gepersonaliseerde componenten en richtlijnen.
Beheer van formulieren, "Routing" en HTTP-verzoek
- FormControl en FormGroup.
- TDF versus DDF: Template Driven Form en Data Driven Form
- Gepersonaliseerde validatie en foutbeheer.
- Dataverbinding via HTTP.
- Beheer en configuratie van de HTTP-uitwisselingen op applicatieniveau.
- Creatie van trajecten.
- Onderscheppen van routing- en wildcardinstellingen.
- Targeting, "router-outlet" routing events.
- Beheer van trajecten in de boom van de componenten.
- Configuratie van de "Guard’s" voor het initialiseren van de trajecten.
Praktisch werk
Implementatie van de validatiecycli van het formulier. Verbruik van een REST API.
Eenheidstesten. Beste praktijken en tools
- De testomgeving instellen.
- Voorstelling van Karma en Jasmine.
- Testen schrijven met Jasmine.
- Integratietesten schrijven met protractor.
- Code-coverage. Indexen voor code-coverage.
- BDD Behaviour Driven Development, TDD Test Driven Development.
- Testcase: pijp, component, applicatie.
- Angular "Coding guide Style".
Praktisch werk
Ontwikkeling van een applicatie op basis van eenheidstesten. Implementatie van de Test Driven Development.