Framework
Een framework, of softwareframework, is een platform voor het ontwikkelen van softwareapplicaties. Het biedt een basis waarop softwareontwikkelaars programma's voor een specifiek platform kunnen bouwen. Een framework kan bijvoorbeeld vooraf gedefinieerde klassen en functies bevatten die kunnen worden gebruikt om invoer te verwerken, hardwareapparaten te beheren en te communiceren met systeemsoftware. Dit stroomlijnt het ontwikkelproces, omdat programmeurs niet telkens opnieuw het wiel hoeven uit te vinden wanneer ze een nieuwe applicatie ontwikkelen.
Een framework lijkt op een application programming interface (API), hoewel een framework technisch gezien een API bevat. Zoals de naam al aangeeft, dient een framework als basis voor programmeren, terwijl een API toegang biedt tot de elementen die door het framework worden ondersteund. Een framework kan ook codelibraries, een compiler en andere programma's bevatten die tijdens het softwareontwikkelingsproces worden gebruikt.
Er bestaan verschillende soorten softwareframeworks. Populaire voorbeelden zijn ActiveX en .NET voor de ontwikkeling voor Windows, Cocoa voor Mac OS X, Cocoa Touch voor iOS en het Android Application Framework voor Android. Voor elk van deze frameworks zijn software development kits (SDK's) beschikbaar. Deze bevatten programmeerhulpmiddelen die speciaal voor het bijbehorende framework zijn ontworpen. De ontwikkelsoftware Xcode van Apple bevat bijvoorbeeld een Mac OS X SDK die is ontworpen voor het schrijven en compileren van applicaties voor het Cocoa-framework.
In veel gevallen wordt een softwareframework standaard ondersteund door een besturingssysteem. Een programma dat voor het Android Application Framework is geschreven, werkt bijvoorbeeld op een Android-apparaat zonder dat er extra bestanden hoeven te worden geïnstalleerd. Sommige applicaties hebben echter een specifiek framework nodig om te kunnen werken. Een Windows-programma kan bijvoorbeeld Microsoft .NET Framework 4.0 vereisen, dat niet op alle Windows-computers is geïnstalleerd, vooral niet op pc's waarop oudere versies van Windows draaien. In dat geval moet het installatiepakket van Microsoft .NET Framework 4 worden geïnstalleerd om het programma te kunnen uitvoeren.
NOTE: Hoewel met frameworks over het algemeen brede platforms voor softwareontwikkeling worden bedoeld, kan de term ook worden gebruikt om een specifiek framework binnen een grotere programmeeromgeving te beschrijven. Er kunnen bijvoorbeeld meerdere Java-frameworks, zoals Spring, ZK en het Java Collections Framework (JCF), worden gebruikt om Java-programma's te maken. Daarnaast heeft Apple verschillende specifieke frameworks gemaakt die toegankelijk zijn voor OS X-programma's. Deze frameworks worden opgeslagen met de bestandsextensie .FRAMEWORK en geïnstalleerd in de map /System/Library/Frameworks. Voorbeelden van OS X-frameworks zijn AddressBook.framework, CoreAudio.framework, CoreText.framework en QuickTime.framework.
Test je kennis