wat is een api

Wat is een API en wat is het nut?

Maak jij wel eens gebruik van een API? Eigenlijk is dit een flauwe vraag, want het staat vast dat jij ooit van API's gebruikmaakt. Alle websites en applicaties maken namelijk gebruik van API's, ook al weet je misschien niet wat een API is.

Niet gek dat je daarom graag meer wilt weten over API's. Gelukkig is de werking en betekenis van API's minder lastig te begrijpen dan veel mensen op het eerste gezicht denken. Laten we daarom snel eens dieper duiken in de werking en betekenis van Application Programming Interfaces (de volledige benaming van API's).

Bekijk snel

Wat is een API?

API staat voor Application Programming Interface en is een techniek waarmee ontwikkelaars twee applicaties aan elkaar kunnen koppelen. Misschien vind je het vanzelfsprekend dat applicaties met elkaar kunnen samenwerken, maar dat is het dus niet.

Iedere applicatie werkt op een andere manier. Dit komt doordat applicaties veelal door verschillende ontwikkelaars gebouwd worden. En zo gebruikt iedere ontwikkelaar een andere programmeertaal en programmeerstijl. Vergelijk dat eens met twee personen die een verschillende taal spreken. Iemand die Frans spreekt kan niet communiceren met iemand die Zweeds spreekt. Er is een tolk nodig om de Franse vraag naar het Zweeds te vertalen. Vervolgens vertaalt de tolk het Zweedse antwoord naar het Frans. Op deze manier kunnen de twee personen met elkaar communiceren.

Je kunt de tolk in dit voorbeeld vergelijken met de API. Het is een middel dat tussen twee entiteiten instaat en zorgt voor de communicatie tussen deze entiteiten. 

Onderstaande video geeft een heldere en duidelijke uitleg over wat API's zijn. Het duurt slechts drie minuten om de hele video te bekijken.

Hoe worden API's gebruikt?

API's zijn ontzettend nuttig. Zonder API's zouden veel verschillende softwaretoepassingen niet bestaan. We zouden kunnen stellen dat ons leven een stuk lastiger is zonder API's. Dagelijks maken we, zonder dat we het weten, gebruik van API's. Dat begrijp je misschien beter met onderstaande voorbeelden.

Vliegtickets kopen met een API

Wanneer je op zoek gaat naar een vliegticket, maak je waarschijnlijk gebruik van een vergelijkingswebsite zoals Skyscanner of Kiwi.com. Deze websites hebben hun eigen softwaresysteem door middel van een API gekoppeld aan de websites van ticket-aanbieders, zoals KLM, Qatar Airways, BudgetAir, Schiphol Tickets, etc. 

Op het moment dat jij een vertrek- en aankomstplaats, heenreis-datum, terugreis-datum en het aantal personen invoert, stuur de vergelijkingswebsite deze gegevens via een API naar de aanbieders van vliegtickets. Je zult vervolgens even moeten wachten tot je alle vliegtickets krijgt te zien. De website is namelijk alle gegevens aan het verzamelen. De aanbieders sturen de prijzen en tijden van de vluchten terug, en vervolgens worden deze op de website van de vergelijker weergegeven. Wanneer je een vlucht vindt die je wilt kopen, hoef je maar op een link te klikken om naar de website van de aanbieder te gaan.

Image
api nuttig

Smart home bedienen met een API

Steeds meer huizen worden 'slim' dankzij smart home producten. Denk hierbij aan bijvoorbeeld Philips Hue. Dit zijn lampen die je via een smartphone kunt bedienen. De lampen zijn, net als jouw smartphone, aan het WiFi-netwerk gekoppeld.

Vaak gaan dit soort producten nog veel verder dan bediening via WiFi alleen. Zo kun je bijvoorbeeld instellen dat de lampen automatisch aan gaan zodra de zon ondergaat. En kun je jouw ramen automatisch laten sluiten zodra het begint te regenen. Of gaan alle elektrische apparaten uit wanneer je het huis verlaat. Er wordt hier gebruik gemaakt van API's.

Philips Hue gebruikt in deze specifieke gevallen de API's van weerstations en navigatiesystemen. Zelf beschikt het niet over informatie over het weer. En waarom zouden ze deze informatie zelf verzamelen wanneer er veel verschillende betrouwbare weerstations zijn die deze informatie kunnen leveren?

Jouw Philips Hue app kan het lokale weer uit het weerstation lezen. Ontvangt de app informatie over een aankomende regenbui? Dan zullen de ramen automatisch worden gesloten.

Waarom zijn API's nuttig voor ontwikkelaars?

Bovenstaande voorbeelden vertellen je al meer over waarom API's zo nuttig zijn. Laten we nog eens samenvatten waarom API's zo nuttig zijn voor ontwikkelaars en gebruikers.

Sneller apps bouwen

Wanneer een ontwikkelaar bepaalde data of bepaalde functies binnen zijn applicatie wil gebruiken, kan hij deze natuurlijk zelf ontwikkelen. Maar, dat kost natuurlijk veel tijd en moeite. Het is zonde om hier tijd en moeite aan te besteden wanneer iemand anders deze functionaliteit al eens heeft ontwikkeld. Waarom zou je het wiel opnieuw uitvinden?

Ontwikkelaars kunnen de code van anderen gebruiken om zo specifieke functies via een andere applicatie uit te voeren. Of om data op te halen, zoals we in het voorbeeld over de Philips Hue al meer over vertelden. Zo kunnen zij sneller applicaties bouwen, omdat ze de functies niet opnieuw hoeven te bouwen.

Minder tot geen fouten

Ontwikkelaars kunnen snel en eenvoudig data die op andere servers staat gebruiken. Ze hoeven daarom geen data over te nemen naar hun eigen server of applicatie. Hierdoor is het ook onmogelijk dat iets misgaat door een menselijke fout.

Automatisering

Wanneer je applicaties middels API's kunt koppelen, kun je taken automatiseren. Zo is het bijvoorbeeld mogelijk om een crypto exchange aan je trading bot te koppelen. De trading bot kan zou automatisch trades uitvoeren op de crypto exchange naar keuze. En dat gebeurt allemaal volledig automatisch, zonder dat je hier verder iets voor hoeft te doen.

Zorgt voor interessante oplossingen

API's maken het leven van consumenten makkelijker. Denk maar eens aan het voorbeeld van vergelijkingswebsites voor vliegtickets. Dit soort websites zouden niet bestaan wanneer we geen API's zouden kennen. Daarom kunnen we stellen dat API's voor interessante nieuwe producten en oplossingen zorgen.

Benieuwd naar wat er allemaal mogelijk is met API's? Bekijk dan vooral onderstaande video!

Hoe werken API's?

Wanneer iemand software ontwikkelt, wordt er vaak rekening gehouden met API's. Daarom vind je op de website van de software meestal meer informatie over hoe je de API kunt gebruiken. In deze documentatie staat op welke manier je verbinding kunt leggen met de applicatie.

Verschillende soorten API's

Er zijn veel verschillende soorten softwareapplicaties, en daarom zijn er ook verschillende soorten API's. Iedere API werkt op een andere manier.

  • Java API's - Dit zijn programma-georiënteerde API's en richten zich op echte softwareapplicaties die je moet installeren op een apparaat.
  • Simple Object Access Protocol (SOAP) API's - De SOAP API wordt gebruikt voor communicatie tussen applicaties of systeemcomponenten. Een SOAP API verstuurt XLM-berichten over protocollen als HTTP, HTTPS, JMS, FTP en SMTP.
  • Remote Procedure Call (RPC) API's - Een RPC API kan gebruikt worden om code op een andere machine uit te voeren. Zo hoeft de ontwikkelaar deze code niet eerst naar zijn eigen machine te verplaatsen.
  • Representational State Transfer (REST) API's - We zien dat REST API's het populairst en bekendst zijn. Ze worden gebruikt door webapplicaties om snel en eenvoudig via URL's data op te halen. Denk hierbij aan de GET, POST, DELETE en PUT methodes.

API's binnen de blockchainwereld

Ook binnen de wereld van blockchain en crypto kennen we API's. En dat is maar goed ook, want zonder deze API's zouden decentrale applicaties en cryptocurrencies er heel anders uitzien. API3 is een project dat als doel heeft om decentrale API's op te zetten.

API3

API3 is een protocol dat zorgt voor de creatie van decentrale API's (dAPI's) voor web 3.0. Het heeft als doel om krachtige dApps te ontwikkelen die gebruik kunnen maken van decentrale, veilige en meetbare datafeeds. Dat is minder eenvoudig dan je misschien zou denken.

