Eu quero alguns exemplos. Eu sempre fico confuso, então, com alguns exemplos, talvez eu consiga entender melhor.
Além disso: o Eclipse é uma API ou IDE?
api
frameworks
sdk
ide
terminology
Manoj hans
fonte
fonte
Respostas:
Um IDE é um ambiente de desenvolvimento integrado - um editor de texto substituído com suporte adicional para o desenvolvimento (como designers de formulários, editores de recursos etc.), aplicativos de compilação e depuração. por exemplo, Eclipse, Visual Studio.
Uma Biblioteca é um pedaço de código que você pode chamar de seu próprio código, para ajudá-lo a fazer as coisas de maneira mais rápida / fácil. Por exemplo, uma biblioteca de Processamento de bitmap fornecerá recursos para carregar e manipular imagens de bitmap, economizando a necessidade de escrever todo esse código. Normalmente, uma biblioteca oferece apenas uma área de funcionalidade (processamento de imagens ou operação em arquivos zip)
Uma API (interface de programação de aplicativos) é um termo que significa as funções / métodos em uma biblioteca que você pode chamar para solicitar que faça coisas para você - a interface da biblioteca.
Um SDK (kit de desenvolvimento de software) é uma biblioteca ou grupo de bibliotecas (geralmente com aplicativos de ferramentas extras, arquivos de dados e código de amostra) que ajudam no desenvolvimento de código que usa um sistema específico (por exemplo, código de extensão para usar os recursos de um sistema operacional ( Windows SDK), desenhando gráficos 3D por meio de um sistema específico (DirectX SDK), escrevendo suplementos para estender outros aplicativos (Office SDK) ou escrevendo código para fazer com que um dispositivo como um Arduino ou um celular faça o que você deseja. Um SDK normalmente ainda terá um único foco.
Um kit de ferramentas é como um SDK - é um grupo de ferramentas (e muitas vezes bibliotecas de código) que você pode usar para facilitar o acesso a um dispositivo ou sistema ... Embora talvez com mais foco no fornecimento de ferramentas e aplicativos do que apenas em bibliotecas de código .
Uma estrutura é uma grande biblioteca ou grupo de bibliotecas que fornece muitos serviços (em vez de talvez apenas uma capacidade focada, como a maioria das bibliotecas / SDKs). Por exemplo, o .NET fornece uma estrutura de aplicativos - facilita o uso da maioria (se não todos) dos serviços diferentes que você precisa (por exemplo, Windows, gráficos, impressão, comunicação etc.) para escrever uma vasta gama de aplicativos - portanto, um "library" fornece suporte para praticamente tudo o que você precisa fazer. Geralmente, uma estrutura fornece uma base completa na qual você cria seu próprio código, em vez de criar um aplicativo que consome código de biblioteca para executar partes de seu trabalho.
Naturalmente, existem muitos exemplos em estado selvagem que não correspondem exatamente a essas descrições.
fonte
A analogia do carro
IDE: O MS Office of Programming. É onde você digita seu código, além de alguns recursos adicionais para torná-lo um programador mais feliz. (por exemplo , Eclipse, Netbeans ). Corpo do carro: é o que você realmente toca, vê e trabalha.
Biblioteca: uma biblioteca é uma coleção de funções, geralmente agrupadas em vários arquivos de programa, mas empacotadas em um único arquivo morto. Ele contém programas criados por outras pessoas, para que você não precise reinventar a roda. (por exemplo , junit.jar, log4j.jar ). Uma biblioteca geralmente tem um papel fundamental, mas faz todo o seu trabalho nos bastidores, não possui uma GUI. Motor do carro.
API: a documentação do editor da biblioteca. É assim que você deve usar minha biblioteca. (por exemplo , API log4j , API junit ). Manual do usuário do carro - sim, os carros também vêm com um!
Kits
O que é um kit? É uma coleção de muitos itens relacionados que trabalham juntos para fornecer um serviço específico. Quando alguém diz kit de medicamentos, você obtém tudo o que precisa para uma emergência: emplastros, aspirina, gaze e anti-séptico, etc.
SDK : Refeição feliz do McDonald's . Você tem tudo o que precisa (e não precisa) em caixas ordenadamente: prato principal, bebida, sobremesa e um brinquedo bônus. Um SDK é um monte de componentes de software diferentes reunidos em um pacote, de modo que eles estão "prontos para a ação" imediatamente. Geralmente inclui várias bibliotecas e pode , mas pode não necessariamente incluir plug-ins, documentação de API e até mesmo um próprio IDE. (por exemplo, iOS Development Kit ).
Kit de ferramentas : GUI. GUI. GUI. Quando você ouve 'toolkit' em um contexto de programação, ele geralmente se refere a um conjunto de bibliotecas destinadas ao desenvolvimento da GUI. Como os kits de ferramentas são centrados na interface do usuário, eles geralmente vêm com plug-ins (ou IDEs independentes) que fornecem utilitários de pintura de tela. (por exemplo, GWT )
Estrutura : Embora não seja a noção predominante, uma estrutura pode ser vista como um kit. Ele também possui uma biblioteca (ou uma coleção de bibliotecas que trabalham juntas) que fornece uma estrutura e padrão de codificação específicos (portanto, a palavra, estrutura ). (por exemplo, Spring Framework)
fonte
Considere o desenvolvimento do Android:
IDE: Eclipse etc.
Biblioteca: biblioteca android.app.Activity (classe com todo o código)
API: Interface basicamente todas as funções com as quais chamamos
SDK: o SDK do Android fornece as bibliotecas de API e as ferramentas de desenvolvedor necessárias para criar, testar e depurar aplicativos para Android (---- ferramentas - DDMS, Emulador ---- plataformas - versões de sistemas operacionais Android, ---- plataforma- ferramentas - ADB, ---- documentos da API)
ToolKit: pode ser um pacote ADT
Framework: Grande biblioteca, mas mais orientada à arquitetura
fonte
Em outras palavras...
IDE Até o seu bloco de notas é um IDE. Todo software com o qual você escreve / compila código é um IDE.
Biblioteca Um monte de código que simplifica funções / métodos para uso rápido.
API Uma interface de programação para funções / configurações com as quais você trabalha, seu uso é frequentemente documentado.
Extras do SDK e / ou para fins de desenvolvimento / teste.
ToolKit Pequenos aplicativos para uso rápido, geralmente GUIs.
Aplicativos GUI com uma interface gráfica, não requerem conhecimento de programação, ao contrário das APIs.
Estrutura Ramo de APIs / enorme Library / Snippets envolto em um namespace / ou encapsulados do escopo externo para um manuseamento compacto, sem conflitos com outro código.
MVC Um padrão de design separado em Modelos, Vistas e Controladores para grandes aplicações. Eles não são dependentes um do outro e podem ser alterados / aprimorados / substituídos sem precisar cuidar de outro código.
Exemplo:
Trechos Pequenos códigos de apenas algumas linhas podem não estar completos, mas valem a pena compartilhar rapidamente.
Plug-ins Funções exclusivas apenas para estruturas / APIs / bibliotecas especificadas.
Complementos Módulos ou serviços adicionais para GUIs específicas.
fonte
O SDK representa para o kit de desenvolvimento de software e o IDE representa para o ambiente de desenvolvimento integrado. O IDE é o software ou o programa é usado para escrever, compilar, executar e depurar como o Xcode. O SDK é o mecanismo subjacente do IDE, inclui todas as bibliotecas da plataforma que um aplicativo precisa acessar. É mais básico que um IDE, porque geralmente não possui ferramentas gráficas.
fonte