SlideShare a Scribd company logo
1 of 16
Que es un paradigmaQue es un paradigma
El Paradigma de programación es una forma deEl Paradigma de programación es una forma de
representar y manipular el conocimiento. Representanrepresentar y manipular el conocimiento. Representan
un enfoque particular o filosofía para la construcciónun enfoque particular o filosofía para la construcción
del software. Cada uno tiene ventajas y desventajas.del software. Cada uno tiene ventajas y desventajas.
También hay situaciones donde un paradigma resultaTambién hay situaciones donde un paradigma resulta
más apropiado que otro.más apropiado que otro.
Programación orientadaProgramación orientada
a eventosa eventos
 La programación por eventos, consiste en que, en lugar deLa programación por eventos, consiste en que, en lugar de
que el usuario espere al programa, el programa espera alque el usuario espere al programa, el programa espera al
usuario. Ahora el sistema espera la ocurrencia de eventos yusuario. Ahora el sistema espera la ocurrencia de eventos y
actúa en consecuencia. Esto quiere decir, el programa debeactúa en consecuencia. Esto quiere decir, el programa debe
saber cómo manejar los objetos disponibles y responder a lossaber cómo manejar los objetos disponibles y responder a los
estímulos que vienen del usuario.estímulos que vienen del usuario.
Un claro ejemplo de esto lo podemos ver en Word que alUn claro ejemplo de esto lo podemos ver en Word que al
arrancar el programa este se queda en esperando lasarrancar el programa este se queda en esperando las
ordenes o eventos realizados por el usuario, entre estosordenes o eventos realizados por el usuario, entre estos
están para abrir y modificar un archivo, o bien comenzar aestán para abrir y modificar un archivo, o bien comenzar a
crearlo desde el principio.crearlo desde el principio.
Métodos para la P.O.EMétodos para la P.O.E
 LosLos métodosmétodos son funciones que también son llamadasson funciones que también son llamadas
desde programa, pero a diferencia de los procedimientosdesde programa, pero a diferencia de los procedimientos
vienen ya pre-programadas con el lenguaje. Los métodosvienen ya pre-programadas con el lenguaje. Los métodos
realizan tareas típicas, previsibles y comunes para todasrealizan tareas típicas, previsibles y comunes para todas
las aplicaciones.las aplicaciones.
 En general solo pueden ser ejecutados en tiempos deEn general solo pueden ser ejecutados en tiempos de
ejecución no en tiempo de diseño.ejecución no en tiempo de diseño.
 Las aplicaciones se inician creando la pantalla principal eLas aplicaciones se inician creando la pantalla principal e
iniciando la cola de eventos.iniciando la cola de eventos.
Administración deAdministración de
concurrenciaconcurrencia
 Los eventos son procesados en orden, obteniéndolos de laLos eventos son procesados en orden, obteniéndolos de la
cola de eventos, y el proceso de cada evento implicacola de eventos, y el proceso de cada evento implica
despacharlo al componente correcto.despacharlo al componente correcto.
 No se controla el orden en que se producen los eventos, esNo se controla el orden en que se producen los eventos, es
importante que responda con prontitud.importante que responda con prontitud.
APIAPI
 Una API (Application Programming Interface o Interfase deUna API (Application Programming Interface o Interfase de
Programación de Aplicaciones) es un conjunto de funcionesProgramación de Aplicaciones) es un conjunto de funciones
que facilitan el intercambio de mensajes o datos entre dosque facilitan el intercambio de mensajes o datos entre dos
aplicaciones. Es una forma de que dos aplicaciones queaplicaciones. Es una forma de que dos aplicaciones que
trabajan al mismo tiempo.trabajan al mismo tiempo.
 En Internet, una API permite que un sitio web brindeEn Internet, una API permite que un sitio web brinde
determinado servicio a otro, a través dedeterminado servicio a otro, a través de llamadas allamadas a
funciones documentadas y publicadasfunciones documentadas y publicadas , facilitando de, facilitando de
esta manera el “mash-up” o mezcla de servicios.esta manera el “mash-up” o mezcla de servicios.
 Por ejemplo, hoy es posible que desde un blog personal sePor ejemplo, hoy es posible que desde un blog personal se
puedan publicar noticias del sitio de un famoso periódico,puedan publicar noticias del sitio de un famoso periódico,
mezcladas con fotos que ya están alojadas en un sitio demezcladas con fotos que ya están alojadas en un sitio de
fotografías, a través defotografías, a través de llamadas a la APIllamadas a la API de estos dosde estos dos
servicios.servicios.
APIAPI
 Una API detalla solamente la forma de llamar a cada funciónUna API detalla solamente la forma de llamar a cada función
y lay la
tarea que esta desempeña, sin importar cómo se lleva a cabotarea que esta desempeña, sin importar cómo se lleva a cabo
dicha tarea.dicha tarea.
Detalles técnicosDetalles técnicos
 Un API es un conjunto de reglas para escribirUn API es un conjunto de reglas para escribir
funciones ofunciones o
hacer llamados a subrutinas y acceder a otrashacer llamados a subrutinas y acceder a otras
funciones en una librería.funciones en una librería. Los programas que usan estasLos programas que usan estas
reglas o funciones en sus llamadas API pueden comunicarsereglas o funciones en sus llamadas API pueden comunicarse
con cualquiera que use dicha API.con cualquiera que use dicha API.
Detalles técnicosDetalles técnicos
Las API ofrecen distintos tipos de diálogos con el proveedor paraLas API ofrecen distintos tipos de diálogos con el proveedor para
actualizar información en el mismo, como son:actualizar información en el mismo, como son:
 Acceso a bases de datosAcceso a bases de datos
 Comunicación cliente/servidorComunicación cliente/servidor
 Comunicación peer-to-peerComunicación peer-to-peer
 Comunicación en tiempo realComunicación en tiempo real
 Event-driven (orientada a eventos)Event-driven (orientada a eventos)
 Store and forwardStore and forward
 Procesamiento de transaccionesProcesamiento de transacciones
Detalles técnicosDetalles técnicos
 Una API puede combinar recuperación de errores, traducciónUna API puede combinar recuperación de errores, traducción
de datos, seguridad, manejo de colas y nomenclatura con unade datos, seguridad, manejo de colas y nomenclatura con una
interfase fácil de asimilar, que comprende acciones yinterfase fácil de asimilar, que comprende acciones y
comandos simples pero con muchas opciones.comandos simples pero con muchas opciones.
 Para invocar una API, el programa debe llamar a una funciónPara invocar una API, el programa debe llamar a una función