Binnen de blockchain is alles decentraal. Er is dus geen centrale partij die kan controleren of alles binnen het blockchainnetwerk wel op de juiste manier wordt uitgevoerd. Wanneer iemand data aanlevert aan applicaties, moeten applicaties ervan uit kunnen gaan dat deze data klopt. Er is dus geen centrale partij die controle over het aanleveren van deze gegevens kan uitvoeren. Dit moet allemaal decentraal gebeuren, binnen de blockchain.

In onderstaande video wordt meer uitleg gegeven over de decentrale API's die ontwikkelaars kunnen maken en gebruiken met API3.

Orakels

Voor deze decentrale API's moet gebruik worden gemaakt van orakels. Blockchains orakels, ofwel oracles, zijn technieken waarmee data uit centrale systemen wordt gecontroleerd voordat het naar de blockchain wordt verplaatst.

Zo kunnen nodes voor de controle van deze data zorgen. Stel dat een dApp de gegevens van een weerstation nodig heeft. De dApp moet zeker weten dat de data die wordt aangeleverd klopt, en niemand met opzet verkeerde data levert.

Men kan dan een oracle gebruiken waarbij nodes de data aanleveren. Andere nodes kunnen controleren of de data klopt. Wanneer een node het gevoel heeft dat er iets mis is, kan deze dit aankaarten binnen het netwerk van de blockchain. Vervolgens zullen alle nodes stemmen over het voorval. Mocht blijken dat desbetreffende node inderdaad verkeerde data heeft geleverd, zou deze uit het netwerk verwijderd kunnen worden. 

