Diferenças entre Framework vs Library vs Platform vs API vs SDK vs Toolkits vs IDE
Aléssio Jr
Li em algum lugar que cada palavra em um pedaço de texto com o qual você não está familiarizado pode diminuir sua atenção, e essas palavras significam que você não vai ler todas essas informações. Esse problema se agrava quando você é um novo desenvolvedor e a frase introdutória da página introdutória de alguma ferramenta que você está tentando usar apresenta algumas grandes palavras que você não entende. Se você não entender essas palavras, isso poderá impedi-lo de desenvolver o software. Pessoalmente, preciso esclarecer essas definições. Nota: Encontrei esta resposta no Stack Overflow, mas, infelizmente, ela não me explicou os conceitos de maneira satisfatória.
Então aqui está minha tentativa de fazer melhor.
Plataforma:
Uma plataforma é simplesmente o hardware ou software para o qual o software é construído. Por exemplo, o software pode ser criado para Windows, OS X, Android, iOS, XBOX One, PS4, etc. Essas são todas as plataformas. Como plataformas diferentes têm requisitos diferentes e têm interface diferente com o software, o código que você escreve pode não ser executado em todas as plataformas e é importante saber para quais plataformas você está construindo.
Biblioteca:
uma biblioteca se refere ao código que fornece funções que você pode chamar do seu próprio código para lidar com tarefas comuns. Por exemplo, uma biblioteca de matemática fornecerá funcionalidades matemáticas comuns, como funções trigonométricas ou logarítmicas. As linguagens de programação geralmente têm bibliotecas para todos os tipos de tarefas, como processamento de dados, plotagem de gráficos, análise de texto, etc. Uma vez incluídas, as bibliotecas economizam o trabalho de escrever todas essas funções.
API:
abreviação de Application Programming Interface. Este termo refere-se à "face" da biblioteca, pois é acessível ao programador. Pense nisso como uma representação lógica do que está na biblioteca e a documentação relevante que explica o que o programador pode fazer com a biblioteca. A diferença é que a biblioteca se refere ao próprio código, enquanto a API se refere à interface. Existem muitas APIs interessantes, algumas das mais interessantes são fornecidas por sites que usamos diariamente, como APIs do Google, API do Facebook Messenger etc.
IDE:
Abreviação de Integrated Development Environment. O IDE é um aplicativo que ajuda você durante o processo de gravação do código, automatizando muitos processos úteis, como depuração, refatoração, geração de código etc. Um IDE é apenas uma ferramenta para ajudar os programadores, e você pode simplesmente usar o Bloco de Notas se desejar. desejo. Exemplos de IDEs incluem: Eclipse, IntelliJ IDEA, Netbeans, Visual Studio, etc.
SDK:
abreviação de Software Development Kit. Este é um kit completo de ferramentas de desenvolvimento de software para uma plataforma específica. Esse "kit" pode incluir todo tipo de coisas, como: bibliotecas, APIs, IDEs, documentação etc. Por exemplo, o Android SDK, que fornece tudo o que você precisa para o desenvolvimento do Android.
TookKit:
Parece-me um termo genérico para se referir a qualquer coleção de “ferramentas” (outro termo genérico) que têm um objetivo comum.
Framework:
Uma estrutura é uma estrutura genérica que fornece uma arquitetura de esqueleto com a qual software específico pode ser implementado. A abstração permite que padrões de design comuns sejam facilmente reutilizados, enquanto ainda permite que os detalhes específicos sejam deixados para os desenvolvedores. Reutilizar padrões comuns de design significa ter a estrutura geral para resolver tipos semelhantes de problemas. Por exemplo, o Java Swing Framework fornece a funcionalidade e a estrutura para a programação da GUI Java; pode ser usado para qualquer programação GUI que você precise fazer. Outro exemplo é o Framework Model-View-Controller, que descreve em termos muito abstratos as três partes principais de um aplicativo Web comum. A estrutura pode se manifestar como funções e classes que necessariamente precisam ser implementadas, como o método run () no Java Swing, exigindo que o usuário esteja em conformidade com o padrão de design do qual a estrutura se refere.
All right. I got it!
Texto Adaptado
Fonte: https://medium.com/@shashvatshukla/framework-vs-library-vs-platform-vs-api-vs-sdk-vs-toolkits-vs-ide-50a9473999db