2012-02-11 17 views
5

Ci sono molte cose qui su cosa sia un'API, ma non riesco a trovare quello che mi serve sulla distinzione tra API di plugin e API di librerie di classi. Non capisco comunque.API API della libreria di classi

Nel libro, Documentare le API, ho letto: La differenza fondamentale tra un plugin API e API libreria di classi risiede nella quale partito fornisce l'implementazione per l'API esposte.

Plugin API: L'editore crea un'applicazione e espone un plugin API; lo sviluppatore 3rd> party implementa l'API. Il plug-in per sviluppatori di terze parti estende la funzionalità dell'applicazione del publisher.

Libreria di classi API: l'editore crea l'API e la implementa. L'utente finale utilizza la libreria di classi tramite la sua API per scrivere un'applicazione. Con una libreria di classi, l'editore implementa una libreria di funzionalità che espone un'API.

Penso di aver capito il plug-in. Non sono chiaro sull'API della libreria di classi. È come un produttore di stampanti che crea un driver basato su una libreria di classi O/S in modo che la loro stampante funzioni con tale O/S?

In tal caso, potresti spiegare di più sulle differenze nelle API stesse? Sono entrambi ancora una serie di metodi esposti? E come l'editore implementa la propria API?

Referenze

API Documentare: 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

risposta

4

sono entrambi interfacce software. Ciò significa che entrambi sembrano simili, tipicamente un archivio Java (JAR) contenente un pacchetto (o più pacchetti) con interfacce, classi, eccezioni, ecc.

Posso capire perché hai trovato la spiegazione dal libro confusa. Per quanto riguarda l'API stessa, l'implementazione Java viene fornita in entrambi i casi.

La principale differenza sta nel modo in cui viene utilizzato questo codice Java. Nel caso dell'API Plugin (mi piace chiamarlo Service Provider Interface, o SPI) ci si aspetta principalmente di aggiungere le proprie funzionalità implementando le interfacce Java fornite e/o estendendo le classi fornite. D'altra parte, ci si aspetta solo di chiamare un'API Library (mi piace chiamarla semplicemente API), raramente ci si aspetta di implementare interfacce o estendere le classi.

A causa di come vengono utilizzati, ci sono molte differenze tra il modo in cui si progetta una SPI e come si progetta un'API. Mentre io non ho un post dedicato a confronto tra SPI e API, quando ho discutere i vari aspetti della progettazione API, di solito sottolineare queste differenze:

http://theamiableapi.com/

+0

Grazie, Ferenc. Il tuo sito web è molto utile, specialmente l'articolo, [Anticipating evolution] (http://theamiableapi.com/?s=spi+vs+api). – genghis

0

libreria: È una raccolta di sacco di metodi utilizzato per eseguire più numero di attività.

Plugin: è una raccolta di pochi metodi utilizzati per eseguire attività particolari.