que - ¿Todavía hay una diferencia entre una biblioteca y una API?
que es sdk (7)
API es parte de la biblioteca que define cómo interactuará con el código externo. Cada biblioteca tiene API, API es la suma de todas las cosas públicas / exportadas. Hoy en día, el significado de API se amplía. podríamos llamar la forma en que el sitio / servicio web interactúa con el código como API también. También puede decir que algún dispositivo tiene API: el conjunto de comandos que puede llamar.
Algunas veces estos términos pueden mezclarse. Por ejemplo, tiene alguna aplicación de servidor (como TFS, por ejemplo). Tiene API con él, y esta API se implementa como una biblioteca. Pero esta biblioteca es solo una capa intermedia entre usted y no el que ejecuta sus llamadas. Pero si la biblioteca en sí contiene todo el código de acción, entonces no podemos decir que esta biblioteca es API.
Cada vez que le pregunto a la gente sobre la diferencia entre una API y una biblioteca, obtengo opiniones diferentes. Algunos dan este tipo de definición, diciendo que una API es una especificación y una biblioteca es una implementación ...
Algunos le dirán este tipo de definición, que una API es un conjunto de funciones mapeadas, y una Biblioteca es solo la distribución en forma compilada.
Todo esto me hace pensar, en un mundo de código web, frameworks y código abierto, ¿existe realmente alguna diferencia práctica? ¿Podría una biblioteca como jQuery o cURL cruzarse en la definición de una API?
Además, ¿los marcos se cruzan en esta categoría? ¿Hay alguna parte de Rails o Zend que pueda ser más "similar a API" o "libraryesque"?
Realmente esperando algunos pensamientos esclarecedores :)
Creo que la Library
es un conjunto de todas las clases y funciones que se pueden usar desde nuestro código para hacer nuestra tarea fácilmente. Pero la biblioteca puede contener algunas de sus funciones privadas para su uso que no desea exponer.
API
es una parte de la biblioteca que está expuesta al usuario. Entonces, cualquiera sea la documentación que tengamos sobre una biblioteca, la llamamos API Documentation
porque contiene solo aquellas clases y funciones a las que tenemos acceso.
En lenguaje claro y conciso
Biblioteca: colección de todas las clases y métodos almacenados para volver a usar
API: parte de las clases y métodos de la biblioteca que un usuario puede usar en su código.
Mi opinión es que cuando hablo de una API, significa solo las partes que están expuestas al programador. Si hablo de una ''biblioteca'', también me refiero a todo lo que funciona "bajo el capó", aunque forma parte de la biblioteca.
Según mi punto de vista, cualquiera que sean las funciones accesibles a invocador, podemos llamar como api en archivo de biblioteca, archivo de biblioteca que tiene algunas de las funciones que son privadas, no podemos acceder a ellas.
Una biblioteca contiene trozos de código reutilizables (un programa de software).
Estos códigos de biblioteca reutilizables están vinculados a su programa a través de API (interfaces de programación de aplicaciones). Es decir, API es una interfaz para la biblioteca a través de la cual los códigos reutilizables están vinculados a un programa de aplicación.
En términos simples, se puede decir que una API es una interfaz entre dos programas de software que facilita la interacción entre ellos .
Por ejemplo, en lenguajes de procedimiento como C, la biblioteca math.c
contiene las implementaciones de la función matemática, como sqrt
, exp
, log
, etc. Contiene la definición de todas estas funciones.
Se puede hacer referencia a estas funciones utilizando la API math.h
que describe y prescribe el comportamiento esperado .
primero tenemos que definir una interfaz ...
Interfaz : es el medio por el cual 2 "cosas" se comunican entre sí e intercambian información. "cosas" podría ser un (1) humano o (2) un código de ejecución de cualquier tipo (por ejemplo, biblioteca, aplicación de escritorio, sistema operativo, servicio web ... etc.).
si un humano desea hablar con un programa, necesita una interfaz gráfica de usuario (GUI) o una interfaz de línea de comando (CLI). ambos son tipos de interfaces que los humanos (pero no los programas) desearían usar.
sin embargo, si un código en ejecución (de cualquier tipo) desea hablar con otro código en ejecución (de cualquier tipo) no necesita ni desea una GUI o CLI, más bien necesita una Interfaz de programación de aplicaciones (API).
para responder a la pregunta del cartel original: la biblioteca es un tipo de código en ejecución y la API es el medio por el cual este código en ejecución habla con otros códigos en ejecución.