Què és una API?

És probable que hàgiu vist el terme "API". Les actualitzacions del sistema operatiu, del navegador web i de les aplicacions sovint anuncien noves API per als desenvolupadors. Però, què és una API?

Interfície de programació d'aplicacions

El terme API és un acrònim i significa "Interfície de programació d'aplicacions".

Penseu en una API com un menú en un restaurant. El menú proporciona una llista de plats que podeu demanar, juntament amb una descripció de cada plat. Quan especifiqueu quins elements del menú voleu, la cuina del restaurant fa la feina i us proporciona alguns plats acabats. No sabeu exactament com el restaurant prepara aquest menjar i realment no ho necessiteu.

De manera similar, una API llista un munt d’operacions que els desenvolupadors poden utilitzar, juntament amb una descripció del que fan. El desenvolupador no necessàriament ha de saber com, per exemple, crea un sistema operatiu i presenta un quadre de diàleg "Desa com a". Només han de saber que està disponible per utilitzar-lo a la seva aplicació.

Aquesta no és una metàfora perfecta, ja que és possible que els desenvolupadors hagin de proporcionar les seves pròpies dades a l’API per obtenir els resultats, de manera que potser s’assembla més a un restaurant elegant on podeu proporcionar alguns dels vostres propis ingredients amb els quals treballarà la cuina.

Però és generalment precís. Les API permeten als desenvolupadors estalviar temps aprofitant la implementació d’una plataforma per fer el treball més desconcertant. Això ajuda a reduir la quantitat de codis que els desenvolupadors necessiten per crear i també ajuda a crear més coherència entre les aplicacions de la mateixa plataforma. Les API poden controlar l'accés a recursos de maquinari i programari.

Les API faciliten la vida dels desenvolupadors

Suposem que voleu desenvolupar una aplicació per a un iPhone. El sistema operatiu iOS d’Apple proporciona un gran nombre d’APIs, com ho fa qualsevol altre sistema operatiu, per facilitar-vos-ho.

Si voleu incrustar un navegador web per mostrar una o més pàgines web, per exemple, no haureu de programar el vostre propi navegador web des de zero només per a la vostra aplicació. Utilitzeu l'API WKWebView per incrustar un objecte del navegador WebKit (Safari) a la vostra aplicació.

Si voleu capturar fotos o vídeos des de la càmera de l'iPhone, no cal que escriviu la vostra pròpia interfície de càmera. Utilitzeu l'API de la càmera per incrustar la càmera integrada de l'iPhone a la vostra aplicació. Si les API no existissin per fer-ho fàcil, els desenvolupadors d’aplicacions haurien de crear el seu propi programari de càmera i interpretar les entrades del maquinari de la càmera. Però els desenvolupadors de sistemes operatius d’Apple han fet tot aquest treball dur perquè els desenvolupadors només puguin utilitzar l’API de la càmera per incrustar una càmera i després continuar amb la creació de la seva aplicació. I, quan Apple millori l'API de la càmera, totes les aplicacions que hi confien aprofitaran aquesta millora automàticament.

Això s'aplica a totes les plataformes. Per exemple, voleu crear un quadre de diàleg al Windows? Hi ha una API per a això. Voleu donar suport a l'autenticació d'empremtes digitals a Android? També hi ha una API per a això, de manera que no cal que proveu el sensor d’empremta digital de cada fabricant d’Android. Els desenvolupadors no han de reinventar la roda una vegada i una altra.

Les API controlen l’accés als recursos

Les API també s’utilitzen per controlar l’accés a dispositius de maquinari i funcions de programari que una aplicació no necessàriament té permís per utilitzar. Per això, les API solen tenir un paper important en seguretat.

RELACIONATS:Com evitar que els llocs web demanin la vostra ubicació

Per exemple, si alguna vegada heu visitat un lloc web i heu vist un missatge al navegador que indica que el lloc web us demana que vegeu la vostra ubicació precisa, aquest lloc web intenta utilitzar l'API de geolocalització al navegador web. Els navegadors web exposen API com aquesta per facilitar que els desenvolupadors web puguin accedir a la vostra ubicació; només es poden preguntar "on esteu?" i el navegador fa l’esforç d’accedir al GPS o a les xarxes Wi-Fi properes per trobar la vostra ubicació física.

Tanmateix, els navegadors també exposen aquesta informació mitjançant una API perquè és possible controlar-ne l’accés. Quan un lloc web vol accedir a la vostra ubicació física exacta, l’única manera que poden obtenir és mitjançant l’API d’ubicació. I, quan un lloc web intenta utilitzar-lo, l'usuari pot optar per permetre o denegar aquesta sol·licitud. L’única manera d’accedir a recursos de maquinari com el sensor GPS és mitjançant l’API, de manera que el navegador pot controlar l’accés al maquinari i limitar el que poden fer les aplicacions.

Aquest mateix principi s’utilitza en sistemes operatius mòbils moderns com iOS i Android, on les aplicacions mòbils tenen permisos que es poden aplicar controlant l’accés a les API. Per exemple, si un desenvolupador intenta accedir a la càmera mitjançant l'API de la càmera, podeu denegar la sol·licitud de permís i l'aplicació no té cap manera d'accedir a la càmera del dispositiu.

Els sistemes de fitxers que utilitzen permisos, tal com fan a Windows, Mac i Linux, tenen aquests permisos aplicats per l'API del sistema de fitxers. Una aplicació típica no té accés directe al disc dur físic en brut. En lloc d'això, l'aplicació ha d'accedir als fitxers mitjançant una API.

Les API s’utilitzen per a la comunicació entre serveis

Les API també s’utilitzen per altres tipus de motius. Per exemple, si alguna vegada heu vist un objecte de Google Maps incrustat en un lloc web, aquest lloc web utilitza l'API de Google Maps per incrustar aquest mapa. Google exposa API com aquesta als desenvolupadors web, que després poden utilitzar-les per desplaçar objectes complexos directament al seu lloc web. Si no existís API com aquesta, és possible que els desenvolupadors hagin de crear els seus propis mapes i proporcionar les seves pròpies dades de mapes només per posar un petit mapa interactiu en un lloc web.

I, com que és una API, Google pot controlar l’accés a Google Maps a llocs web de tercers, assegurant-se que l’utilitzen de manera coherent en lloc d’intentar incrustar un marc que mostri el lloc web de Google Maps, per exemple.

Això s'aplica a molts serveis en línia diferents. Hi ha API per sol·licitar traducció de text del Traductor de Google o per inserir comentaris o tuits de Facebook a Twitter en un lloc web.

RELACIONATS:Què és OAuth? Com funcionen els botons d'inici de sessió de Facebook, Twitter i Google

L'estàndard OAuth també defineix diverses API que us permeten iniciar la sessió en un lloc web amb un altre servei, per exemple, utilitzar els vostres comptes de Facebook, Google o Twitter per iniciar la sessió en un lloc web nou sense crear un compte d'usuari nou només per a aquest lloc. . Les API són contractes estàndard que defineixen com es comuniquen els desenvolupadors amb un servei i el tipus de sortida que aquests desenvolupadors haurien d’esperar rebre.

Si ho heu aconseguit, tindreu una millor idea del que és una API. En definitiva, no cal saber què és una API tret que sigueu desenvolupador. Però, si veieu que una plataforma o servei de programari ha afegit noves API per a diversos serveis o maquinari, hauria de ser més fàcil per als desenvolupadors aprofitar aquestes funcions.

Crèdit de la imatge: patpitchaya / Shutterstock.com.