2012-02-11 47 views
5

Hay muchas cosas aquí sobre lo que es una API, pero no puedo encontrar lo que necesito sobre la distinción entre API de plugin y API de biblioteca de clase. No lo entiendo de todos modos.Plugin API vs API de biblioteca de clases

En el libro, API Documentación de, leo: La diferencia clave entre una API de plugins y una API de biblioteca de clases radica en el cual quien suministra la implementación de la API expuesta.

Plugin API: El editor crea una aplicación y expone una API de plugins; el tercer desarrollador parte implementa la API. El complemento de desarrollador de terceros amplía la funcionalidad de la aplicación del editor.

Biblioteca de clases API: El editor crea la API y la implementa. El usuario final usa la biblioteca de clases a través de su API para escribir una aplicación. Con una biblioteca de clases, el editor implementa una biblioteca de funcionalidades que expone una API.

Creo que entiendo el complemento. No tengo claro el API de la biblioteca de clases. ¿Es como que un fabricante de impresoras crea un controlador basado en una biblioteca de clases de O/S para que su impresora funcione con ese O/S?

En caso afirmativo, ¿podría explicar más sobre las diferencias en las API en sí? ¿Siguen siendo ambos un conjunto de métodos expuestos? ¿Y cómo implementa el editor su propia API?

Referencias

API Documentación: http://www.amazon.com/documenting-APIs-writing-developer-documentation/dp/0963002104

What is the difference between a Java API and a library?

Difference between framework vs Library vs IDE vs API vs SDK vs Toolkits?

API vs Toolkit vs Framework vs Library

Respuesta

4

ambos son interfaces de software. Esto significa que ambos tienen un aspecto similar, generalmente un archivo Java (JAR) que contiene un paquete (o varios paquetes) con interfaces, clases, excepciones, etc.

Entiendo por qué la explicación del libro le resulta confusa. En lo que concierne a la API, la implementación de Java se proporciona en ambos casos.

La principal diferencia radica en cómo se usa este código de Java. En el caso de la API de complemento (me gusta llamarlo Interfaz de proveedor de servicio, o SPI), se espera que agregue su propia funcionalidad implementando las interfaces Java proporcionadas y/o ampliando las clases proporcionadas. Por otro lado, solo se espera que llame a una API de biblioteca (me gusta simplemente llamar API), rara vez se espera que implemente interfaces o extienda clases.

Debido a cómo se usan, existen muchas diferencias sutiles entre cómo se diseña un SPI y cómo se diseña un API. Si bien no tengo un post dedicado a la comparación de SPI y API, cuando hable de los diversos aspectos del diseño de la API, por lo general señalar estas diferencias:

http://theamiableapi.com/

+0

Gracias, Ferenc. Su sitio web es muy útil, especialmente el artículo, [Anticipando la evolución] (http://theamiableapi.com/?s=spi+vs+api). – genghis

0

Biblioteca: Es una colección de montón de métodos utilizado para realizar más cantidad de tareas

Plugin: es una colección de pocos métodos utilizados para realizar una tarea en particular.

Cuestiones relacionadas