Utveckling av applikationer har blivit märkbart mer komplext under de senaste tio åren. Antalet komponenter, och antalet typer av komponenter, som ingår i en ”medelapplikation” är fler. Det är kort sagt fler delar att hålla reda på, vilket är en grundorsak till ökad komplexitet.

Samtidigt har begreppet api, programmeringsgränssnitt, vuxit i betydelse. Från att ha varit en mekanism för att anropa rutiner på ett rent tekniskt plan ses api:er nu ofta som det lager i vilket arkitekturen för en applikation knyts ihop.

Helena Hjertén
Bra api:er kan underlätta utvecklingen, men det behövs både regler och bra testmiljöer för att kunna hantera olika versioner av olika komponenter och api:er”, säger Helena Hjertén på Crisp.

Vissa utvecklare går så långt som att säga att komplexiteten för utveckling minskar tack vare flitig användning av api:er.

– Man kan minska komplexiteten genom att använda api:er. Genom att dela upp helheten i mindre api:er kan relativt enkla tekniska lösningar tillsammans bilda en hög komplexitet som blir lättare att underhålla, säger Christian Landgren, vd på konsultföretaget Iteam.

Mehrnaz Amanat Bari som är programmerare på Paradox Interactive som gör spel är inne på samma spår:

– Det är viktigt att användarna kan spela våra spel på olika typer av operativsystem. Då är det bra att inte behöva tänka så mycket på detaljer, vilket blir möjligt om man använder api:er och ramverk, säger Mehrnaz Amanat Bari.

Helena Hjertén som är konsult på Crisp vill nyansera hela frågeställningen.

– Det är inte bara själva applikationen som är komplex, utan även miljöer för att bygga och distribuera applikationer. Det ansvaret ligger ofta hos utvecklingsteamet numera. Bra api:er kan underlätta utvecklingen, men det behövs både regler och bra testmiljöer för att kunna hantera olika versioner av olika komponenter och api:er, säger hon.

Hjertén påpekar också att det är viktigt att de som gör api:erna ansvarar för det bakomliggande systemet.

Även Patrik Löwendahl som är teknik- och innovationschef på konsultföretaget Avanade framhåller att komplexiteten för dagens applikationer är en flerbottnad fråga:

– Det som framför allt ökar komplexiteten är att det blivit svårare att få i gång tekniska miljöer och att trycket på att snabbt skapa nya funktioner ökat. Api:er kan bidra till att minska komplexitet för mobilutveckling, men för till exempel webbutveckling så är det andra saker som är större utmaningar, säger Patrik Löwendahl.

Kontentan verkar vara att alla tycker att det är bra med bra api:er, men att det råder delade meningar om hur viktiga api:er är i det stora hela.

Fakta

API står för application programming interface, programmeringsgränssnitt på svenska. Ett api erbjuder enkelt uttryckt sätt anropa funktionalitet i en mjukvarumodul.
På nittiotalet var ett api ofta kopplat till ett visst programmeringsspråk, så till den milda grad att api:et i mångas ögon blev en väsentlig del av språket. I dag är api:er oftare språkoberoende.