Frameworks

Een framework is een set van bibliotheken, hulpmiddelen en ontwikkelingsstandaarden die worden gebruikt om de ontwikkeling van softwaretoepassingen te vergemakkelijken. Frameworks bevatten vaak basisfuncties voor veelvoorkomende taken, zoals gegevensopslag, gegevensverwerking, gebruikersinterface-ontwerp, beveiliging en netwerkcommunicatie. Ontwikkelaars kunnen deze functies gebruiken om hun toepassingen te bouwen zonder alles vanaf nul te hoeven ontwikkelen.

Het belangrijkste verschil tussen een API en een framework is dat een API een interface is voor communicatie tussen verschillende softwarecomponenten, terwijl een framework een set tools en standaarden biedt voor het ontwikkelen van softwaretoepassingen. API's kunnen worden gebruikt in combinatie met frameworks om de functionaliteit van de toepassingen uit te breiden en deze te integreren met andere softwarecomponenten. Frameworks kunnen API's bevatten, maar niet alle API's zijn onderdeel van frameworks.

Een framework levert kant-en-klare stukjes veel gebruikte functionaliteit. Een ontwikkelaar moet hierdoor niet alle benodigde functies zelf gaan programmeren. Hij integreert het framework in de eigen code en kan vervolgens makkelijk een bepaalde functie oproepen. 

In het onderstaande voorbeeld, geschreven in de programmeertaal JAVA, maakt de ontwikkelaar al gebruik van Graphics2D, functionaliteit die in JAVA is ingebouwd. Dit stuk code kan rechthoeken tekenen op het scherm. 

/**
 * This program demonstrates how to rectangles using Graphics2D object.
 * @author www.codejava.net
 *
 */
public class RectanglesDrawingExample extends JFrame {
 
    public RectanglesDrawingExample() {
        super("Rectangles Drawing Demo");
 
        getContentPane().setBackground(Color.WHITE);
        setSize(480, 200);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
    }
 
    void drawRectangles(Graphics g) {
        Graphics2D g2d = (Graphics2D) g;
 
        // code to draw rectangles goes here...
 
    }
 
    public void paint(Graphics g) {
        super.paint(g);
        drawRectangles(g);
    }
 
    public static void main(String[] args) throws Exception {
 
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new RectanglesDrawingExample().setVisible(true);
            }
        });
    }
}

In Processing (een vereenvoudigde versie van java voor kunstenaars en studenten), kan je een vierkant (of rechthoek) echter met slechts één lijn code schrijven: 

  rect(100,100,10,10);

Kortom, een API wordt gebruikt om communicatie tussen softwarecomponenten te vergemakkelijken, terwijl een framework wordt gebruikt om de ontwikkeling van softwaretoepassingen te vergemakkelijken door een set hulpmiddelen en standaarden te bieden. 

Volgende pagina