¿Cuál es la diferencia entre una biblioteca, un marco y una API? Todos me parecen iguales. Me gustaría escuchar a la gente pensar en esto.
terminology
Bob Dole
fuente
fuente
Respuestas:
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.
Un marco es una colección de patrones y bibliotecas para ayudar a construir una aplicación.
Una API es una interfaz para que otros programas interactúen con su programa sin tener acceso directo.
Para decirlo de otra manera, piense en una biblioteca como un complemento / pieza de una aplicación, un marco como el esqueleto de la aplicación y una API como una parte externa de dicha aplicación.
fuente
Buenas respuestas hasta ahora, pero pierden un punto clave: un marco utiliza IoC . Su código está rodeado por un marco. Vive en su interior. Por el contrario, su código solo usa una biblioteca o API. Vive fuera de él. IoC es la diferencia.
fuente
Una biblioteca es una colección de código creada para realizar tareas comunes. El código de la biblioteca tiende a ser relativamente estable y libre de errores. El uso de bibliotecas apropiadas puede reducir la cantidad de código que se necesita escribir. Tiende a reducir los recuentos de líneas de código para que una aplicación aumente la velocidad a la que se entrega la funcionalidad. En la mayoría de los casos, es mejor usar una rutina de biblioteca que escribir su propio código.
Una API (interfaz de programación de aplicaciones) es una interfaz para algunas funciones que permite que una aplicación acceda a la funcionalidad disponible. Una API se puede denominar una interfaz. Existen API en muchos niveles, incluidos el sistema, la biblioteca, el marco, el programa y la aplicación. Las API deben definirse antes de implementar el código que las implementa.
Las API deben ser estables, aunque algunas partes de la API pueden quedar obsoletas por varios motivos. Cuanto más ampliamente se utiliza la API, más difícil es cambiarla. La mayoría, si no toda, la API de Java 1.0 todavía está disponible, aunque muchos métodos han quedado en desuso.
Un Framework es una colección de API diseñadas para simplificar la creación de aplicaciones. Los marcos proporcionan implementaciones para componentes reutilizables. Los buenos marcos tienden a especializarse en su aplicación.
Java Collections Framework es una colección de API para varios tipos de objetos que se pueden usar para manejar colecciones. Proporciona una jerarquía de API a varias colecciones. En Java Collections Framework, la interfaz SortedSet amplía la interfaz Set, que a su vez amplía la interfaz Collection. Estas API son interfaces abstractas y las implementaciones reales tienen nombres diferentes. El marco de colecciones simplifica la implementación de colecciones y simplifica las implementaciones cambiantes durante el desarrollo.
Los marcos pueden construirse a partir de marcos más pequeños como se ve en el Java Spring Framework dirigido al desarrollo de J2EE. Spring consta de más de una docena de marcos, muchos de los cuales pueden usarse solos o reemplazarse por otros marcos.
El uso de las bibliotecas, API y marcos adecuados puede simplificar el desarrollo. Estos componentes se ocupan de los problemas comunes y permiten que el equipo de desarrollo se concentre en los problemas específicos de la aplicación.
fuente
Un marco es un paso adelante de la biblioteca. Si su caja de herramientas es una biblioteca, entonces su taller sería un marco.
Wikipedia dice
La distinción importante entre una API y una interfaz de usuario es que una API permite que otros software / servicios interactúen con su solución mediante programación.
Las API se pueden construir tanto para aplicaciones (a través de dll o complementos) como para sitios web y servicios (a través de REST y servicios web)
fuente
Las API definen cómo usar algo más en términos de qué objetos y métodos se pueden usar desde una fuente. Por ejemplo, la integración de Twitter o Facebook en un sitio utiliza una API de Twitter o Facebook para garantizar que se actualicen los datos adecuados.
Los marcos tienden a ser un poco más voluminosos en cierto sentido, ya que a veces casi pueden formar su propio lenguaje. jQuery es un ejemplo de un marco que tiene su propia sintaxis y tiene un poco más de peso en términos de entrar en mi código en cierto sentido. Los marcos también pueden ser plataformas que los hacen similares a las API en cierto sentido, por ejemplo, Win32API o .Net Framework tienen numerosos métodos para construir una aplicación, por lo que puede haber marcos que tienen API en ellos y API que también se ven como marcos.
Las bibliotecas tienden a ser archivos binarios que implementan una API o Framework y, por lo tanto, son los bits que debe tener para usar una API o Framework en algunos casos. Al menos así es como veo estos términos y las diferencias entre ellos.
fuente
Ve a una biblioteca y comienza a leer libros. Si usted es la aplicación, entonces la colección de libros es la biblioteca. Los estantes, los armarios y el complejo que alberga todo esto constituyen el marco. Todo lo que entra en contacto mientras realiza la tarea de leer los libros es la API.
fuente
Una biblioteca es una colección de código que se utiliza para simplificar tareas comunes: puede ser clases, funciones o lo que sea específico de su idioma o plataforma. Un buen ejemplo podría ser una biblioteca de manipulación de cadenas que brinde ayuda para tareas comunes (construir, dividir, buscar u ordenar cadenas, etc.).
Una API (interfaz de programación de aplicaciones) es una definición ('interfaz') de cómo trabajar con otra aplicación, sistema o tecnología. Básicamente, define las operaciones que están disponibles para interactuar con ese otro sistema. Una API puede ser una biblioteca (lo que significa que la API está envuelta en una biblioteca o un conjunto de clases), pero la distinción es que una API siempre hace referencia a un sistema externo, ya sea una base de datos, un servicio web, otra aplicación o el sistema operativo sí mismo.
Un Framework es un concepto más amplio: normalmente contendrá una serie de bibliotecas y API para realizar tareas comunes. Existe en un nivel conceptual más alto: no es solo una colección de herramientas, sino también una colección de patrones de diseño, mejores prácticas y metodologías. Un marco de software es una extensión de un marco general : sus significados incluyen ser una base a partir de la cual se construyen las cosas, proporcionar soporte y estructura, y dar orientación y definición a los requisitos.
fuente
La aplicación se desarrolla utilizando bibliotecas basadas en un marco y se comunica a través de una API.
Si crea una aplicación, diga una aplicación de procesamiento de imágenes en línea,
Cuando entra una llamada a su aplicación
a la persona que llama
razones por las cuales existen:
fuente