Article traduït per un sistema de traducció automàtica. Més informació, aquí.

API, la porta del programador

Una API és tot el que necessita un programador per crear noves aplicacions, siguin videojocs, programes d'ofimàtica o programes per a telèfons mòbils
Per Darío Pescador Albiach 16 de maig de 2006

Els programadors que volen crear una aplicació no parteixen de zero: utilitzen ‘peces’ ja programades cridades API.

Unapersona amb suficients coneixements de mecànica puguesconstruir el seu propi cotxe. No obstant això, no és normal que funda el seupropi acer per a la xapa, tornee a mà les peces per elcarburador o els cilindres, i vulcanice el cautxú per a les rodes enel seu garatge. El més comú és que compri les peces jafabricades.

Eninformàtica pansa alguna cosa semblat. Els programadors i empresesde programari que volen crear una aplicació no parteixen dezero. Utilitzen ‘peces’ ja programades cridades API. Per exemple, sialgú vol desenvolupar un nou programa per Windows, deuutilitzar un API anomenada Win32. Si es tracta de crear un videojocper a un telèfon mòbil, necessitarà l’API deNokia, Motorola o el fabricant de torn.

Funcions instantànies

Les siglesAPI signifiquen ‘Appligation Programming Interface’, o interfície deprogramació d’aplicacions. És a dir, un programa o codiper crear altres programes.

Perexemple, els programes en Windows es basen en l’ús de finestres.Però els programadors no necessiten programar el codi paradibuixar una finestra en pantalla: una línia grisa, una bandablau, un botó en la cantonada, etc. Tampoc necessiten programarel funcionament de la finestra perquè es pugui arrossegar a un altrelloc, canviar la seva grandària, minimitzar o tancar. Simplementutilitzen una funció anomenada ‘CreateWindowEx’ en l’API deWindows i la finestra ja funciona.

En una APIhi ha moltes altres funcions útils per posar en un determinatprograma, o sistema, icones, ocupar i alliberar la memòria RAM (moltimportant perquè no hi hagi errors), detectar els moviments delratolí o les pulsacions del teclat, connectar-se a una xarxa oenviar dades a una impressora.

En la majoria dels casos les API estan incloses dins d’un ‘Programari Development Joc’, un conjunt d’eines destinades a facilitar als programadors la creació d’aplicacions

Tambéhi ha API específiques per a videojocs. Aquí lesfuncions poden ser més sofisticades: perquè un personatgesurt-te, corri o reculli un objecte. En la majoria dels casosles API estan incloses dins d’un SDK, ‘ProgramariDevelopment Joc’, un conjunt d’eines i programes destinatsa facilitar als programadors la creació d’aplicacionsper al programa al que es desitja enriquir.

Una caixa d’eines

No es deuconfondre una API amb un controlador o ‘driver’ d’un dispositiu.Per exemple, en una API pugues haver-hi una funció per canviarl’orientació del paper a l’hora d’imprimir de vertical aapaisado, però és el controlador el que s’encarrega de transmetre elcodi adequat a la impressora perquè imprimeixi en un sentito un altre.

Tampocha de confondre’s API amb codi font. El codifont descriu com funciona tot el sistema operatiu, alguna cosaque es pot saber de Linux (codi obert) però no deWindows (codi propietari). Una API només proporcionacontrols perquè el sistema operatiu faci determinades coses.

La trucada de l’API

Però perquè facilitar la tasca al programador? Des del punt de vistadel fabricant del sistema operatiu, com per exemple Microsoft, elsbeneficis són molts. Si altres empreses fabriquen programesatractius per Windows, els usuaris compraran méscòpies de Windows i més fabricants d’ordinadors vendranles seves màquines amb Windows preinstalado.

Sony només va revelar l’API de PlayStation 2 a determinades empreses de videojocs a les quals els cobrava una llicència

L’API deWindows està disponible gratuïtament, la qual cosa permet quehi hagi emuladors de Windows para Linux com Wine, que permet executarprogrames de Windows en el sistema operatiu lliure. Per descomptat, enLinux, tot el codi, no només l’API, estàobert.

Unes altresempreses són més reservades. Per exemple, Sony nomésva revelar l’API de PlayStation 2 a determinades empreses devideojocs a les quals els cobrava una llicència. A Sony no liinteressava que qualsevol pogués programar un joc per a PS2, ja queven les consoles per sota del cost i els seus ingressos provenensobretot de les llicències de l’API. En canvi, l’API dePlayStation 3 és oberta.

‘Microsoft Open XML’, l’API de la discòrdia

Una de lesdemandes contra Microsoft en els seus múltiples judicis és queoculta parts de les API dels seus programes a les altresempreses. Per exemple, en el camp de l’ofimàtica, Microsoft es resite a alliberar l’API ‘Open Xml’. Aquesta empresa no només fabrica el sistema operatiuWindows, sinó també programes propis, especialment’Office’, el seu ‘suite’ (paquet de programes) d’ofimàtica quecompeteix, i amb molt avantatge, amb ‘suites’ gratuïtes com’OpenOffice’.

Al no alliberar Microsoft el codiper complet, alguns dels formats amb què treballa ‘OpenOffice’ (.ODT, .OTT…) no espoden compatibilitzar amb els de ‘Microsoft Office’ (.DOC, .XLS…).La incompatibilitat entre formats de diferents ‘suites’ obliga amoltes adminsitraciones a treballar amb ‘Office’ a pesar que ésde pagament i, per tant, encareix notablement els projectes d’informatitzacióde les institucions públiques, per exemple.Però com des d’un principi es va instal·lar en moltesoficines, se li ha considerat fins ara el ‘format estàndard’per evitar problemes d’incopatibilidades.

La incompatibilitat entre formats de diferents ‘suites’ obliga a moltes adminsitraciones a treballar amb ‘Microsoft Office’ a pesar que és de pagament

Fa pocs dies, no obstant això,l’Organització Internacional per l’Estadarización(ISO en les seves sigles en anglès) va concedir a ‘OpenDocument'(.ODF, que inclou als formats de text .ODT i .OTT entre uns altres) la categoria d’estàndard ISO 26300, una certificació que no posseeixen els formats de Microsoft. Aixòsuposa la seva validesa com a format d’ús en projectes empresarials i per aadministracions. La utilització de ‘OpenDocument’ abaratirà aquestsprojectes, per l’el que se suposa que es generarà una pressiómolt forta sobre Microsoft perquè alliberi l’API que donala compatibilitat directa amb ‘OpenDocument.

Si bé és cert que ‘OpenOffice’té una funció per transformar els formats .ODF a formats de ‘Microsoft Office’ iuns altres, s’espera que es pugui produir des de Windows latransformació directa quan Microsoft alliberi la seva API.Microsoft ha arribat a acords amb els demandants a EUA, peròencara s’enfronta a càrrecs semblats davant la ComissióEuropea.