tipo “send”, especificando parámetros para el nombre detipo “send”, especificando parámetros para el nombre de
destino, indicadores de datos y opciones de confirmación.destino, indicadores de datos y opciones de confirmación.
Detalles técnicosDetalles técnicos
 La API toma la información y hace que todo el trabajoLa API toma la información y hace que todo el trabajo
específico de comunicación sea transparente para laespecífico de comunicación sea transparente para la
aplicación. Hay cuatro tipos de APIs que posibilitan elaplicación. Hay cuatro tipos de APIs que posibilitan el
intercambio de datos entre diferentes aplicaciones deintercambio de datos entre diferentes aplicaciones de
software en plataformas individuales o distribuidas:software en plataformas individuales o distribuidas:
Tipos de APIsTipos de APIs
 Remote Procedure Calls (RPCs) o Llamadas a Procedimientos RemotosRemote Procedure Calls (RPCs) o Llamadas a Procedimientos Remotos
Con las RPCs, los programas pueden comunicarse a través deCon las RPCs, los programas pueden comunicarse a través de
procedimientos (o tareas) que actúan en buffers compartidos deprocedimientos (o tareas) que actúan en buffers compartidos de
información.información.
 Standard Query Language (SQL)Standard Query Language (SQL)
Un lenguaje de acceso de datos sin procedimientos que permite elUn lenguaje de acceso de datos sin procedimientos que permite el
intercambio de datos entre aplicaciones, accediendo a bases de datosintercambio de datos entre aplicaciones, accediendo a bases de datos
comunes.comunes.
 Transferencia de archivosTransferencia de archivos
Habilita el intercambio de datos enviando archivos formateados entre aplicaciones.Habilita el intercambio de datos enviando archivos formateados entre aplicaciones.
 Envío de mensajesEnvío de mensajes
Provee el intercambio de datos por comunicaciones de interprogramaciónProvee el intercambio de datos por comunicaciones de interprogramación
directa, a través de pequeños mensajes formateados entre aplicacionesdirecta, a través de pequeños mensajes formateados entre aplicaciones
emparejadas.emparejadas.
APIsAPIs
 Se pueden desarrollarse para cualquier plataforma y sistemaSe pueden desarrollarse para cualquier plataforma y sistema
operativo. También desde hace unos años se vienenoperativo. También desde hace unos años se vienen
desarrollando como forma dedesarrollando como forma de acceder a servicios webacceder a servicios web ..
En este sentido, las API más conocidas son las de:En este sentido, las API más conocidas son las de:
 UnaUna interfaz de programación de aplicacionesinterfaz de programación de aplicaciones oo APIAPI
(del(del inglésinglés application programming interface) es el conjuntoapplication programming interface) es el conjunto
dede funciones y procedimientosfunciones y procedimientos (o(o métodosmétodos, en la, en la
programación orientada a objetosprogramación orientada a objetos) que ofrece cierta) que ofrece cierta bibliotecabiblioteca
para ser utilizado por otro software como una capa depara ser utilizado por otro software como una capa de
abstracción. Usados generalmente en las bibliotecas.abstracción. Usados generalmente en las bibliotecas.
CaracterísticasCaracterísticas
 Una interfaz de programación representa una interfaz deUna interfaz de programación representa una interfaz de
comunicación entre componentes decomunicación entre componentes de softwaresoftware. Se trata del. Se trata del
conjunto de llamadas a ciertas bibliotecas que ofrecen accesoconjunto de llamadas a ciertas bibliotecas que ofrecen acceso
a ciertos servicios desde los procesos y representa una ciertos servicios desde los procesos y representa un
método para conseguirmétodo para conseguir abstracciónabstracción en laen la programaciónprogramación,,
generalmente entre los niveles o capas inferiores y losgeneralmente entre los niveles o capas inferiores y los
superiores del software. Uno de los principales propósitos desuperiores del software. Uno de los principales propósitos de
una API consiste en proporcionar un conjunto deuna API consiste en proporcionar un conjunto de funcionesfunciones dede
uso general, por ejemplo, para dibujaruso general, por ejemplo, para dibujar ventanasventanas oo iconosiconos enen
lala pantallapantalla. De esta forma, los. De esta forma, los programadoresprogramadores se beneficianse benefician
de las ventajas de la API haciendo uso de su funcionalidad,de las ventajas de la API haciendo uso de su funcionalidad,
evitándose el trabajo de programar todo desde el principio.evitándose el trabajo de programar todo desde el principio.
EjemploEjemplo
 se puede ver la tarea de escribir "se puede ver la tarea de escribir "Hola MundoHola Mundo" sobre la pantalla en diferentes niveles de" sobre la pantalla en diferentes niveles de
abstracciónabstracción::
 Haciendo todo el trabajo desde el principio:Haciendo todo el trabajo desde el principio:
– Traza, sobreTraza, sobre papelpapel milimetrado, la forma de las letras (y espacio) "H,o, l, a,M,u, n,milimetrado, la forma de las letras (y espacio) "H,o, l, a,M,u, n,
d, o".d, o".
– Crea unaCrea una matrizmatriz dede cuadradoscuadrados negros y blancos que se asemeje a la sucesión denegros y blancos que se asemeje a la sucesión de
letras.letras.
– Mediante instrucciones enMediante instrucciones en ensambladorensamblador, escribe la información de la matriz en la, escribe la información de la matriz en la
memoria intermediamemoria intermedia ("buffer") de pantalla.("buffer") de pantalla.
– Mediante la instrucción adecuada, haz que laMediante la instrucción adecuada, haz que la tarjeta gráficatarjeta gráfica realice elrealice el volcadovolcado dede
esa información sobre la pantalla.esa información sobre la pantalla.
 Por medio de unPor medio de un sistema operativosistema operativo para hacer parte del trabajo:para hacer parte del trabajo:
– Carga unaCarga una fuentefuente tipográfica proporcionada por el sistema operativo.tipográfica proporcionada por el sistema operativo.
– Haz que el sistema operativo borre la pantalla.Haz que el sistema operativo borre la pantalla.
– Haz que el sistema operativo dibuje el texto "Hola Mundo" usando la fuenteHaz que el sistema operativo dibuje el texto "Hola Mundo" usando la fuente
cargada.cargada.
 Usando unaUsando una aplicaciónaplicación (que a su vez usa el sistema operativo) para realizar la mayor(que a su vez usa el sistema operativo) para realizar la mayor
parte del trabajo:parte del trabajo:
 Escribe un documentoEscribe un documento HTMLHTML con las palabras "Hola Mundo" para que uncon las palabras "Hola Mundo" para que un
