Jump to section

SDK - Kit de Desenvolvimento de Software

Copiar URL

SDK é a sigla para "Software Development Kit", em inglês. Em português, kit de desenvolvimento de software. SDK ssão ferramentas fornecidas pelo fabricante de uma plataforma de hardware, sistema operacional ou linguagem de programação.

Com os SDKs, os desenvolvedores de software criam aplicações para essa plataforma, sistema ou linguagem de programação específica. É como um kit de ferramentas ou o pacote de peças que vem com o armário que você comprou para montar em casa, mas usados para o desenvolvimento de aplicações. Os SDKs são os elementos ou as ferramentas de desenvolvimento necessários para executar o trabalho, e o conteúdo desse kit varia conforme o fornecedor. 

Geralmente, um SDK básico inclui um compilador, um debugger e interfaces de programação de aplicações (APIs), mas também pode incluir:

  • Documentação
  • Bibliotecas
  • Editores
  • Ambientes de execução/desenvolvimento
  • Ferramentas de teste/análise
  • Unidades
  • Protocolos de rede

Um bom SDK fornece todos os componentes de que o desenvolvedor pode precisar para criar  aplicações para uma determinada solução e o respectivo ecossistema. Alguns SDKs também incluem um exemplo ou um projeto de teste básico para ajudá-lo a começar o mais rápido possível.

Exemplos de kits de desenvolvimento de software incluem o kit de desenvolvimento Java (JDK), o SDK do Windows 7, o SDK do MacOs X e o SDK do iPhone. Como um exemplo específico, o Operator SDK do Kubernetes pode ajudar você a desenvolver seu próprio operador Kubernetes. Ele contém APIs de alto nível, ferramentas para scaffold e geração de código e extensões para casos de uso comuns de operador. 

A maioria dos SDKs inclui uma API para conectar novas aplicações mobile ou projetos no nível do texto fonte na linha de comando. Além disso, eles geralmente incluem amostras de código, com bibliotecas e programas de exemplo para os desenvolvedores aprenderem a criar programas básicos. Depois, esses profissionais podem otimizar e desenvolver aplicações mais complexas com mais facilidade, além de fazer a depuração e adicionar novas funcionalidades conforme necessário.

Às vezes, leva algum tempo até que o desenvolvedor aprenda a usar um novo SDK. Por isso, alguns incluem documentação sobre como usar as APIs, além de tutoriais, perguntas frequentes e gráficos de exemplo. Por isso, uma interface de usuário ou de programação intuitiva (ou documentação mais abrangente) incentiva os desenvolvedores a utilizarem o programa específico de uma empresa em vez da opção da concorrência.

Da mesma forma, um SDK é uma ótima maneira de apresentar a solução de uma empresa aos desenvolvedores e incentivá-los a criar aplicações usando essa plataforma ou sistema operacional, em tempo real, em um ambiente de desenvolvimento integrado. Por esse motivo, a maioria dos SDKs é de uso livre, ou seja, qualquer desenvolvedor pode fazer o download e começar a programar imediatamente. 

Alguns SDKs podem ter regras ou contratos que devem ser aceitos previamente, especialmente no caso de novas soluções na fase Alfa ou Beta ou aplicações com algoritmos confidenciais (ou seja, que não são open source). Além disso, um SDK pode estar sujeito a um contrato de licença para que as aplicações criadas não sejam lançadas sob uma licença incompatível.

Um desenvolvedor precisa levar isso em conta na hora de escolher um SDK para trabalhar. Por exemplo:

  • Um SDK com uma licença proprietária é incompatível com o desenvolvimento de aplicações open source.
  • SDKs com uma Licença Pública Geral (GPL) não podem ser usados para desenvolver aplicações proprietárias.
  • Há limitações a serem contornadas ao usar uma Licença Pública Geral Menor (LGPL) em projetos com elementos de código proprietário. 

As aplicações open source são desenvolvidas continuamente, por amadores e profissionais, porque seus SDKs permitem a expansão de funcionalidades e a codificação de novos projetos compartilhados com o resto da comunidade. 

A Red Hat reúne a melhor ferramenta, as melhores soluções e o melhor serviço para o desenvolvimento de aplicações, tudo isso com a filosofia open source. A Red Hat oferece o que for preciso para seu caso, esteja você buscando uma plataforma para criar sua aplicação (Red Hat OpenShift), um ambiente de execução para compilá-la (Red Hat Runtimes) ou um ambiente de desenvolvimento com todas as ferramentas necessárias para criar, depurar, testar e implantar aplicações.

 

Leitura recomendada

ARTIGO

Stateful x stateless

Para determinar se algo é stateful ou stateless, basta considerar o tempo em que seu estado de interação é registrado e como essas informações precisam ser armazenadas.

ARTIGO

O que é Quarkus?

Quarkus é um stack Java nativo em Kubernetes que foi desenvolvido para máquinas virtuais Java (JVMs) e compilação nativa, otimizando essa linguagem especificamente para containers.

ARTIGO

O que é serverless?

Serverless é um modelo de desenvolvimento nativo em nuvem para criação e execução de aplicações sem o gerenciamento de servidores.

Leia mais sobre aplicações nativas em nuvem

Soluções Red Hat

Uma plataforma de aplicações para empresas que oferece serviços testados para lançar aplicações na infraestrutura de sua escolha.

 

Conteúdo adicional

Caso de sucesso

Banco Galicia, da Argentina, integra novos clientes corporativos em minutos com sua plataforma de NLP inteligente.

VÍDEO - THE SOURCE TV

O futuro da nuvem: a evolução das soluções cloud

Aprenda mais sobre a evolução e o futuro das soluções em nuvem com os especialistas da Red Hat

E-book

O caminho para a adoção de aplicações nativas em nuvem

Caso de sucesso

KPMG

A KPMG melhora os resultados dos serviços estaduais ao cidadão por meio de uma moderna plataforma de integração de sistemas.

Treinamentos Red Hat

Treinamento gratuito

Developing Cloud-Native Applications with Microservices Architectures