Atomic Design — basis, atomen, moleculen en organismen in UI

Auteur: IT Sectr Gepubliceerd: 2026-02-21 Leestijd: 11 min

We leggen uit wat Atomic Design is — een methodologie voor interfaceontwerp, voorgesteld door Brad Frost in 2013, die de metafor van atomen, moleculen en organismen leent om een hiërarchie van UI-componenten op te bouwen. In tegenstelling tot de paginagerichte benadering, waarbij de interface scherm voor scherm wordt ontworpen, verdeelt Atomic Design de UI in de kleinste herbruikbare elementen (atomen) en bouwt daar complexere structuren van. Volgens Brad Frost (2016) wordt de methodologie gebruikt in de designsystemen van 67% van de grote bedrijven, waaronder IBM, Airbnb en Google.

Belangrijkste

  • Atomic Design — methodologie die UI-componenten verdeelt in vijf niveaus: atomen, moleculen, organismen, sjablonen en pagina's.
  • Atomen — basis HTML-elementen (knop, invoerveld, label); moleculen — combinaties van atomen (invoerveld met label); organismen — complexe blokken (loginformulier).
  • Methodologie voorgesteld door Brad Frost in 2013 en beschreven in het boek "Atomic Design" (2016).
  • Atomic Design vormt de basis van moderne designsystemen: Material Design, Carbon (IBM), Lightning (Salesforce).
  • In mobiele ontwikkeling integreert Atomic Design met componentframeworks — Jetpack Compose en SwiftUI — waar aangepaste componenten op natuurlijke wijze atomen en moleculen beschrijven.

Wat is Atomic Design?

Atomic Design — methodologie voor het creëren van hiërarchische interfacesystemen, waarbij elk UI-element tot een van de vijf niveaus behoort: atomen (basiselementen), moleculen (combinaties van atomen), organismen (complexe blokken), sjablonen (paginaskelets) en pagina's (concrete schermen met gegevens). De analogie komt uit de chemie: atomen combineren tot moleculen, moleculen tot organismen, organismen tot sjablonen, sjablonen worden gevuld met inhoud en worden pagina's.

De methodologie werd in 2013 voorgesteld door webdesigner Brad Frost als antwoord op het probleem van "paginagericht denken" — wanneer elk nieuw scherm vanaf nul wordt ontworpen zonder rekening te houden met bestaande componenten. In het boek "Atomic Design" (2016) beschrijft Frost de implementatie van de methodologie in projecten van grote bedrijven: IBM, GE, Starbucks. Volgens Nielsen Norman Group (2022) verkort Atomic Design de ontwerptijd van nieuwe schermen met 30–50% door herbruik van kant-en-klare componenten.

Atomic Design — is niet zozeer een technologie, maar een filosofie van UI-organisatie. Het is niet gebonden aan een specifiek framework en is toepasbaar zowel in het web (React, Vue) als in mobiele ontwikkeling (Jetpack Compose, SwiftUI). Bij IT Sectr gebruiken we Atomic Design voor het bouwen van designsystemen voor klanten: we onderscheiden atomaire componenten in de ontwerpfase en zetten ze over naar codecomponenten in Compose/SwiftUI.

Vijf niveaus: atomen, moleculen, organismen, sjablonen, pagina's

Elk niveau van Atomic Design lost zijn eigen taak op en heeft een strikt verantwoordelijkheidsgebied. Atomen — de kleinste bouwstenen van de interface, die niet verder kunnen worden opgesplitst zonder verlies van betekenis: knop, tekstveld, pictogram, label, selectievakje. Atomen bevatten geen bedrijfslogica en zijn niet afhankelijk van context. Ze bepalen de basis visuele kenmerken: kleur, grootte, marges, typografie.

Moleculen — combinaties van twee of meer atomen die eenvoudige functionele eenheden vormen. Een invoerveld met een label en foutmelding — molecuul. Een productkaart met afbeelding, naam en prijs — molecuul. Moleculen kunnen basislogica bevatten (toon/verberg fout), maar bevatten geen bedrijfsprocessen. Moleculen zijn het eerste niveau waarop componenten herbruikbaar worden tussen verschillende schermen.

Organismen — complexe interfaceblokken, bestaande uit moleculen en atomen, die een specifieke functie van de applicatie implementeren. Het inlogformulier (e-mailveld, wachtwoordveld, verzendknop, link "wachtwoord vergeten") — organisme. De header met logo, zoekopdracht en navigatie — organisme. Organismen kunnen bedrijfslogica bevatten en API's aanroepen, maar alleen binnen hun functie.

Sjablonen — paginaskelets die de plaatsing van organismen op het scherm bepalen zonder concrete inhoud. Het sjabloon definieert het raster, kolommen, contentzones — wireframe op codeniveau. Sjablonen bevatten geen gegevens, alleen plaatsaanduidingen. Ze maken het mogelijk de paginastructuur te beoordelen voordat deze met inhoud wordt gevuld.