navegador Webnavegador Web comocomo MozillaMozilla,, FirefoxFirefox, Opera o Internet Explorer pueda representarlo en, Opera o Internet Explorer pueda representarlo en
el monitor.el monitor.
EjemploEjemplo
 Como se puede ver, la primera opción requiere másComo se puede ver, la primera opción requiere más
pasos, cada uno de los cuales es mucho más complicado quepasos, cada uno de los cuales es mucho más complicado que
los pasos de las opciones siguientes. Además, no resultalos pasos de las opciones siguientes. Además, no resulta
nada práctico usar el primer planteamiento para representarnada práctico usar el primer planteamiento para representar
una gran cantidad de información, como un artículouna gran cantidad de información, como un artículo
enciclopédico sobre la pantalla, mientras que el segundoenciclopédico sobre la pantalla, mientras que el segundo
enfoque simplifica la tarea eliminando un paso y haciendo elenfoque simplifica la tarea eliminando un paso y haciendo el
resto más sencillos y la tercera forma simplemente requiereresto más sencillos y la tercera forma simplemente requiere
escribir "Hola Mundo". Sin embargo, las APIs de alto nivelescribir "Hola Mundo". Sin embargo, las APIs de alto nivel
generalmente pierden flexibilidad; por ejemplo, resulta muchogeneralmente pierden flexibilidad; por ejemplo, resulta mucho
más difícil en un navegador web hacer girar texto alrededormás difícil en un navegador web hacer girar texto alrededor
de un punto con un contorno parpadeante que programarlo ade un punto con un contorno parpadeante que programarlo a
bajo nivel. Al elegir usar una API se debe llegar a un ciertobajo nivel. Al elegir usar una API se debe llegar a un cierto
equilibrio entre su potencia, simplicidad y pérdida deequilibrio entre su potencia, simplicidad y pérdida de
flexibilidad.flexibilidad.
APIAPI
 Una API ofrece al programador un cierto nivel de abstracción queUna API ofrece al programador un cierto nivel de abstracción que
enmascara la complejidad de acceso a un sistema o aplicación,enmascara la complejidad de acceso a un sistema o aplicación,
proponiéndole un conjunto de funciones de las cuales sólo seproponiéndole un conjunto de funciones de las cuales sólo se
conocen los parámetros y los valores devueltos. Asimismo, porconocen los parámetros y los valores devueltos. Asimismo, por
analogía con un automóvil, el conductor no necesita conocer laanalogía con un automóvil, el conductor no necesita conocer la
mecánica del motor para conducir el automóvil. El conductor sólomecánica del motor para conducir el automóvil. El conductor sólo
tiene acceso a la interfaz compuesta por el volante, los pedalestiene acceso a la interfaz compuesta por el volante, los pedales
(acelerador, embrague, freno), los controles (indicadores, luces(acelerador, embrague, freno), los controles (indicadores, luces
delanteras, caja de cambios), interruptores (luces de emergencia,delanteras, caja de cambios), interruptores (luces de emergencia,
luces antiniebla, bocina, etc.). En cierta forma, es similar a la interfazluces antiniebla, bocina, etc.). En cierta forma, es similar a la interfaz
presentada al usuario.presentada al usuario.
 Gracias a las API, un desarrollador no necesita preocuparse deGracias a las API, un desarrollador no necesita preocuparse de
cómo funciona una aplicación remota ni de la forma en que lascómo funciona una aplicación remota ni de la forma en que las
funciones fueron implementadas, para poder utilizarla en unfunciones fueron implementadas, para poder utilizarla en un
programa. Una API puede estar disponible para un lenguajeprograma. Una API puede estar disponible para un lenguaje
específico o para diversos lenguajes de programaciónespecífico o para diversos lenguajes de programación

More Related Content

Viewers also liked

المفاتيح العشرة للنجاح
المفاتيح العشرة للنجاحالمفاتيح العشرة للنجاح
المفاتيح العشرة للنجاحهدى الرفاعي
 
Tareekh ibne khaldoon 5
Tareekh ibne khaldoon 5Tareekh ibne khaldoon 5
Tareekh ibne khaldoon 5MyWritings
 
Presentacion planificar es pensar. Momento organizativo
Presentacion planificar es pensar. Momento organizativo Presentacion planificar es pensar. Momento organizativo
Presentacion planificar es pensar. Momento organizativo judflores
 
Fix 1 uniform 29-08-2014 mom unnar 2014
Fix 1 uniform 29-08-2014 mom unnar 2014Fix 1 uniform 29-08-2014 mom unnar 2014
Fix 1 uniform 29-08-2014 mom unnar 2014Pramono Utomo
 
Insertando una etiqueta
Insertando una etiquetaInsertando una etiqueta
Insertando una etiquetaalexromero
 
Amrica aik jaabar mulk
Amrica aik jaabar mulkAmrica aik jaabar mulk
Amrica aik jaabar mulkMyWritings
 
Bauer Security Ltd. Overview
Bauer Security Ltd. OverviewBauer Security Ltd. Overview
Bauer Security Ltd. OverviewBauer Security
 
HARD WATER WIYH STATISTICAL EXPLANATION
HARD WATER WIYH STATISTICAL EXPLANATIONHARD WATER WIYH STATISTICAL EXPLANATION
HARD WATER WIYH STATISTICAL EXPLANATIONMadhuresh Madhukar
 
O Papel do Marketing no Crescimento do Mercado de Utilizadores de Telemóvel e...
O Papel do Marketing no Crescimento do Mercado de Utilizadores de Telemóvel e...O Papel do Marketing no Crescimento do Mercado de Utilizadores de Telemóvel e...
O Papel do Marketing no Crescimento do Mercado de Utilizadores de Telemóvel e...Alexandre Teixeira Lourenço, PMP
 
Bab2 struktur atom
Bab2 struktur atomBab2 struktur atom
Bab2 struktur atomnali_tigan
 
Presentasi dasar dasar tp
Presentasi dasar dasar tpPresentasi dasar dasar tp
Presentasi dasar dasar tpmukthamira
 
Mba lean it - competências 13 08 2010
Mba   lean it - competências 13 08 2010Mba   lean it - competências 13 08 2010
Mba lean it - competências 13 08 2010zeusi9iuto
 
Doggonefunny and Surfing
Doggonefunny and Surfing Doggonefunny and Surfing
Doggonefunny and Surfing t_matthews
 
Distribusi probabilitas
Distribusi probabilitasDistribusi probabilitas
Distribusi probabilitasBoim Genchar
 
Un Bain De Lumiere
Un Bain De LumiereUn Bain De Lumiere
Un Bain De Lumierewestberti71
 

Viewers also liked (20)

