Bij veel softwareprogramma's kunnen ontwikkelaars modules schrijven (ook wel plug-ins, extensies, add-ons, enz. genoemd) om de functionaliteit te vergroten. Er is geen eenduidig antwoord, omdat dit afhangt van het type software. Hier zijn enkele voorbeelden:
* Programmeertalen: De meeste programmeertalen (zoals Python, Java, JavaScript, C++, etc.) zijn ontworpen om uitbreidbaar te zijn. Bibliotheken en raamwerken zijn in wezen modules die functionaliteit toevoegen.
* Besturingssystemen: Met besturingssystemen zoals Windows, macOS en Linux kunnen gebruikers stuurprogramma's en andere software installeren die hun mogelijkheden uitbreiden.
* Webbrowsers: Browsers zoals Chrome, Firefox en Safari ondersteunen extensies die functies toevoegen zoals advertentieblokkers, wachtwoordbeheerders en meer.
* Game-engines: Game-engines zoals Unity en Unreal Engine hebben uitgebreide plug-insystemen waarmee ontwikkelaars nieuwe tools, functies en middelen kunnen toevoegen.
* Contentmanagementsystemen (CMS): CMS zoals WordPress, Drupal en Joomla maken de installatie van plug-ins en thema's mogelijk om hun functionaliteit en uiterlijk te veranderen.
* Geïntegreerde ontwikkelomgevingen (IDE's): IDE's zoals Visual Studio, IntelliJ en Eclipse hebben vaak plug-insystemen ter ondersteuning van verschillende programmeertalen, debuggers en andere tools.
* CAD-software: Computerondersteunde ontwerpsoftware (CAD) heeft vaak add-ons die de mogelijkheden uitbreiden.
De rode draad is een goed gedefinieerde API (Application Programming Interface) waarmee externe ontwikkelaars kunnen communiceren met de kernsoftware en hun eigen code kunnen toevoegen. |