Workshop 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, 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
Tip: Bij de integratie‑methode met iframes: bekijk als voorbeeld ook de ingebedde CDMM‑tabel met tooltips in de cheat sheet op deze website.
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.
Bronnen
- Aditya, P. (21-11-2022) Theory of Micro Frontends LinkedIn. Geraadpleegd 27 mei 2024 op https://www.linkedin.com/pulse/theory-micro-frontends-pavan-aditya-m-s/
- Jackson, C. (19 juni 2019) Micro Frontends martinfowler.com. Geraadpleegd 27 mei 2024 op https://martinfowler.com/articles/micro-frontends.html
- Patel, H. (18-3-2024) Build a micro-frontend application with React logrocket.com. Geraadpleegd 27 mei 2024 op https://blog.logrocket.com/build-micro-frontend-application-react/