المفاتيح العشرة للنجاح
المفاتيح العشرة للنجاحالمفاتيح العشرة للنجاح
المفاتيح العشرة للنجاح
 
Tareekh ibne khaldoon 5
Tareekh ibne khaldoon 5Tareekh ibne khaldoon 5
Tareekh ibne khaldoon 5
 
dua 24*7
dua 24*7dua 24*7
dua 24*7
 
Presentacion planificar es pensar. Momento organizativo
Presentacion planificar es pensar. Momento organizativo Presentacion planificar es pensar. Momento organizativo
Presentacion planificar es pensar. Momento organizativo
 
Fix 1 uniform 29-08-2014 mom unnar 2014
Fix 1 uniform 29-08-2014 mom unnar 2014Fix 1 uniform 29-08-2014 mom unnar 2014
Fix 1 uniform 29-08-2014 mom unnar 2014
 
Insertando una etiqueta
Insertando una etiquetaInsertando una etiqueta
Insertando una etiqueta
 
Regresi.Kelompok
Regresi.KelompokRegresi.Kelompok
Regresi.Kelompok
 
Amrica aik jaabar mulk
Amrica aik jaabar mulkAmrica aik jaabar mulk
Amrica aik jaabar mulk
 
Teori belajar gestalt
Teori belajar gestaltTeori belajar gestalt
Teori belajar gestalt
 
Wabah
WabahWabah
Wabah
 
Bauer Security Ltd. Overview
Bauer Security Ltd. OverviewBauer Security Ltd. Overview
Bauer Security Ltd. Overview
 
HARD WATER WIYH STATISTICAL EXPLANATION
HARD WATER WIYH STATISTICAL EXPLANATIONHARD WATER WIYH STATISTICAL EXPLANATION
HARD WATER WIYH STATISTICAL EXPLANATION
 
O Papel do Marketing no Crescimento do Mercado de Utilizadores de Telemóvel e...
O Papel do Marketing no Crescimento do Mercado de Utilizadores de Telemóvel e...O Papel do Marketing no Crescimento do Mercado de Utilizadores de Telemóvel e...
O Papel do Marketing no Crescimento do Mercado de Utilizadores de Telemóvel e...
 
Bab2 struktur atom
Bab2 struktur atomBab2 struktur atom
Bab2 struktur atom
 
Presentasi dasar dasar tp
Presentasi dasar dasar tpPresentasi dasar dasar tp
Presentasi dasar dasar tp
 
Mba lean it - competências 13 08 2010
Mba   lean it - competências 13 08 2010Mba   lean it - competências 13 08 2010
Mba lean it - competências 13 08 2010
 
Pengenalan aplikasi (1)
Pengenalan aplikasi (1)Pengenalan aplikasi (1)
Pengenalan aplikasi (1)
 
Doggonefunny and Surfing
Doggonefunny and Surfing Doggonefunny and Surfing
Doggonefunny and Surfing
 
Distribusi probabilitas
Distribusi probabilitasDistribusi probabilitas
Distribusi probabilitas
 
Un Bain De Lumiere
Un Bain De LumiereUn Bain De Lumiere
Un Bain De Lumiere
 

Similar to Qué es una API y sus tipos

franco lorentz powerpoint3
franco lorentz powerpoint3franco lorentz powerpoint3
franco lorentz powerpoint33xtremus
 
Software erp libre y propietario
Software erp libre y propietarioSoftware erp libre y propietario
Software erp libre y propietarioCharlie Stark
 
Software erp libre y propietario
Software erp libre y propietarioSoftware erp libre y propietario
Software erp libre y propietarioCharlie Stark
 
Software erp libre y propietario
Software erp libre y propietarioSoftware erp libre y propietario
Software erp libre y propietarioCharlie Stark
 
Software erp libre y propietario
Software erp libre y propietarioSoftware erp libre y propietario
Software erp libre y propietarioCharlie Stark
 
Preguntas y Respuestas 2
Preguntas y Respuestas 2Preguntas y Respuestas 2
Preguntas y Respuestas 2Fede Garcia
 
ventajas y desventajas de programas informaticos
ventajas y desventajas de programas informaticosventajas y desventajas de programas informaticos
ventajas y desventajas de programas informaticosIrving Muñoz
 
Presentacion luis silva aplicaciones java
Presentacion luis silva aplicaciones javaPresentacion luis silva aplicaciones java
Presentacion luis silva aplicaciones javaLuisFeSilva
 
Software ana monterrosas 6030
Software ana  monterrosas 6030Software ana  monterrosas 6030
Software ana monterrosas 6030Ana Monterrosas
 
Israel tecnologias para desarrollo-web
Israel tecnologias para desarrollo-webIsrael tecnologias para desarrollo-web
Israel tecnologias para desarrollo-webimei_02
 

Similar to Qué es una API y sus tipos (20)

franco lorentz powerpoint3
franco lorentz powerpoint3franco lorentz powerpoint3
franco lorentz powerpoint3
 
Software erp libre y propietario
Software erp libre y propietarioSoftware erp libre y propietario
Software erp libre y propietario
 
Software erp libre y propietario
Software erp libre y propietarioSoftware erp libre y propietario
Software erp libre y propietario
 
Software erp libre y propietario
Software erp libre y propietarioSoftware erp libre y propietario
Software erp libre y propietario
 
Software erp libre y propietario
Software erp libre y propietarioSoftware erp libre y propietario
Software erp libre y propietario
 
1er Trabajo
1er Trabajo1er Trabajo
1er Trabajo
 
Inf 1
Inf 1Inf 1
Inf 1
 
Guia 1 java
Guia 1 javaGuia 1 java
Guia 1 java
 
Power point 3 y 4
Power point 3 y 4Power point 3 y 4
Power point 3 y 4
 
Presentación programación en internet
Presentación programación en internetPresentación programación en internet
Presentación programación en internet
 
Preguntas y Respuestas 2
Preguntas y Respuestas 2Preguntas y Respuestas 2
Preguntas y Respuestas 2
 
9
99
9
 
PARADIGMAS
PARADIGMASPARADIGMAS
PARADIGMAS
 
Software - Deber N°2
Software - Deber N°2Software - Deber N°2
Software - Deber N°2
 
Software libre
Software libreSoftware libre
Software libre
 
cuestionario
cuestionariocuestionario
cuestionario
 
ventajas y desventajas de programas informaticos
ventajas y desventajas de programas informaticosventajas y desventajas de programas informaticos
ventajas y desventajas de programas informaticos
 
Presentacion luis silva aplicaciones java
Presentacion luis silva aplicaciones javaPresentacion luis silva aplicaciones java
Presentacion luis silva aplicaciones java
 