Het verschil tussen API's en blockchain bridges

Soms maken mensen de fout om een API te vergelijken met een bridge. Ze lijken veel op elkaar, maar verschillen toch van elkaar. Laten we eens kijken naar de belangrijkste verschillen en overeenkomsten tussen API's en blockchain bridges.

Een bridge is een techniek waarmee blockchains aan elkaar worden verbonden. Normaal gesproken kunnen blockchains niet met elkaar werken. Iedere blockchain is op een andere manier gebouwd waardoor ze niet interoperabel met elkaar zijn.

Ontwikkelaars hebben veel baat aan blockchains die met elkaar kunnen samenwerken. Zo kunnen ze gebruikmaken van dApps die op andere blockchains draaien en tokens tussen blockchains verplaatsen. Daarom zijn er blockchain bridges. Deze kunnen als 'brug' tussen verschillende blockchains gezien worden.

Vaak moet er voor zo'n brug op beide blockchains een protocol gebouwd worden. Wanneer iemand BTC van de Bitcoin blockchain naar de Ethereum blockchain wil sturen, houdt een protocol op de Bitcoin-blockchain de BTC vast. Vervolgens wordt een wrapped BTC-token op Ethereum uitgegeven dat dezelfde waarde heeft. Op deze manier kunnen zulke blockchains dus met elkaar samenwerken (al werkt iedere bridge natuurlijk op een andere manier).

Een API werkt geheel anders. Met een API kun je namelijk direct gebruik maken van een andere applicatie. De ontwikkelaar van de applicatie moet deze functie wel zelf toevoegen aan zijn applicatie. Alleen dan kunnen andere ontwikkelaars de API gebruiken. Op dit gebied verschilt de API dus van de blockchain bridge.

Conclusie

