Qual é a diferença técnica entre uma api e um plug-in?

API (Application Programming Interface) é a interface definida

exterior

interface de um componente SW que outros componentes usam.

Neste ponto, devo observar que a API não é apenas uma interface remota (de rede); embora hoje em dia, as pessoas geralmente o usem principalmente nesse sentido. É mais geral; A API pode ser realizada por uma biblioteca (carregada estática ou dinamicamente), por RPC ou HTTP ou por outros protocolos de aplicativos de rede comuns. Ainda é a interface de programação pública do componente.

Agora, um plugin é a implementação de uma funcionalidade que é

injetado

em um componente independente. O plugin mais simples pode ser uma função de retorno de chamada; a funcionalidade geral do componente permite chamar um retorno de chamada externo em algum momento durante o trabalho realizado "sob o capô".

E essa é a diferença: usar API significa chamar alguma funcionalidade que é implementada pelo componente SW e recuperar o resultado, sem ter nada a dizer sobre o que acontece no meio. Um plug-in permite que você injete alguma funcionalidade em uma implementação existente - essa funcionalidade será executada em algum ponto definido no contexto da execução de código externo.

A API é o método para realizar os dados enviando uma solicitação para alguma outra fonte - como você precisa de dados sobre os mapas - você pode usar o mesmo usando a API oferecida pelo Google Maps ...

Enquanto um plug-in é uma extensão adicionada ao seu código - para ignorar: ou executar algo específico sem afetar o código existente!

Uma API é uma definição de como um componente interage com um sistema maior. Esse componente pode ser um sistema inteiro em si (google maps, facebook etc.) ou pode ser um componente menor dentro de um sistema (caixa de texto, subsistema IO etc.). Uma definição de classe ou uma assinatura de método pode ser considerada uma API uniforme. O importante aqui é que a API define quais informações estão disponíveis e como enviar ou receber essas informações. As APIs dependem de assinaturas de métodos e protocolos de comunicação para manter a estabilidade. IE, desde que o método use 2 strings, produza um número inteiro e seja chamado usando HTTP toda vez que for usado, é uma API estável, não importa o que aconteça dentro do método. Se, no entanto, o método for alterado para obter três cadeias de caracteres e produzir uma única, a API estará quebrada e instável.

Um plug-in é um componente que permite modificar o que um sistema pode fazer normalmente sem forçar uma reformulação / compilação do sistema. Muitos sistemas têm uma API de plug-in que define como os plug-ins devem interagir com o resto do sistema. As extensões do Chrome são um exemplo de uma API de plug-in, que define como interagir e alterar a funcionalidade do Chrome sem a necessidade de recompilar ou reescrever qualquer código do Chrome.