Software ana monterrosas 6030
Software ana  monterrosas 6030Software ana  monterrosas 6030
Software ana monterrosas 6030
 
Israel tecnologias para desarrollo-web
Israel tecnologias para desarrollo-webIsrael tecnologias para desarrollo-web
Israel tecnologias para desarrollo-web
 

Recently uploaded

Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4
Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4
Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4hassanbadredun
 
Teleconferencia Accionistas Q1 2024 . Primer Trimestre-
Teleconferencia Accionistas Q1 2024 . Primer Trimestre-Teleconferencia Accionistas Q1 2024 . Primer Trimestre-
Teleconferencia Accionistas Q1 2024 . Primer Trimestre-ComunicacionesIMSA
 
sistemas de produccion de la palta en el peru moises.pptx
sistemas de produccion de la palta en el peru moises.pptxsistemas de produccion de la palta en el peru moises.pptx
sistemas de produccion de la palta en el peru moises.pptxJaredmoisesCarrillo
 
Clima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdfClima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdfConstructiva
 
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docxPLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docxwilliamzaveltab
 
15. NORMATIVA DE SST - LA LEY 29783.pptx
15. NORMATIVA DE SST - LA LEY 29783.pptx15. NORMATIVA DE SST - LA LEY 29783.pptx
15. NORMATIVA DE SST - LA LEY 29783.pptxAndreaAlessandraBoli
 
Pensamiento Lógico - Matemático USB Empresas
Pensamiento Lógico - Matemático USB EmpresasPensamiento Lógico - Matemático USB Empresas
Pensamiento Lógico - Matemático USB Empresasanglunal456
 
Continex para educación, Portafolio de servicios
Continex para educación, Portafolio de serviciosContinex para educación, Portafolio de servicios
Continex para educación, Portafolio de serviciosFundación YOD YOD
 
AFILIACION CAJA NACIONAL DE SALUD WOM 1 .pdf
AFILIACION CAJA NACIONAL DE SALUD WOM 1 .pdfAFILIACION CAJA NACIONAL DE SALUD WOM 1 .pdf
AFILIACION CAJA NACIONAL DE SALUD WOM 1 .pdfOdallizLucanaJalja1
 
IDENTIDAD Y MANUAL DE MARCA PARA BRANDING
IDENTIDAD Y MANUAL DE MARCA PARA BRANDINGIDENTIDAD Y MANUAL DE MARCA PARA BRANDING
IDENTIDAD Y MANUAL DE MARCA PARA BRANDINGAndresGEscobar
 
EGLA CORP - Honduras Abril 27 , 2024.pptx
EGLA CORP - Honduras Abril 27 , 2024.pptxEGLA CORP - Honduras Abril 27 , 2024.pptx
EGLA CORP - Honduras Abril 27 , 2024.pptxDr. Edwin Hernandez
 
PPT Trabajo de Investigacion sobre Plan de Desarrollo Paraguay 2030 Adriana R...
PPT Trabajo de Investigacion sobre Plan de Desarrollo Paraguay 2030 Adriana R...PPT Trabajo de Investigacion sobre Plan de Desarrollo Paraguay 2030 Adriana R...
PPT Trabajo de Investigacion sobre Plan de Desarrollo Paraguay 2030 Adriana R...AdrianaCarmenRojasDe
 
AUDITORIAS en enfermeria hospitalaria .pptx
AUDITORIAS en enfermeria hospitalaria .pptxAUDITORIAS en enfermeria hospitalaria .pptx
AUDITORIAS en enfermeria hospitalaria .pptxMatiasGodoy33
 
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptxTEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptxFrancoSGonzales
 
Trabajo de Sifilisn…………………………………………………..
Trabajo de Sifilisn…………………………………………………..Trabajo de Sifilisn…………………………………………………..
Trabajo de Sifilisn…………………………………………………..JoseRamirez247144
 
Coca cola organigrama de proceso empresariales.pptx
Coca cola organigrama de proceso empresariales.pptxCoca cola organigrama de proceso empresariales.pptx
Coca cola organigrama de proceso empresariales.pptxJesDavidZeta
 
gua de docente para el curso de finanzas
gua de docente para el curso de finanzasgua de docente para el curso de finanzas
gua de docente para el curso de finanzassuperamigo2014
 
ISO 45001-2018.pdf norma internacional para la estandarización
ISO 45001-2018.pdf norma internacional para la estandarizaciónISO 45001-2018.pdf norma internacional para la estandarización
ISO 45001-2018.pdf norma internacional para la estandarizaciónjesuscub33
 
modelo de flujo maximo unidad 4 en modelos de optimización de recursos
modelo de flujo maximo unidad 4 en modelos de optimización de recursosmodelo de flujo maximo unidad 4 en modelos de optimización de recursos
modelo de flujo maximo unidad 4 en modelos de optimización de recursosk7v476sp7t
 
fracturas de antebhbunununrazo [II].pptx
fracturas de antebhbunununrazo  [II].pptxfracturas de antebhbunununrazo  [II].pptx
fracturas de antebhbunununrazo [II].pptxkarlagonzalez159945
 

Recently uploaded (20)

Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4
Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4
Apuntadorkeurjeh4jj4by un 4hh4j4u4jj4h4y4jh4
 
Teleconferencia Accionistas Q1 2024 . Primer Trimestre-
Teleconferencia Accionistas Q1 2024 . Primer Trimestre-Teleconferencia Accionistas Q1 2024 . Primer Trimestre-
Teleconferencia Accionistas Q1 2024 . Primer Trimestre-
 
sistemas de produccion de la palta en el peru moises.pptx
sistemas de produccion de la palta en el peru moises.pptxsistemas de produccion de la palta en el peru moises.pptx
sistemas de produccion de la palta en el peru moises.pptx
 
Clima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdfClima-laboral-estrategias-de-medicion-e-book-1.pdf
Clima-laboral-estrategias-de-medicion-e-book-1.pdf
 
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docxPLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
PLAN LECTOR JOSÉ MARÍA ARGUEDAS (1).docx
 
15. NORMATIVA DE SST - LA LEY 29783.pptx
15. NORMATIVA DE SST - LA LEY 29783.pptx15. NORMATIVA DE SST - LA LEY 29783.pptx
15. NORMATIVA DE SST - LA LEY 29783.pptx
 
Pensamiento Lógico - Matemático USB Empresas
Pensamiento Lógico - Matemático USB EmpresasPensamiento Lógico - Matemático USB Empresas
Pensamiento Lógico - Matemático USB Empresas
 
