Artigo traducido por un sistema de tradución automática. Máis información aquí.

API, a porta do programador

Un API é todo o que necesita un programador para crear novas aplicacións, sexan videoxogos, programas de ofimática ou programas para teléfonos móbiles
Por Darío Pescador Albiach 16 de Maio de 2006

Os programadores que queren crear unha aplicación non parten de cero: utilizan ‘pezas’ xa programadas chamadas API.

Unhapersoa con suficientes coñecementos de mecánica podeconstruír o seu propio coche. Con todo, non é normal que funda o seupropio aceiro para a chapa, tornee a man as pezas para ocarburador ou os cilindros, e vulcanice o caucho para as rodas eno seu garaxe. O máis común é que compre as pezas xafabricadas.

Eninformática pasa algo parecido. Os programadores e empresasde software que queren crear unha aplicación non parten decero. Utilizan ‘pezas’ xa programadas chamadas API. Por exemplo, sealguén quere desenvolver un novo programa para Windows, debeutilizar un API chamada Win32. Se se trata de crear un videoxogopara un teléfono móbil, necesitará o API deNokia, Motorola ou o fabricante de quenda.

Funcións instantáneas

As siglasAPI significan ‘Appligation Programming Interface’, ou interface deprogramación de aplicacións. É dicir, un programa ou códigopara crear outros programas.

Porexemplo, os programas en Windows baséanse no uso de xanelas.Pero os programadores non necesitan programar o código paradebuxar unha xanela en pantalla: unha liña gris, unha bandaazul, un botón na esquina, etc. Tampouco necesitan programaro funcionamento da xanela para que se poida arrastrar a outrolugar, cambiar o seu tamaño, minimizar ou pechar. Simplementeutilizan unha función chamada ‘CreateWindowEx’ no API deWindows e a xanela xa funciona.

Nun APIhai outras moitas funcións útiles para pór nun determinadoprograma, ou sistema, iconas, ocupar e liberar a memoria RAM (moiimportante para que non haxa erros), detectar os movementos dorato ou as pulsaciones do teclado, conectarse a unha rede ouenviar datos a unha impresora.

Na maioría dos casos o API están incluídas dentro dun ‘Software Development Kit’, un conxunto de ferramentas destinadas a facilitar aos programadores a creación de aplicacións

Taménhai API específicas para videoxogos. Aquí asfuncións poden ser máis sofisticadas: para que un personaxesáeche, corra ou recolla un obxecto. Na maioría dos casoso API están incluídas dentro dun SDK, ‘SoftwareDevelopment Kit’, un conxunto de ferramentas e programas destinadosa facilitar aos programadores a creación de aplicaciónspara o programa ao que se desexa enriquecer.

Unha caixa de ferramentas

Non se debeconfundir un API cun controlador ou ‘driver’ dun dispositivo.Por exemplo, nun API pode haber unha función para cambiara orientación do papel á hora de imprimir de vertical aapaisado, pero é o controlador o que se encarga de transmitir ocódigo adecuado á impresora para que imprima nun sentidoou outro.

Tampoucodebe confundirse API con código fonte. O códigofonte describe como funciona todo o sistema operativo, algoque se pode saber de Linux (código aberto) pero non deWindows (código propietario). Un API só proporcionacontrois para que o sistema operativo faga determinadas cousas.

A chamada do API

Pero porque facilitar a tarefa ao programador? Desde o punto de vistado fabricante do sistema operativo, por exemplo Microsoft, osbeneficios son moitos. Se outras empresas fabrican programasatractivos para Windows, os usuarios comprarán máiscopias de Windows e máis fabricantes de computadores venderánas súas máquinas con Windows preinstalado.

Sony só revelou o API de PlayStation 2 a determinadas empresas de videoxogos ás que lles cobraba unha licenza

O API deWindows está dispoñible gratuitamente, o cal permite quehaxa emuladores de Windows para Linux como Wine, que permite executarprogramas de Windows no sistema operativo libre. Por suposto, enLinux, todo o código, non só o API, estáaberto.

Outrasempresas son máis reservadas. Por exemplo, Sony sórevelou o API de PlayStation 2 a determinadas empresas devideoxogos ás que lles cobraba unha licenza. A Sony non lleinteresaba que calquera puidese programar un xogo para PS2, xa quevende as consolas por baixo do custo e os seus ingresos proveñensobre todo das licenzas do API. En cambio, o API dePlayStation 3 é aberta.

‘Microsoft Open XML’, o API da discordia

Unha dasdemandas contra Microsoft nos seus múltiples xuízos é queoculta partes do API dos seus programas ás demaisempresas. Por exemplo, no campo da ofimática, Microsoft se resite a liberar o API ‘Open Xml’. Esta empresa non só fabrica o sistema operativoWindows, senón tamén programas propios, especialmente’Office’, a súa ‘suite’ (paquete de programas) de ofimática quecompite, e con moita vantaxe, con ‘suites’ gratuítas como’OpenOffice’.

Ao non liberar Microsoft o códigopor completo, algúns dos formatos con que traballa ‘OpenOffice’ (.ODT, .OTT…) non se podencompatibilizar cos de ‘Microsoft Office’ (.DOC, .XLS…).A incompatibilidade entre formatos de distintas ‘suites’ obriga a moitasadminsitraciones a traballar con ‘Office’ a pesar de que éde pago e, por tanto, encarece notablemente os proxectos de informatizacióndas institucións públicas, por exemplo.Pero como desde un principio instalouse en moitasoficinas, consideróuselle ata agora o ‘formato estándar’para evitar problemas de incopatibilidades.

A incompatibilidade entre formatos de distintas ‘suites’ obriga a moitas adminsitraciones a traballar con ‘Microsoft Office’ a pesar de que é de pago

Hai poucos días, con todo,a Organización Internacional para a Estadarización(ISO nas súas siglas en inglés) concedeu a ‘OpenDocument'(.ODF, que inclúe aos formatos de texto .ODT e .OTT entre outros) a categoría de estándar ISO 26300, unha certificación que non posúen os formatos de Microsoft. Istosupón a súa validez como formato de uso en proxectos empresariais e paraadministracións. A utilización de ‘OpenDocument’ abaratará devanditosproxectos, polo o que se supón que se xerará unha presiónmoi forte sobre Microsoft para que libere o API que dá acompatibilidade directa con ‘OpenDocument.

Aínda que é certo que ‘OpenOffice’ten unha función para transformar os formatos .ODF a formatos de ‘Microsoft Office’ eoutros, espérase que se poida producir desde Windows atransformación directa cando Microsoft libere o seu API.Microsoft chegou a acordos cos demandantes en EEUU, peroaínda se enfronta a cargos parecidos ante a ComisiónEuropea.