Een framework, of software raamwerk, is een platform voor het ontwikkelen van software applicaties. Het biedt een basis waarop software ontwikkelaars programma’s kunnen bouwen voor een specifiek platform. Een framework kan bijvoorbeeld vooraf gedefinieerde klassen en functies bevatten die kunnen worden gebruikt om invoer te verwerken, hardware-apparaten te beheren en te communiceren met systeemsoftware. Dit stroomlijnt het ontwikkelproces, omdat programmeurs niet telkens het wiel opnieuw hoeven uit te vinden wanneer ze een nieuwe applicatie ontwikkelen.
Een framework is vergelijkbaar met een application programming interface (API), hoewel een framework technisch gezien een API omvat. Zoals de naam al aangeeft, dient een framework als basis voor het programmeren, terwijl een API toegang biedt tot de elementen die door het framework worden ondersteund. Een framework kan ook code libraries, een compiler, en andere programma’s die worden gebruikt in het software ontwikkelingsproces omvatten.
Er bestaan verschillende soorten software frameworks. Populaire voorbeelden zijn ActiveX en .NET voor Windows-ontwikkeling, Cocoa voor Mac OS X, Cocoa Touch voor iOS, en het Android Application Framework voor Android. Software development kits (SDK’s) zijn beschikbaar voor elk van deze frameworks en bevatten programmeertools die speciaal zijn ontworpen voor het corresponderende framework. Apple’s Xcode ontwikkelsoftware 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 software framework van nature ondersteund door een besturingssysteem. Een programma dat is geschreven voor het Android Application Framework zal bijvoorbeeld op een Android-apparaat draaien zonder dat er andere extra bestanden hoeven te worden geïnstalleerd. Sommige toepassingen vereisen echter een specifiek raamwerk om te kunnen draaien. Een Windows-programma kan bijvoorbeeld Microsoft .NET Framework 4.0 vereisen, dat niet op alle Windows-machines is geïnstalleerd (vooral niet op pc’s met oudere versies van Windows). In dat geval moet het installatiepakket van Microsoft .NET Framework 4 worden geïnstalleerd om het programma te kunnen uitvoeren.
NOOT: Hoewel frameworks in het algemeen verwijzen naar brede softwareontwikkelingsplatforms, kan de term ook worden gebruikt om een specifiek framework binnen een grotere programmeeromgeving te beschrijven. Bijvoorbeeld, meerdere Java frameworks, zoals Spring, ZK, en het Java Collections Framework (JCF) kunnen worden gebruikt om Java programma’s te maken. Bovendien heeft Apple verschillende specifieke raamwerken gemaakt die door OS X programma’s kunnen worden gebruikt. Deze frameworks worden opgeslagen met een .FRAMEWORK bestandsextensie en zijn geïnstalleerd in de /System/Library/Frameworks directory. Voorbeelden van OS X frameworks zijn AddressBook.framework, CoreAudio.framework, CoreText.framework, en QuickTime.framework.
Bijgewerkt: 7 maart 2013