Continex para educación, Portafolio de servicios
Continex para educación, Portafolio de serviciosContinex para educación, Portafolio de servicios
Continex para educación, Portafolio de servicios
 
AFILIACION CAJA NACIONAL DE SALUD WOM 1 .pdf
AFILIACION CAJA NACIONAL DE SALUD WOM 1 .pdfAFILIACION CAJA NACIONAL DE SALUD WOM 1 .pdf
AFILIACION CAJA NACIONAL DE SALUD WOM 1 .pdf
 
IDENTIDAD Y MANUAL DE MARCA PARA BRANDING
IDENTIDAD Y MANUAL DE MARCA PARA BRANDINGIDENTIDAD Y MANUAL DE MARCA PARA BRANDING
IDENTIDAD Y MANUAL DE MARCA PARA BRANDING
 
EGLA CORP - Honduras Abril 27 , 2024.pptx
EGLA CORP - Honduras Abril 27 , 2024.pptxEGLA CORP - Honduras Abril 27 , 2024.pptx
EGLA CORP - Honduras Abril 27 , 2024.pptx
 
PPT Trabajo de Investigacion sobre Plan de Desarrollo Paraguay 2030 Adriana R...
PPT Trabajo de Investigacion sobre Plan de Desarrollo Paraguay 2030 Adriana R...PPT Trabajo de Investigacion sobre Plan de Desarrollo Paraguay 2030 Adriana R...
PPT Trabajo de Investigacion sobre Plan de Desarrollo Paraguay 2030 Adriana R...
 
AUDITORIAS en enfermeria hospitalaria .pptx
AUDITORIAS en enfermeria hospitalaria .pptxAUDITORIAS en enfermeria hospitalaria .pptx
AUDITORIAS en enfermeria hospitalaria .pptx
 
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptxTEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
TEMA 6.- MAXIMIZACION DE LA CONDUCTA DEL PRODUCTOR.pptx
 
Trabajo de Sifilisn…………………………………………………..
Trabajo de Sifilisn…………………………………………………..Trabajo de Sifilisn…………………………………………………..
Trabajo de Sifilisn…………………………………………………..
 
Coca cola organigrama de proceso empresariales.pptx
Coca cola organigrama de proceso empresariales.pptxCoca cola organigrama de proceso empresariales.pptx
Coca cola organigrama de proceso empresariales.pptx
 
gua de docente para el curso de finanzas
gua de docente para el curso de finanzasgua de docente para el curso de finanzas
gua de docente para el curso de finanzas
 
ISO 45001-2018.pdf norma internacional para la estandarización
ISO 45001-2018.pdf norma internacional para la estandarizaciónISO 45001-2018.pdf norma internacional para la estandarización
ISO 45001-2018.pdf norma internacional para la estandarización
 
modelo de flujo maximo unidad 4 en modelos de optimización de recursos
modelo de flujo maximo unidad 4 en modelos de optimización de recursosmodelo de flujo maximo unidad 4 en modelos de optimización de recursos
modelo de flujo maximo unidad 4 en modelos de optimización de recursos
 
fracturas de antebhbunununrazo [II].pptx
fracturas de antebhbunununrazo  [II].pptxfracturas de antebhbunununrazo  [II].pptx
fracturas de antebhbunununrazo [II].pptx
 

