Web Analytics Made Easy - Statcounter

[HOME PAGE] [STORES] [CLASSICISTRANIERI.COM] [FOTO] [YOUTUBE CHANNEL]

API - Viquip??dia

API

De Viquip??dia

Aquest article tracta sobre el programari inform??tic. Per a altres significats, vegeu ??API (desambiguaci??)??.

Una Interf??cie de Programaci?? d'Aplicacions (Application Programming Interface, API), ??s un conjunt de declaracions que defineix el contracte d'un component inform??tic amb qui far?? ??s dels seus serveis.

Al moment de construir un sistema inform??tic o llibreria de programaci??, per donar suport a les invocacions a serveis fetes per un altre programa, cal oferir una API, tant als programes externs (que podran usar els serveis oferts), com al programador (que disposa del manual indispensable per poder treure el m??xim suc del component que ha adquirit).

Sovint, una API ??s una part del Kit de Desenvolupament d'una Aplicaci?? (SDK).

L'API en s?? mateixa ??s abstracta en tant que especifica una interf??cie i no est?? lligada als detalls de la implementaci??. Quan un programari proveeix la funcionalitat descrita per una API, llavors diem que ??s una implementaci?? de l'API.

En aquesta abstracci?? apareixen la llista de variables p??bliques, funcions i procediments (o m??todes, si parlem de programaci?? orientada a objectes), que el component inform??tic ofereix.

Les APIs s??n diferents de les interf??cies bin??ries d'aplicaci??, en qu?? les APIs estan especificades en termes de Llenguatge de programaci?? que pot ser compilat quan es construeix l'aplicaci??, en lloc de ser una descripci?? expl??cita de baix nivell de com es distribueixen les dades en mem??ria.

Alguns exemples d'APIs conegudes s??n:

  • Single Unix Specification
  • API de Windows
  • API de Java

El terme API pot ser usat segons dos significats relacionats:

  • Una interf??cie coherent, consistent en diverses classes o diversos conjunts de funcions o procediments relacionats
  • Un simple punt d'entrada, com ara un m??tode, funci?? o procediment.


Taula de continguts

[edita] Models de disseny

Hi ha diversos models de disseny per APIs. Les interf??cies que persegueixen la m??xima velocitat d' execuci?? sovint consisteixen en un conjunt de funcions, procediments, variables i estructures de dades. Tanmateix, tamb?? hi ha d'altres models - com ara l' int??rpret usat per avaluar expressions en ECMAScript/JavaScript o a la capa d'abstracci??- que allibera el programador de la necessitat de con??ixer com es relacionen els nivells m??s baixos d'abstracci?? amb les funcions de l'API. Aix?? possibilita el redisseny o millora de les funcions de l'API sense afectar el codi que n'usa els serveis.

Algunes APIs, com ara les est??ndards d'un sistema operatiu, estan implementades com llibreries de codi a part que es distribueixen juntament amb el sistema operatiu. D'altres requereixen distribu??dores de software per poder integrar la funcionalitat de l'API directament a l'aplicaci??. Aix?? afegeix una nova distinci?? als exemples dalt esmentats. L'API de Windows ve amb el sistema operatiu, perqu?? qualsevol la pugui usar. El software pels sistemes incrustats, com pugui ser una consola de videojoc, cau generalment a la categoria d'aplicaci??-integrada, en lloc de la d'aplicaci?? que ofereix serveis. Mentre un document oficial de l'API de la PlayStation pot ser interessant de llegir, ??s poc ??til sense la seva corresponent implementaci??, com a llibreria o kit de desenvolupament de l'aplicaci??

Una API sobre la que no es carreguen drets d'autor per l'acc??s i l'??s, ??s anomenada "oberta".[1] I tot i que sovint les APIs s??n prove??des amb "implementacions de refer??ncia" autoritzades (com fa el Windows de Microsoft per l'API del Win32), poden apar??ixer implementacions alternatives. Per exemple, la major part de l'API de Win32 pot ser prove??da sota un sistema UNIX usant un software anomenat Wine.

Als pa??sos amb patents de software, ??s legalment recomanable analitzar implementacions de l'API per produir-ne una de compatible. A aquesta t??cnica l'anomenem enginyeria inversa orientada a la interoperabilitat. Encara aix??, la situaci?? legal continua sent sovint amb??gua, aix?? que cal tenir cura i comptar amb assessorament legal, abans de tirar endavant aquesta t??cnica. Per exemple, mentre que les APIs no tenen un status legal clar, podrien incloure patents que no haurien de ser usades fins que, i si, qui atresora la patent d??na el seu perm??s. Als pa??sos on no s'atorguen patents de software, l'??nica protecci?? que pot ser aplicada a una API, ??s la del copyright.

[edita] Pol??tiques de llen??ament

Dues l??nies generals sobre les pol??tiques de publicaci?? d'una API.

  1. Algunes empreses protegeixen la informaci?? sobre les seves APIs del p??blic general. Per exemple, Sony va posar nom??s a disposici?? dels desenvolupadors certificats de PlayStation, l'API de PlayStation 2. Aix?? va capacitar PlayStation per controlar qui programava jocs de PlayStation 2. Aix?? aportava inherentment la capacitat d'exercir un control de qualitat, aix?? com tamb?? la possibilitat de recollir beneficis per les llic??ncies.
  2. Algunes empreses fan que les seves APIs siguin lliurement disponibles. Per exemple, Microsoft fa p??bliques la majoria de les seves APIs, de manera que el software que basat en aquestes APIs podr?? c??rrer sobre plataformes Windows.

[edita] Alguns exemples d'APIs

[edita] Vegeu tamb??

[edita] Enlla??os externs