API's zijn ontzettend belangrijk. Zonder API's zou het softwareontwikkelaars veel meer tijd en moeite kosten om een applicatie te ontwikkelen. Ze moeten dan data van andere servers gebruiken en software-functionaliteiten zelf ontwikkelen. Dat kost niet alleen veel tijd, maar vergroot ook het risico op het maken van menselijke fouten. Daarom maken ontwikkelaars maar al te graag gebruik van API's.

Er zijn verschillende soorten API's, zoals SOAP API's, RPC API's en REST API's. Maar we zien tegenwoordig ook API's binnen de blockchain- en cryptowereld. We noemen dit ook wel dAPI's, wat staat voor decentrale API's. Een project dat zich bezig houdt met decentrale API's is API3.

Toch is het gebruik van API's binnen de blockchain minder makkelijker dan binnen centrale systemen. Er zijn geen derde centrale partijen die binnenkomende gegevens kunnen controleren. Dit wordt daarom door de nodes binnen het blockchainnetwerk gedaan. Zij worden beloond voor het leveren van correcte data en de controle van andere nodes.

Ben je op zoek naar meer informatie of heb je nog vragen over API's of andere crypto onderwerpen? Of wil je graag andere cryptoliefhebbers ontmoeten? In de gratis Discordkanalen van ons product Money Mastery van AllesOverCrypto kun je vragen stellen en kom je in gesprek met duizenden andere liefhebbers van crypto. Heb je andere crypto gerelateerde vragen? Het makkelijkste is om jouw vraag in onze FAQ op te zoeken. Wat je ook kunt doen, is dat je jouw vraag + AllesOverCrypto googelt. Laat vooral weten wat jouw gedachten over dit artikel is.

Headfoto door Yaran


Starten met crypto en geen idee waar je moet beginnen?

Kom dan naar onze gratis Online Bitcoin Training!

Bekijk hier wat je gaat leren!

Image
Online Bitcoin Training van allesovercrypto

 

 

 

Alle uitingen van AllesOverCrypto, waaronder begrepen alle producten (o.a. Crypto Signalen en de Crypto Masterclass), berichten en e-mails, zijn de professionele mening van AllesOverCrypto en kan op géén enkele wijze worden opgevat als een persoonlijke uitnodiging, een advies of enige aanbeveling om tot aankoop van één of meer cryptovaluta over te gaan en daarin te beleggen. AllesOverCrypto is geen financieel adviseur en beoogt dat uitdrukkelijk ook niet te zijn.

De uitingen van AllesOverCrypto hebben uitsluitend een educatief karakter en kunnen op geen enkele wijze als financieel, juridisch of fiscaal advies worden opgevat. AllesOverCrypto is geen financieel, juridisch- en/of fiscaal adviseur. Er komt geen adviesrelatie tot stand tussen jou en AllesOverCrypto.

De door AllesOverCrypto gepresenteerde informatie is door haar met de grootste aandacht en zorg samengesteld. AllesOverCrypto kan echter niet instaan voor de juistheid en/of volledigheid ervan. Het gebruik van deze informatie gebeurt op jouw eigen risico. Je dient ervan bewust te zijn dat de gepresenteerde informatie, mede door de snelheid waarmee de cryptomarkt zich beweegt, al snel achterhaald is dan wel kan zijn. Wees hiervan bewust bij het bestuderen van de informatie. Daarnaast wordt uitdrukkelijk verzocht de informatie zelf te verifiëren.

Eenieder die in één of meer cryptovaluta wil beleggen dient zijn/haar eigen onderzoek te doen alvorens een beslissing te nemen tot aan- of verkoop van cryptovaluta. AllesOverCrypto is op geen enkele wijze bij dit proces betrokken. Uitsluitend jijzelf bent verantwoordelijk voor jouw eigen aan-en verkoopbeslissingen. Het aankopen van cryptovaluta brengt vanwege de aard van het product en de volatiliteit van de cryptomarkt grote risico’s met zich mee. Deze risico’s zijn zo groot dat het zelfs mogelijk is je hele aankoopbedrag te verliezen. Koop dus geen cryptovaluta die je niet kunt veroorloven te verliezen.