Quiero algunos ejemplos Siempre me confundo, así que con algunos ejemplos podría resolverlo mejor.
Además: ¿Eclipse es una API o IDE?
api
frameworks
sdk
ide
terminology
Manoj hans
fuente
fuente
Respuestas:
Un IDE es un entorno de desarrollo integrado: un editor de texto mejorado con soporte adicional para desarrollar (como diseñadores de formularios, editores de recursos, etc.), compilar y depurar aplicaciones. por ejemplo, Eclipse, Visual Studio.
Una biblioteca es un fragmento de código al que puede llamar desde su propio código, para ayudarlo a hacer las cosas más rápida / fácilmente. Por ejemplo, una biblioteca de procesamiento de mapas de bits proporcionará funciones para cargar y manipular imágenes de mapas de bits, lo que le ahorrará tener que escribir todo ese código por sí mismo. Por lo general, una biblioteca solo ofrecerá un área de funcionalidad (procesamiento de imágenes u operación en archivos zip)
Una API (interfaz de programación de aplicaciones) es un término que significa las funciones / métodos en una biblioteca a los que puede llamar para pedirle que haga cosas por usted: la interfaz a la biblioteca.
Un SDK (kit de desarrollo de software) es una biblioteca o grupo de bibliotecas (a menudo con aplicaciones de herramientas adicionales, archivos de datos y código de muestra) que lo ayudan a desarrollar código que usa un sistema en particular (por ejemplo, código de extensión para usar características de un sistema operativo ( Windows SDK), dibujar gráficos en 3D a través de un sistema particular (DirectX SDK), escribir complementos para ampliar otras aplicaciones (Office SDK) o escribir código para hacer que un dispositivo como un Arduino o un teléfono móvil haga lo que quiera). Un SDK todavía tendrá un solo foco.
Un kit de herramientas es como un SDK: es un grupo de herramientas (y a menudo bibliotecas de códigos) que puede usar para facilitar el acceso a un dispositivo o sistema ... Aunque quizás con más énfasis en proporcionar herramientas y aplicaciones que solo en bibliotecas de códigos .
Un marco es una gran biblioteca o grupo de bibliotecas que proporciona muchos servicios (en lugar de quizás una sola capacidad enfocada como lo hacen la mayoría de las bibliotecas / SDK). Por ejemplo, .NET proporciona un marco de aplicación: hace que sea más fácil usar la mayoría (si no todos) de los servicios dispares que necesita (por ejemplo, Windows, gráficos, impresión, comunicaciones, etc.) para escribir una amplia gama de aplicaciones, así que uno "biblioteca" proporciona soporte para casi todo lo que necesita hacer. A menudo, un marco proporciona una base completa sobre la que construye su propio código, en lugar de crear una aplicación que consume código de la biblioteca para realizar partes de su trabajo.
Sin embargo, hay muchos ejemplos en la naturaleza que no coincidirán exactamente con estas descripciones.
fuente
La analogía del auto
IDE: La Oficina de Programación de MS. Es donde escribe su código, además de algunas características adicionales para que sea un programador más feliz. (por ejemplo , Eclipse, Netbeans ). Carrocería: es lo que realmente tocas, ves y trabajas.
Biblioteca: una biblioteca es una colección de funciones, a menudo agrupadas en múltiples archivos de programa, pero empaquetadas en un solo archivo comprimido. Contiene programas creados por otras personas, para que no tenga que reinventar la rueda. (por ejemplo , junit.jar, log4j.jar ). Una biblioteca generalmente tiene un papel clave, pero hace todo su trabajo detrás de escena, no tiene una GUI. El motor del auto.
API: la documentación del editor de la biblioteca. Así es como debes usar mi biblioteca. (por ejemplo, log4j API , junit API ). Manual de usuario del automóvil: sí, ¡los automóviles también vienen con uno!
Kits
¿Qué es un kit? Es una colección de muchos artículos relacionados que trabajan juntos para proporcionar un servicio específico. Cuando alguien dice botiquín, obtienes todo lo que necesitas para una emergencia: tiritas, aspirina, gasas y antisépticos, etc.
SDK : Comida feliz de McDonald's . Tiene todo lo que necesita (y no necesita) en caja: plato principal, bebida, postre y un juguete adicional. Un SDK es un conjunto de diferentes componentes de software ensamblados en un paquete, de modo que están "listos para la acción" desde el primer momento. A menudo incluye varias bibliotecas y puede , pero no necesariamente puede incluir complementos, documentación de API, incluso un IDE en sí. (por ejemplo , kit de desarrollo de iOS ).
Kit de herramientas : GUI. GUI GUI Cuando escuche 'toolkit' en un contexto de programación, a menudo se referirá a un conjunto de bibliotecas destinadas al desarrollo de GUI. Dado que los kits de herramientas están centrados en la interfaz de usuario, a menudo vienen con complementos (o IDE independientes) que proporcionan utilidades de pintura de pantalla. (por ejemplo, GWT )
Marco : aunque no es la noción predominante, un marco puede verse como un kit. También tiene una biblioteca (o una colección de bibliotecas que trabajan juntas) que proporciona una estructura y patrón de codificación específico (de ahí la palabra, marco ). (por ejemplo, Spring Framework)
fuente
Considere el desarrollo de Android:
IDE: Eclipse, etc.
Biblioteca: biblioteca android.app.Activity (Clase con todo el código)
API: interfaz básicamente todas las funciones con las que llamamos
SDK: El SDK de Android le proporciona las bibliotecas API y las herramientas de desarrollador necesarias para compilar, probar y depurar aplicaciones para Android (---- herramientas - DDMS, Emulador ---- plataformas - versiones del sistema operativo Android, ---- plataforma- herramientas - ADB, ---- documentos API)
Kit de herramientas: podría ser un paquete ADT
Marco: gran biblioteca pero más orientada a la arquitectura
fuente
En otras palabras...
IDE Incluso su bloc de notas es un IDE. Cada software con el que escribe / compila código es un IDE.
Biblioteca Un montón de código que simplifica las funciones / métodos para un uso rápido.
API Una interfaz de programación para funciones / configuración con la que trabaja, su uso a menudo se documenta.
SDK Extras y / o para fines de desarrollo / prueba.
ToolKit Pequeñas aplicaciones para un uso rápido, a menudo GUI.
Las aplicaciones GUI con una interfaz gráfica no requieren conocimientos de programación a diferencia de las API.
Framework Bunch de API / gran biblioteca / fragmentos envueltos en un espacio de nombres / o encapsulados desde el alcance externo para un manejo compacto sin conflictos con otro código.
MVC Un patrón de diseño separado en Modelos, Vistas y Controladores para grandes aplicaciones. No dependen unos de otros y se pueden cambiar / mejorar / reemplazar sin tener que ocuparse de otro código.
Ejemplo:
Fragmentos Los códigos pequeños de solo unas pocas líneas pueden no estar completos pero valer la pena compartirlos rápidamente.
Complementos Funciones exclusivas solo para marcos / API / bibliotecas especificadas.
Complementos módulos o servicios adicionales para interfaces gráficas de usuario específicos.
fuente
SDK representa al kit de desarrollo de software, e IDE representa al entorno de desarrollo integrado. El IDE es el software o el programa se utiliza para escribir, compilar, ejecutar y depurar, como Xcode. El SDK es el motor subyacente del IDE, incluye todas las bibliotecas de la plataforma a las que una aplicación necesita acceder. Es más básico que un IDE porque generalmente no tiene herramientas gráficas.
fuente