Pagina's — concrete schermen van de applicatie, waarbij het sjabloon is gevuld met echte gegevens. Op dit niveau wordt gecontroleerd hoe componenten eruitzien met echte inhoud (lange regels, ontbrekende gegevens, fouten). Pagina's zijn het enige niveau dat de eindgebruiker ziet. Wijzigingen op paginaniveau mogen geen invloed hebben op atomen, moleculen en organismen — als een component moet worden gewijzigd, wordt de wijziging op zijn niveau doorgevoerd en neemt de pagina deze automatisch over.

Voordelen en beperkingen van Atomic Design

Voordelen van Atomic Design komen tot uiting bij het schalen van interfaces. Een uniforme componentenbibliotheek garandeert visuele consistentie: een knop ziet er op alle schermen hetzelfde uit, omdat het dezelfde atoom is. Volgens Brad Frost (2016) verkorten bedrijven die Atomic Design hebben geïmplementeerd de ontwikkeltijd van nieuwe schermen met 30–50% door herbruik van kant-en-klare moleculen en organismen.

KenmerkAtomic DesignPaginagerichte benadering
Herbruik van componentenHoog (atomen, moleculen, organismen)Laag (elk scherm vanaf nul)
Visuele consistentieGegarandeerdHandmatige controle
Snelheid nieuw scherm makenHoog (assemblage uit kant-en-klare blokken)Laag (ontwerp + coderen vanaf nul)
ImplementatiecomplexiteitHoog (componentencatalogus nodig)Laag (bekend model)
TestbaarheidHoog (elke atoom geïsoleerd)Integratie (heel scherm tegelijk)

Beperkingen — Atomic Design beschrijft niet hoe de applicatiestatus moet worden beheerd. De methodologie beantwoordt alleen de vraag "hoe UI-componenten te organiseren", maar raakt niet aan bedrijfslogica, routing of gegevensverwerking. Een tweede beperking — de moeilijkheid om grenzen te bepalen: waar eindigt het molecuul en begint het organisme? In de praktijk zijn de grenzen vaag en verschillende teams kunnen hetzelfde component anders classificeren. Het wordt aanbevolen om regels vast te leggen in designtokens en de componentencatalogus (Storybook, Jetpack Compose Preview).

Een derde beperking — overmatige abstractie voor kleine projecten. Als de applicatie uit 5 schermen bestaat, is het creëren van een hiërarchie van atomen en moleculen overbodig werk. Atomic Design wordt voordelig wanneer het aantal schermen groter is dan 20 en componenten op verschillende pagina's worden hergebruikt.

Atomic Design versus Feature-Sliced Design

Atomic Design en Feature-Sliced Design (FSD) lossen verschillende taken op en kunnen samen worden gebruikt. Atomic Design is een methodologie voor het organiseren van UI-componenten, FSD — een methodologie voor het organiseren van bedrijfslagen en de hele applicatie. Atomic Design beantwoordt de vraag "hoe de UI in herbruikbare delen te verdelen", FSD — "hoe code rond bedrijfsfuncties te organiseren". Ze concurreren niet: men kan een FSD-structuur hebben met features- en entities-lagen, en binnen elke laag Atomic Design gebruiken voor het organiseren van UI-componenten.

CriteriumAtomic DesignFeature-Sliced Design
DomeinUI-componentenApplicatiearchitectuur
Groepeer eenheidChemische metafoor (atoom → molecuul → organisme)Bedrijfsfunctie (slice)
AfhankelijkhedenVan atomen naar pagina's (onder naar boven)Van app naar shared (boven naar onder)
GegevensverwerkingNiet beschrevenVia model + api segmenten
SchaalbaarheidHorizontaal (meer componenten)Verticaal (meer functies)

Typische combinatie: FSD definieert de modulaire structuur van de applicatie (lagen, slices), Atomic Design — de interne structuur van UI-componenten binnen elke slice. Bijvoorbeeld, de slice feature.auth bevat moleculen (LoginForm, PasswordInput) en organismen (AuthPage), samengesteld volgens de regels van Atomic Design. De shared-laag bevat atomen (Button, Input, Label), herbruikbaar in alle functies.

Atomic Design in mobiele apps: Compose en SwiftUI

Jetpack Compose en SwiftUI ondersteunen op natuurlijke wijze de Atomic Design-hiërarchie door componentcompositie. Atomen in Compose — basis @Composable-functies: AppButton, AppTextField, AppCheckbox. Elke functie ontvangt aanpassingsparameters (kleur, grootte, status) en bevat geen bedrijfslogica. Atomen worden gedefinieerd in de shared-laag en geëxporteerd als UI-kit.

Moleculen — @Composable-functies die meerdere atomen combineren: LabeledTextField (label + invoerveld + foutmelding), ProductCard (afbeelding + naam + prijs). Moleculen kunnen basistoestand bevatten (veldvalidatie), maar hebben geen toegang tot API of ViewModel. Ze worden hergebruikt in verschillende organismen.

