Login / Registre-se Account

Aplicações nativas em nuvem

O que é um SDK?

Jump to section

Um kit de desenvolvimento de software (SDK) é um conjunto de ferramentas oferecidas normalmente pelo fornecedor de uma plataforma de hardware, um sistema operacional ou uma 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, só que 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 de acordo com 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 novas 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 que os desenvolvedores aprendam 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 pontos a serem considerados  

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. 

Por que escolher a Red Hat?

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 que são 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 (Red Hat CodeReady Studio).

Há mais para aprender: documentação sobre a API automatizada e geração de SDK