Bij softwareontwikkeling, vooral in de context van gebruikersinterfaces (UI's) en op componenten gebaseerde architecturen, spelen invoer- en uitvoercomponenten een verschillende rol:
Invoercomponent:
* Doel: Een invoercomponent is verantwoordelijk voor het ontvangen van gegevens of opdrachten van de gebruiker of van een ander systeem. Het is de interface waarmee externe informatie de applicatie binnenkomt.
* Functionaliteit: Meestal gaat het om het vastleggen van gebruikersacties, zoals het typen van tekst, het klikken op knoppen, het selecteren van opties in vervolgkeuzelijsten, het uploaden van bestanden of het ontvangen van gegevensstromen van sensoren of API's.
* Voorbeelden:
* Tekstvakken
* Selectievakjes
* Keuzerondjes
* Vervolgkeuzelijsten
* Datumplukkers
* Besturingselementen voor het uploaden van bestanden
* Knoppen
* Schuifregelaars
* Sensoren (bijv. GPS, versnellingsmeter in een mobiele app)
* API-clients (gegevens ontvangen van een webservice)
Uitvoercomponent:
* Doel: Een uitvoercomponent geeft informatie weer of presenteert deze aan de gebruiker of aan een ander systeem. Het is de interface waarmee de applicatie de resultaten, status of gegevens communiceert.
* Functionaliteit: Het geeft gegevens weer in een voor mensen leesbaar of machinaal leesbaar formaat. Dit kan het weergeven van tekst, afbeeldingen, video's of grafieken inhouden, of het verzenden van gegevens naar een database, een andere toepassing of een printer.
* Voorbeelden:
* Etiketten
* Tekstgebieden (resultaten weergeven)
* Afbeeldingen
* Video's
* Grafieken/grafieken
* Voortgangsbalken
* Tafels
* Printers (fysieke output)
* API-clients (gegevens verzenden naar een webservice)
* Netwerkaansluitingen (gegevens verzenden via een netwerk)
Belangrijkste verschil samengevat:
| Kenmerk | Invoercomponent | Uitvoercomponent |
|---------------|-------------------------------------- -------|----------------------------------------------|
| Richting | Gegevensstromen *naar* de applicatie | Gegevensstromen *uit* de applicatie |
| Gebruikersinteractie | Het gaat vooral om gebruikersacties of externe gegevensinvoer | Het gaat vooral om het weergeven of verzenden van gegevens |
| Primaire rol | Gegevensverzameling | Presentatie of verzending van gegevens |
Het is belangrijk op te merken dat sommige componenten zowel als invoer als uitvoer kunnen fungeren. Een tekstgebied kan bijvoorbeeld worden gebruikt voor gebruikersinvoer (typen) en voor het weergeven van informatie. Het onderscheid ligt in het primaire doel van het onderdeel binnen een specifieke context. |