¿Cuál es la diferencia entre una API, una biblioteca y un marco?

Vamos a jugar con una analogía.

Un arquitecto (desarrollador de aplicaciones de lectura) quería construir una casa (aplicación de lectura) , por lo que se preparó para todos sus aspectos, incluyendo estructura, plomería, cableado, decoración, etc. (lea diferentes bibliotecas) . Él no puede hacer todas las cosas por sí mismo, por lo que recibió la ayuda de varios expertos en esos campos, que son realmente buenos para hacer lo que hacen. Pero necesitaba comunicar sus necesidades y requisitos cara a cara o por correo ( leer invocando API ) para que puedan satisfacer sus necesidades y proporcionar el servicio solicitado. Después de algún tiempo, un compañero Arquitecto vino y quiso realizar una tarea similar, pero con algunas características adicionales como la piscina (una nueva biblioteca). Puede utilizar convenientemente el marco proporcionado por nuestro arquitecto y agregar nuevas funciones que invoquen cualquier servicio nuevo.

Cuidadosamente vamos a revisar

Una biblioteca es una colección de funciones / objetos que tiene un propósito particular. podrías usar una biblioteca en una variedad de proyectos. (Varios servicios especializados en nuestro caso)

Una API es una interfaz para que otros programas interactúen con su programa o biblioteca sin tener acceso directo. (dando especificaciones para nuestra necesidad a varios proveedores en nuestro caso)

Un marco es una colección de patrones y bibliotecas para ayudar a construir una aplicación. (El plan maestro establecido por nuestro arquitecto para construir una casa)

Por lo tanto, un marco puede extenderse fácilmente para planificar una ciudad que tenga varias casas, que pueden ser iguales o similares (que tengan alguna característica nueva como la piscina).

por ejemplo, Angular js- un marco JS puede usar muchas bibliotecas como la edición iniline de texto usando una API expuesta de esa biblioteca.

Referir-

¿Diferencia entre framework vs Library vs IDE vs API vs SDK vs Toolkits?

Biblioteca vs. framework vs API?

API (interfaz de programación de aplicaciones):

Es una interfaz con la que puede acceder a las funciones de cualquier aplicación, sin alojarla en su servidor, por ejemplo: con las API de Google Map puede mostrar mapas para diferentes lugares sin escribir / alojar todo el código en su servidor, y simplemente usarlo, generalmente esto la transferencia de datos es en forma de JSON, es decir, JavaScript Object Notation.

SDK (Kit de desarrollo de software):

Cuando expone su API para que otros la utilicen o desarrollen sobre ella, es cuando SDK aparece en la imagen, el kit de desarrollo de software suele ser un conjunto de herramientas de desarrollo de software que permite la creación de aplicaciones. Para crear aplicaciones, debe descargar un kit de desarrollo de software específico.

Por ejemplo, el desarrollo de una aplicación de Android requiere un SDK con Java.

Puede ser algo tan simple como la implementación de una o más interfaces de programación de aplicaciones (API) en forma de algunas bibliotecas para interactuar con un lenguaje de programación particular.

Biblioteca:

es un conjunto de código reutilizable o una compilación de un conjunto de cosas que puede necesitar para facilitar su proceso de desarrollo , por ejemplo: la biblioteca JQuery , es una biblioteca de animaciones y funciones de JavaScript preescritas en varios navegadores que necesitará al crear un sitio web .

Marco de referencia:

Un marco es una base para cualquier proyecto, compuesto por algunas arquitecturas, metodologías y, a veces, ideologías . Ej: Bootstrap puede usar la ideología con la que está hecho para hacer un proyecto y construir sobre las mismas reglas o arquitectura.

A veces, las palabras marco y Biblioteca se usan en lugar de la otra,
Ej: .NET Framework es un Framework que tiene algunas Bibliotecas incluidas por defecto, que en realidad tienen cosas para facilitar su proceso de desarrollo.

Escribo sobre Startups, Tecnologías web / programación y cosas relacionadas
Lea más de mí @ dLotus o @ Quora | Arpit Goyal

Si observa Frameworks / Bibliotecas / API de una manera simplista, entonces tiene mucha razón con su definición de “colección de métodos”. Pero, eso solo explica cómo son iguales, no cómo son diferentes.

En primer lugar, tenemos marcos y bibliotecas. Hay una gran pregunta que explica las diferencias. Respuesta del usuario de Quora a ¿Cuál es la diferencia entre un marco de JavaScript y una biblioteca?
Para resumir, una biblioteca es una colección de métodos que proporcionan una función específica. Un marco es una aplicación a la que agrega componentes. Un marco puede tener bibliotecas para ayudarlo.

Una API está relacionada con estos, pero es diferente. En términos simples, ¿qué es una API?
Una API son los métodos acordados que puede usar para acceder a algo mediante programación. Puede interactuar con un sitio web a través de su API, o puede interactuar con la ECU en su automóvil a través de su API.
Una API es cuando accede a algo externo a su aplicación. Ese componente externo hace todo el trabajo. Por el contrario, una biblioteca proporciona a su aplicación los métodos necesarios para que pueda hacer el trabajo por sí misma.
Muchas API se expresan en forma de bibliotecas. Mi aplicación tiene una biblioteca que utiliza para acceder a su API. La biblioteca contiene los métodos necesarios para comunicarse con mi aplicación. En mi respuesta a la pregunta mencionada anteriormente sobre las API, utilizo el sistema GPS de Android como ejemplo. Hay una biblioteca que usa para acceder al hardware del GPS.