Dev workshop 3 - Micro Frontends
Voorbereiding
-
Lees uit het artikel Micro-Frontends op martinfowler.com (Jackson, 2019) de hoofdstukken:
- Benefits
- The Example
- Integration Approaches
-
Verzin 2 toetsvragen over het onderwerp van Micro-Frontends
- Zet je 2 vragen in de thread hierover op het MS Teams Team van je klas/de minor
- (Als deze er nog niet is, vraag je docent dan, of start deze thread zelf)
- Formuleer bij voorkeur een multiple choice vraag met 4 antwoord opties waarvan 1 goed is (en 2 anderen plausibel zin)
- Verzin een unieke vraag (e.g. hoe sneller je er een post, hoe makkelijker)
- De beste vragen kunnen daadwerkelijk in de toets komen
Figuur 1: De microfront-end architectuur volgt vaak component structuur op het scherm/ontwerp (Jackson, 2019)
Lesprogramma
- Bespreken toetsvragen
- Mentimeter
- In teams uit elkaar
- Build your own MF met create-mf-app
- Plenair samenkomen: benefits & integration approaches
Figuur: Microservices everywhere (bron: Aditya,m 2022))
In teams uit elkaar
-
5 teams. Elk team krijgt één 'integration approach' om te gebruiken en een 'benefit' toegewezen om kort uit te leggen.
- Onderzoek hoe deze integration approach in zijn werk gaat.
- Onderzoek voor- en nadelen.
- Maak of vindt een kleine demo van approach
- Vat de toegewezen 'mf benefit' samen
- Presenteer je resultaten aan de rest van de klas
- Einddiscussie: Zou je MF's gebruiken in project, of niet. Wat is het alternatief? Als MF moet; welke integration approach zou jij het eerst kiezen voor front-end in het project?
Integratie methoden:
- Server-side template composition
- Build-time integration
- iframes
- JavaScript
- Web Components
Voordelen:
- Incremental upgrades
- Simple, decoupled codebases
- Independent deployment
- Autonomous teams
- De 5e: Bonus, niet echt voordeel, maar leg de 'Two Pizza rule of Amazon uit' + hoe dit pizza plaatje aansluit bij onderwerp microfront-ends?
Create-mf-app
Ga nu in tweetallen aan de hand van het artikel van logrocket (Patel, 2024) zelf aan de slag met het maken van een MF-app.
- Maak een simpele applicatie waarin 2 micro-frontends met elkaar moeten communiceren of in ieder geval van de resultaten van een actie gebruik moeten maken. Bijvoorbeeld:
- Zoekbalk, Artikellijst
- Boodschappenmand, Productenoverzicht
- Spreek met je teamgenoot af hoe je tussen de 2 micro-frontends gaat communiceren. Denk na over opties als:
- pub-sub
- externe service
- browser internals
- store/state-manager die beiden applicaties toegang tot hebben (e.g. redux, mobx, vuex, rxjs)
Quiz
Test je kennis over micro front-ends met deze multiple choice quiz:
Leerdoelen
Check met onderstaande leerdoelen of je de behandelde stof begrepen hebt en toetsvragen kunt beantwoorden.
- Je kunt gegeven een opdracht aangeven of een microfrontend een goede keuze is.
- Je kent het concept module federation, en kent twee andere manieren om micro-frontends met elkaar te integreren
- Je weet wat een micro-frontend is wat enkele voordelen ('benefits') hiervan zijn en kent de relatie met microservices.