Qué es una API y sus tipos

  • 1. Que es un paradigmaQue es un paradigma El Paradigma de programación es una forma deEl Paradigma de programación es una forma de representar y manipular el conocimiento. Representanrepresentar y manipular el conocimiento. Representan un enfoque particular o filosofía para la construcciónun enfoque particular o filosofía para la construcción del software. Cada uno tiene ventajas y desventajas.del software. Cada uno tiene ventajas y desventajas. También hay situaciones donde un paradigma resultaTambién hay situaciones donde un paradigma resulta más apropiado que otro.más apropiado que otro.
  • 2. Programación orientadaProgramación orientada a eventosa eventos  La programación por eventos, consiste en que, en lugar deLa programación por eventos, consiste en que, en lugar de que el usuario espere al programa, el programa espera alque el usuario espere al programa, el programa espera al usuario. Ahora el sistema espera la ocurrencia de eventos yusuario. Ahora el sistema espera la ocurrencia de eventos y actúa en consecuencia. Esto quiere decir, el programa debeactúa en consecuencia. Esto quiere decir, el programa debe saber cómo manejar los objetos disponibles y responder a lossaber cómo manejar los objetos disponibles y responder a los estímulos que vienen del usuario.estímulos que vienen del usuario. Un claro ejemplo de esto lo podemos ver en Word que alUn claro ejemplo de esto lo podemos ver en Word que al arrancar el programa este se queda en esperando lasarrancar el programa este se queda en esperando las ordenes o eventos realizados por el usuario, entre estosordenes o eventos realizados por el usuario, entre estos están para abrir y modificar un archivo, o bien comenzar aestán para abrir y modificar un archivo, o bien comenzar a crearlo desde el principio.crearlo desde el principio.
  • 3. Métodos para la P.O.EMétodos para la P.O.E  LosLos métodosmétodos son funciones que también son llamadasson funciones que también son llamadas desde programa, pero a diferencia de los procedimientosdesde programa, pero a diferencia de los procedimientos vienen ya pre-programadas con el lenguaje. Los métodosvienen ya pre-programadas con el lenguaje. Los métodos realizan tareas típicas, previsibles y comunes para todasrealizan tareas típicas, previsibles y comunes para todas las aplicaciones.las aplicaciones.  En general solo pueden ser ejecutados en tiempos deEn general solo pueden ser ejecutados en tiempos de ejecución no en tiempo de diseño.ejecución no en tiempo de diseño.  Las aplicaciones se inician creando la pantalla principal eLas aplicaciones se inician creando la pantalla principal e iniciando la cola de eventos.iniciando la cola de eventos.
  • 4. Administración deAdministración de concurrenciaconcurrencia  Los eventos son procesados en orden, obteniéndolos de laLos eventos son procesados en orden, obteniéndolos de la cola de eventos, y el proceso de cada evento implicacola de eventos, y el proceso de cada evento implica despacharlo al componente correcto.despacharlo al componente correcto.  No se controla el orden en que se producen los eventos, esNo se controla el orden en que se producen los eventos, es importante que responda con prontitud.importante que responda con prontitud.
  • 5. APIAPI  Una API (Application Programming Interface o Interfase deUna API (Application Programming Interface o Interfase de Programación de Aplicaciones) es un conjunto de funcionesProgramación de Aplicaciones) es un conjunto de funciones que facilitan el intercambio de mensajes o datos entre dosque facilitan el intercambio de mensajes o datos entre dos aplicaciones. Es una forma de que dos aplicaciones queaplicaciones. Es una forma de que dos aplicaciones que trabajan al mismo tiempo.trabajan al mismo tiempo.  En Internet, una API permite que un sitio web brindeEn Internet, una API permite que un sitio web brinde determinado servicio a otro, a través dedeterminado servicio a otro, a través de llamadas allamadas a funciones documentadas y publicadasfunciones documentadas y publicadas , facilitando de, facilitando de esta manera el “mash-up” o mezcla de servicios.esta manera el “mash-up” o mezcla de servicios.  Por ejemplo, hoy es posible que desde un blog personal sePor ejemplo, hoy es posible que desde un blog personal se puedan publicar noticias del sitio de un famoso periódico,puedan publicar noticias del sitio de un famoso periódico, mezcladas con fotos que ya están alojadas en un sitio demezcladas con fotos que ya están alojadas en un sitio de fotografías, a través defotografías, a través de llamadas a la APIllamadas a la API de estos dosde estos dos servicios.servicios.
  • 6. APIAPI  Una API detalla solamente la forma de llamar a cada funciónUna API detalla solamente la forma de llamar a cada función y lay la tarea que esta desempeña, sin importar cómo se lleva a cabotarea que esta desempeña, sin importar cómo se lleva a cabo dicha tarea.dicha tarea.
  • 7. Detalles técnicosDetalles técnicos  Un API es un conjunto de reglas para escribirUn API es un conjunto de reglas para escribir funciones ofunciones o hacer llamados a subrutinas y acceder a otrashacer llamados a subrutinas y acceder a otras funciones en una librería.funciones en una librería. Los programas que usan estasLos programas que usan estas reglas o funciones en sus llamadas API pueden comunicarsereglas o funciones en sus llamadas API pueden comunicarse con cualquiera que use dicha API.con cualquiera que use dicha API.
  • 8. Detalles técnicosDetalles técnicos Las API ofrecen distintos tipos de diálogos con el proveedor paraLas API ofrecen distintos tipos de diálogos con el proveedor para actualizar información en el mismo, como son:actualizar información en el mismo, como son:  Acceso a bases de datosAcceso a bases de datos  Comunicación cliente/servidorComunicación cliente/servidor  Comunicación peer-to-peerComunicación peer-to-peer  Comunicación en tiempo realComunicación en tiempo real  Event-driven (orientada a eventos)Event-driven (orientada a eventos)  Store and forwardStore and forward  Procesamiento de transaccionesProcesamiento de transacciones
  • 9. Detalles técnicosDetalles técnicos  Una API puede combinar recuperación de errores, traducciónUna API puede combinar recuperación de errores, traducción de datos, seguridad, manejo de colas y nomenclatura con unade datos, seguridad, manejo de colas y nomenclatura con una interfase fácil de asimilar, que comprende acciones yinterfase fácil de asimilar, que comprende acciones y comandos simples pero con muchas opciones.comandos simples pero con muchas opciones.  Para invocar una API, el programa debe llamar a una funciónPara invocar una API, el programa debe llamar a una función tipo “send”, especificando parámetros para el nombre detipo “send”, especificando parámetros para el nombre de destino, indicadores de datos y opciones de confirmación.destino, indicadores de datos y opciones de confirmación.
  • 10. Detalles técnicosDetalles técnicos  La API toma la información y hace que todo el trabajoLa API toma la información y hace que todo el trabajo específico de comunicación sea transparente para laespecífico de comunicación sea transparente para la aplicación. Hay cuatro tipos de APIs que posibilitan elaplicación. Hay cuatro tipos de APIs que posibilitan el intercambio de datos entre diferentes aplicaciones deintercambio de datos entre diferentes aplicaciones de software en plataformas individuales o distribuidas:software en plataformas individuales o distribuidas:
  • 11. Tipos de APIsTipos de APIs  Remote Procedure Calls (RPCs) o Llamadas a Procedimientos RemotosRemote Procedure Calls (RPCs) o Llamadas a Procedimientos Remotos Con las RPCs, los programas pueden comunicarse a través deCon las RPCs, los programas pueden comunicarse a través de procedimientos (o tareas) que actúan en buffers compartidos deprocedimientos (o tareas) que actúan en buffers compartidos de información.información.  Standard Query Language (SQL)Standard Query Language (SQL) Un lenguaje de acceso de datos sin procedimientos que permite elUn lenguaje de acceso de datos sin procedimientos que permite el intercambio de datos entre aplicaciones, accediendo a bases de datosintercambio de datos entre aplicaciones, accediendo a bases de datos comunes.comunes.  Transferencia de archivosTransferencia de archivos Habilita el intercambio de datos enviando archivos formateados entre aplicaciones.Habilita el intercambio de datos enviando archivos formateados entre aplicaciones.  Envío de mensajesEnvío de mensajes Provee el intercambio de datos por comunicaciones de interprogramaciónProvee el intercambio de datos por comunicaciones de interprogramación directa, a través de pequeños mensajes formateados entre aplicacionesdirecta, a través de pequeños mensajes formateados entre aplicaciones emparejadas.emparejadas.
  • 12. APIsAPIs  Se pueden desarrollarse para cualquier plataforma y sistemaSe pueden desarrollarse para cualquier plataforma y sistema operativo. También desde hace unos años se vienenoperativo. También desde hace unos años se vienen desarrollando como forma dedesarrollando como forma de acceder a servicios webacceder a servicios web .. En este sentido, las API más conocidas son las de:En este sentido, las API más conocidas son las de:  UnaUna interfaz de programación de aplicacionesinterfaz de programación de aplicaciones oo APIAPI (del(del inglésinglés application programming interface) es el conjuntoapplication programming interface) es el conjunto dede funciones y procedimientosfunciones y procedimientos (o(o métodosmétodos, en la, en la programación orientada a objetosprogramación orientada a objetos) que ofrece cierta) que ofrece cierta bibliotecabiblioteca para ser utilizado por otro software como una capa depara ser utilizado por otro software como una capa de abstracción. Usados generalmente en las bibliotecas.abstracción. Usados generalmente en las bibliotecas.
  • 13. CaracterísticasCaracterísticas  Una interfaz de programación representa una interfaz deUna interfaz de programación representa una interfaz de comunicación entre componentes decomunicación entre componentes de softwaresoftware. Se trata del. Se trata del conjunto de llamadas a ciertas bibliotecas que ofrecen accesoconjunto de llamadas a ciertas bibliotecas que ofrecen acceso a ciertos servicios desde los procesos y representa una ciertos servicios desde los procesos y representa un método para conseguirmétodo para conseguir abstracciónabstracción en laen la programaciónprogramación,, generalmente entre los niveles o capas inferiores y losgeneralmente entre los niveles o capas inferiores y los superiores del software. Uno de los principales propósitos desuperiores del software. Uno de los principales propósitos de una API consiste en proporcionar un conjunto deuna API consiste en proporcionar un conjunto de funcionesfunciones dede uso general, por ejemplo, para dibujaruso general, por ejemplo, para dibujar ventanasventanas oo iconosiconos enen lala pantallapantalla. De esta forma, los. De esta forma, los programadoresprogramadores se beneficianse benefician de las ventajas de la API haciendo uso de su funcionalidad,de las ventajas de la API haciendo uso de su funcionalidad, evitándose el trabajo de programar todo desde el principio.evitándose el trabajo de programar todo desde el principio.
  • 14. EjemploEjemplo  se puede ver la tarea de escribir "se puede ver la tarea de escribir "Hola MundoHola Mundo" sobre la pantalla en diferentes niveles de" sobre la pantalla en diferentes niveles de abstracciónabstracción::  Haciendo todo el trabajo desde el principio:Haciendo todo el trabajo desde el principio: – Traza, sobreTraza, sobre papelpapel milimetrado, la forma de las letras (y espacio) "H,o, l, a,M,u, n,milimetrado, la forma de las letras (y espacio) "H,o, l, a,M,u, n, d, o".d, o". – Crea unaCrea una matrizmatriz dede cuadradoscuadrados negros y blancos que se asemeje a la sucesión denegros y blancos que se asemeje a la sucesión de letras.letras. – Mediante instrucciones enMediante instrucciones en ensambladorensamblador, escribe la información de la matriz en la, escribe la información de la matriz en la memoria intermediamemoria intermedia ("buffer") de pantalla.("buffer") de pantalla. – Mediante la instrucción adecuada, haz que laMediante la instrucción adecuada, haz que la tarjeta gráficatarjeta gráfica realice elrealice el volcadovolcado dede esa información sobre la pantalla.esa información sobre la pantalla.  Por medio de unPor medio de un sistema operativosistema operativo para hacer parte del trabajo:para hacer parte del trabajo: – Carga unaCarga una fuentefuente tipográfica proporcionada por el sistema operativo.tipográfica proporcionada por el sistema operativo. – Haz que el sistema operativo borre la pantalla.Haz que el sistema operativo borre la pantalla. – Haz que el sistema operativo dibuje el texto "Hola Mundo" usando la fuenteHaz que el sistema operativo dibuje el texto "Hola Mundo" usando la fuente cargada.cargada.  Usando unaUsando una aplicaciónaplicación (que a su vez usa el sistema operativo) para realizar la mayor(que a su vez usa el sistema operativo) para realizar la mayor parte del trabajo:parte del trabajo:  Escribe un documentoEscribe un documento HTMLHTML con las palabras "Hola Mundo" para que uncon las palabras "Hola Mundo" para que un navegador Webnavegador Web comocomo MozillaMozilla,, FirefoxFirefox, Opera o Internet Explorer pueda representarlo en, Opera o Internet Explorer pueda representarlo en el monitor.el monitor.
  • 15. EjemploEjemplo  Como se puede ver, la primera opción requiere másComo se puede ver, la primera opción requiere más pasos, cada uno de los cuales es mucho más complicado quepasos, cada uno de los cuales es mucho más complicado que los pasos de las opciones siguientes. Además, no resultalos pasos de las opciones siguientes. Además, no resulta nada práctico usar el primer planteamiento para representarnada práctico usar el primer planteamiento para representar una gran cantidad de información, como un artículouna gran cantidad de información, como un artículo enciclopédico sobre la pantalla, mientras que el segundoenciclopédico sobre la pantalla, mientras que el segundo enfoque simplifica la tarea eliminando un paso y haciendo elenfoque simplifica la tarea eliminando un paso y haciendo el resto más sencillos y la tercera forma simplemente requiereresto más sencillos y la tercera forma simplemente requiere escribir "Hola Mundo". Sin embargo, las APIs de alto nivelescribir "Hola Mundo". Sin embargo, las APIs de alto nivel generalmente pierden flexibilidad; por ejemplo, resulta muchogeneralmente pierden flexibilidad; por ejemplo, resulta mucho más difícil en un navegador web hacer girar texto alrededormás difícil en un navegador web hacer girar texto alrededor de un punto con un contorno parpadeante que programarlo ade un punto con un contorno parpadeante que programarlo a bajo nivel. Al elegir usar una API se debe llegar a un ciertobajo nivel. Al elegir usar una API se debe llegar a un cierto equilibrio entre su potencia, simplicidad y pérdida deequilibrio entre su potencia, simplicidad y pérdida de flexibilidad.flexibilidad.
  • 16. APIAPI  Una API ofrece al programador un cierto nivel de abstracción queUna API ofrece al programador un cierto nivel de abstracción que enmascara la complejidad de acceso a un sistema o aplicación,enmascara la complejidad de acceso a un sistema o aplicación, proponiéndole un conjunto de funciones de las cuales sólo seproponiéndole un conjunto de funciones de las cuales sólo se conocen los parámetros y los valores devueltos. Asimismo, porconocen los parámetros y los valores devueltos. Asimismo, por analogía con un automóvil, el conductor no necesita conocer laanalogía con un automóvil, el conductor no necesita conocer la mecánica del motor para conducir el automóvil. El conductor sólomecánica del motor para conducir el automóvil. El conductor sólo tiene acceso a la interfaz compuesta por el volante, los pedalestiene acceso a la interfaz compuesta por el volante, los pedales (acelerador, embrague, freno), los controles (indicadores, luces(acelerador, embrague, freno), los controles (indicadores, luces delanteras, caja de cambios), interruptores (luces de emergencia,delanteras, caja de cambios), interruptores (luces de emergencia, luces antiniebla, bocina, etc.). En cierta forma, es similar a la interfazluces antiniebla, bocina, etc.). En cierta forma, es similar a la interfaz presentada al usuario.presentada al usuario.  Gracias a las API, un desarrollador no necesita preocuparse deGracias a las API, un desarrollador no necesita preocuparse de cómo funciona una aplicación remota ni de la forma en que lascómo funciona una aplicación remota ni de la forma en que las funciones fueron implementadas, para poder utilizarla en unfunciones fueron implementadas, para poder utilizarla en un programa. Una API puede estar disponible para un lenguajeprograma. Una API puede estar disponible para un lenguaje específico o para diversos lenguajes de programaciónespecífico o para diversos lenguajes de programación