Qual é a diferença entre uma biblioteca, estrutura e API? Todos eles parecem iguais para mim. Eu gostaria de ouvir as pessoas pensando nisso.
terminology
Bob Dole
fonte
fonte
Respostas:
Uma biblioteca é uma coleção de funções / objetos que serve a um propósito específico. você pode usar uma biblioteca em uma variedade de projetos.
Uma estrutura é uma coleção de padrões e bibliotecas para ajudar na construção de um aplicativo.
Uma API é uma interface para outros programas interagirem com seu programa sem ter acesso direto.
Em outras palavras, pense em uma biblioteca como um complemento / parte de um aplicativo, uma estrutura como o esqueleto do aplicativo e uma API como uma parte externa do aplicativo.
fonte
Boas respostas até agora, mas elas perdem um ponto-chave - uma estrutura usa IoC . Seu código é cercado por uma estrutura. Ele vive dentro dele. Por outro lado, seu código usa apenas uma biblioteca ou API. Ele mora fora dele. IoC é a diferença.
fonte
Uma biblioteca é uma coleção de códigos criados para executar tarefas comuns. O código da biblioteca tende a ser relativamente estável e livre de erros. O uso de bibliotecas apropriadas pode reduzir a quantidade de código que precisa ser gravada. Isso tenderá a reduzir as contagens de linha de código para um aplicativo, aumentando a taxa na qual a funcionalidade é entregue. Na maioria dos casos, é melhor usar uma rotina de biblioteca do que escrever seu próprio código.
Uma API (Application Programming Interface) é uma interface para algumas funcionalidades que permitem que um aplicativo acesse a funcionalidade disponível. Uma API pode ser referida como uma interface. A API existe em vários níveis, incluindo sistema, biblioteca, estrutura, programa e aplicativo. As APIs devem ser definidas antes que o código que as implementa seja implementado.
As APIs devem ser estáveis, embora partes da API possam ser preteridas por vários motivos. Quanto mais amplamente usada a API, mais difícil é alterá-la. A maioria, senão toda a API Java 1.0, ainda está disponível, embora muitos métodos tenham sido preteridos.
Um Framework é uma coleção de APIs projetadas para simplificar a criação de aplicativos. Estruturas fornecem implementações para componentes reutilizáveis. Boas estruturas tendem a ser especializadas em sua aplicação.
O Java Collections Framework é uma coleção de APIs para vários tipos de objetos que podem ser usados para manipular coleções. Ele fornece uma hierarquia de APIs para várias coleções. No Java Collections Framework, a interface SortedSet estende a interface Set, que, por sua vez, estende a interface Collection. Essas APIs são interfaces abstratas e as implementações reais têm nomes diferentes. O Framework de coleções simplifica a implementação de coleções e simplifica as alterações nas implementações durante o desenvolvimento.
As estruturas podem ser construídas com estruturas menores, como é visto no Java Spring Framework, voltado para o desenvolvimento do J2EE. O Spring consiste em mais de uma dúzia de estruturas, muitas das quais podem ser usadas por si próprias ou substituídas por outras estruturas.
O uso das bibliotecas, APIs e estruturas apropriadas pode simplificar o desenvolvimento. Esses componentes cuidam dos problemas comuns e permitem que a equipe de desenvolvimento se concentre nos problemas específicos do aplicativo.
fonte
Uma estrutura é um avanço da biblioteca. Se sua caixa de ferramentas for uma biblioteca, seu workshop será uma estrutura.
Wikipedia diz
A distinção importante entre uma API e uma interface do usuário é que uma API permite que outros softwares / serviços interajam com sua solução programaticamente.
As APIs podem ser criadas tanto para aplicativos (através de dlls ou plugins) quanto para sites e serviços (através de REST e serviços da web)
fonte
As APIs definem como usar outra coisa em termos de quais objetos e métodos podem ser usados a partir de uma fonte. Por exemplo, a integração do Twitter ou Facebook em um site usa uma API do Twitter ou Facebook para garantir que os dados adequados sejam atualizados.
Estruturas tendem a ser um pouco mais volumosas em certo sentido, pois isso pode quase formar sua própria linguagem às vezes. O jQuery é um exemplo de uma estrutura que tem sua própria sintaxe e carrega um pouco mais de peso em termos de entrar no meu código em um sentido. As estruturas também podem ser plataformas que as tornam semelhantes a APIs em um sentido, por exemplo, o Win32API ou .Net Framework possui vários métodos para criar um aplicativo, para que possam existir estruturas que possuem APIs e APIs que também são exibidas como estruturas.
As bibliotecas tendem a ser arquivos binários que implementam uma API ou Framework e, portanto, são os bits que você precisa para usar uma API ou Framework em alguns casos. Pelo menos é assim que vejo esses termos e as diferenças entre eles.
fonte
Vá para uma biblioteca e comece a ler livros. Se você é o aplicativo, a coleção de livros é a biblioteca. As prateleiras, os armários e o complexo que abriga tudo isso constituem a estrutura. Tudo o que você entra em contato ao executar a tarefa de ler os livros é a API.
fonte
Uma biblioteca é uma coleção de códigos usados para simplificar tarefas comuns - podem ser classes, funções ou o que for específico para seu idioma ou plataforma. Um bom exemplo pode ser uma biblioteca de manipulação de strings que fornece auxiliares para tarefas comuns (construção, divisão, pesquisa ou classificação de strings, etc.).
Uma API (interface de programação de aplicativos) é uma definição ('interface') de como trabalhar com outro aplicativo, sistema ou tecnologia. Essencialmente, define as operações disponíveis para interagir com esse outro sistema. Uma API pode ser uma biblioteca (o que significa que a API está agrupada em uma biblioteca ou em um conjunto de classes), mas a distinção é que uma API sempre faz referência a um sistema externo - seja um banco de dados, serviço da Web, outro aplicativo ou sistema operacional em si.
Um Framework é um conceito maior - ele normalmente contém várias bibliotecas e APIs para executar tarefas comuns. Existe em um nível conceitual mais alto - não é apenas uma coleção de ferramentas, mas também uma coleção de padrões de design, práticas recomendadas e metodologias. Uma Estrutura de software é uma extensão de uma estrutura geral - seus significados incluem ser uma base a partir da qual as coisas são construídas, fornecer suporte e estrutura e fornecer orientação e definição de requisitos.
fonte
O aplicativo é desenvolvido usando bibliotecas baseadas em uma estrutura e se comunica através de uma API.
Se você criar um aplicativo, diga um aplicativo de processamento de imagem on-line,
Quando uma chamada chega ao seu aplicativo
para a pessoa que chama
razões pelas quais existem:
fonte