Trends in API’s

Bij het ontwikkelen van internet toepassingen zijn API’s niet meer weg te denken, beter gezegd, ze zijn onmisbaar geworden. Zonder API was twitter niet zo succesvol geworden, zonder API was het een stuk lastiger om goede campagnes op Hyves of Facebook te voeren.

Het aantal organisaties dat een API aanbiedt is de afgelopen jaren enorm toegenomen. Op de website Programmableweb.com staan op dit moment 3891 API’s geregistreerd. In dit overzicht overzicht staan een kleine 40 Nederlandse API’s (overzicht is niet volledig, aanvullingen zijn welkom!).

Wat zijn op dit moment de trends in de (wondere) wereld van de API’s? Hieronder een overzicht:

json-only

Veel API’s bieden meerdere output formaten aan, meestal XML en JSON. Ontwikkelaars zijn gek op JSON. JSON is lekker simpel, niet te veel overhead, etc. Dit is de reden waarom veel API’s tegenwoordig JSON-only zijn. Vooral veel nieuwe API’s bieden alleen nog JSON aan als output formaat. Op Programmable Web is 20% van de nieuwe API’s (in 2011) al JSON-only. Maar ook steeds meer bestaande API’s stappen over op JSON-only.

Meta API’s

Als je een applicatie of mashup ontwikkelt, waarbij je alle informatie wilt gebruiken die over een bepaalde (geografische) locatie te vinden is, moet je meerdere API’s raadplegen, bijvoorbeeld Wikipedia voor de algemene informatie, Foursquare voor de checkins en tips, Twitter voor de tweets over de locatie, etc.

Het koppelen van de verschillende informatie bronnen kan soms complex zijn. De naam van de locatie is misschien net iets anders in Wikipedia dan in Foursquare en er bestaat al helemaal geen unieke id.

Meta API’s proberen een einde te maken aan dit probleem, door een overkoepelende API aan te bieden, of door een vertaalslag aan te bieden voor de id’s van de verschillende API’s. Een goed voorbeeld hiervan is de Uberblic Doppleganger API.

Realtime/Push API’s

Om een API te raadplegen moet meestal een verzoek naar een server gestuurd worden, waarna de resultaten binnengehaald kunnen worden. In deze tijd van realtime updates is dat vaak niet meer genoeg. Daarom worden er steeds meer push of ook wel realtime API’s aangeboden. Bij een push API worden nieuwe resultaten automatisch naar een applicatie gestuurd.

Bekend voorbeeld van deze push API is de streaming API van Twitter. Hierbij kan je als ontwikkelaar aangeven welke woorden of gebruikers je wilt volgen en komen de nieuwe tweets als een continue stroom van informatie naar je toe.

Ander recent voorbeeld: gisteren lanceerde Foursquare twee realtime API’s als beta. Een ontwikkelaar kan hier notificaties ontvangen als een gebruiker ergens incheckt of als er iemand op een bepaalde locatie incheckt.

Dit zijn drie trends die, volgens mij, op dit moment belangrijk zijn, heb ik nog iets gemist?