Organismen — @Composable-functies op functieniveau: LoginForm (LabeledTextField voor e-mail + LabeledTextField voor wachtwoord + AppButton verzenden + herstelllink). Organismen werken met ViewModel via Intent-functies en kunnen bedrijfslogica bevatten. In SwiftUI wordt een vergelijkbare hiërarchie opgebouwd via @ViewBuilder en aangepaste View-structuren.

In SwiftUI is een atoom — een aangepaste View-structuur AppButton, een molecuul — een invoerveld met een label op HStack, een organisme — een inlogformulier. Zo'n structuur maakt herbruik van componenten op alle schermen mogelijk — een wijziging van een atoom (knopkleur) wordt automatisch toegepast op alle schermen. De combinatie van Atomic Design met een designsysteem garandeert interfaceconsistentie zonder handmatige controle van elk scherm.

Veelgestelde vragen

Moeten de vijf niveaus van Atomic Design strikt worden gevolgd?

Vijf niveaus zijn een aanbeveling, geen wet. Veel designsystemen (Material Design, IBM Carbon) gebruiken 3 of 4 niveaus: basiscomponenten, samengestelde componenten en sjablonen. Hoofdregel — elk component behoort tot één niveau en kan op volgende niveaus worden hergebruikt. Als u ziet dat de niveaus "molecuul" en "organisme" in uw project niet verschillen — voeg ze samen. Atomen en pagina's zijn de enige verplichte niveaus.

Hoe test je Atomic Design-componenten?

Atomen worden visueel getest (SnapShot-tests, Compose Preview) — gecontroleerd wordt of de knop met de opgegeven eigenschappen correct wordt weergegeven. Moleculen worden getest als combinatie van atomen — de status wordt gecontroleerd (fout, succes, uitgeschakeld). Organismen vereisen integratietests — de interactie met ViewModel wordt gecontroleerd (formulier verzenden, gegevens laden). Bij IT Sectr gebruiken we Compose Test voor Android en XCTest voor iOS; voor visueel testen — Paparazzi (Android) en SnapshotTesting (iOS).

Kan Atomic Design worden gebruikt zonder een designsysteem?

Het kan, maar de efficiëntie neemt af. Zonder een designsysteem en designtokens hebben atomen geen uniforme stijl — elke ontwikkelaar maakt zijn eigen atomen met willekeurige kleuren en marges, wat leidt tot visuele inconsistentie. Atomic Design en designsysteem — complementaire concepten: Atomic Design bepaalt de hiërarchie, het designsysteem — de visuele taal. Het wordt aanbevolen om ze samen te implementeren: eerst designtokens (kleuren, typografie, marges), dan atomen, vervolgens moleculen en organismen.

Hoe ga je om met de "atoomzone" (te veel atomen)?

"Atoomzone" — een situatie waarin het aantal atomen de redelijke grens overschrijdt (100+), en het vinden van de benodigde component meer tijd kost dan het schrijven ervan vanaf nul. Oplossing — colocatie van atomen per functie: atoom dat slechts door één functie wordt gebruikt, opslaan in die functie, niet in shared. In shared komen alleen globale atomen (Button, Text, Input). Volgens Brad Frost vermindert colocatie het aantal shared-atomen met 60–70% zonder verlies van herbruikbaarheid.

Is Atomic Design alleen voor UI of ook voor code?

Atomic Design is oorspronkelijk een methodologie voor interfaceontwerp (design), maar in de moderne praktijk wordt het ook gebruikt voor het organiseren van code (code). In ontwerptools (Figma, Sketch) zijn atomen bibliotheekcomponenten; in code — functies en klassen. De methodologie maakt geen onderscheid tussen design en code — de atoom is hetzelfde in zowel het ontwerp als de implementatie. Bij IT Sectr gebruiken we supernova.io voor synchronisatie van designatomen en code-atomen, wat afwijking tussen ontwerp en uiteindelijke interface elimineert.

Samenvatting

  • Atomic Design — methodologie voor hiërarchische organisatie van UI-componenten, gebruikmakend van de metafoor van atomen, moleculen, organismen, sjablonen en pagina's.
  • Atomen — basiselementen (knop, invoerveld); moleculen — hun combinaties (veld met label); organismen — complexe blokken (zoekformulier).
  • Sjablonen bepalen het skelet, pagina's — de concrete vulling met gegevens.
  • Atomic Design beheert geen status en bedrijfslogica — het is alleen verantwoordelijk voor de organisatie van de UI-laag.
  • In mobiele ontwikkeling worden atomen op natuurlijke wijze beschreven door @Composable-functies (Android) en View-structuren (iOS).
  • Atomic Design combineert goed met FSD: FSD bepaalt de architectuur, Atomic Design — de UI-organisatie binnen slices.
  • Belangrijkste voordelen — herbruik van componenten, visuele consistentie, snelheid van het maken van nieuwe schermen.

We ontwikkelen een mobiele applicatie turnkey

IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.

Bespreek het project

Lees ook