O que é um SDK? Kits de desenvolvimento de software explicados de forma simples
Um SDK (software development kit, ou kit de desenvolvimento de software) é um kit pronto que uma empresa oferece aos desenvolvedores para que usem o serviço ou a plataforma dela sem precisar construir tudo do zero. Normalmente inclui uma biblioteca de código para uma linguagem de programação específica, documentação e exemplos, e às vezes ferramentas extras, como utilitários de teste. Quando o seu app "usa o SDK da Stripe", significa que o seu código chama as funções prontas da Stripe em vez de escrever cada requisição à API da Stripe à mão.
Por que os SDKs importam quando você cria com IA
Quando você pede a um criador de apps com IA para adicionar pagamentos, chat com IA, mapas ou e-mail, ele normalmente instala o SDK desse provedor e escreve algumas linhas que o chamam. Entender o que é um SDK ajuda você a:
- Entender o que está sendo adicionado ao seu projeto. Um SDK é uma dependência — código externo do qual o seu app passa a depender.
- Identificar a configuração necessária. Quase todo SDK precisa de uma chave de API, e muitos têm versões separadas de "servidor" e de "navegador", com regras diferentes sobre quais chaves são seguras de usar.
- Pedir a coisa certa. "Use o SDK oficial da Stripe no servidor" é uma instrução mais clara do que "adicione a Stripe".
- Ler erros. Muitos erros em apps criados com IA vêm de um SDK configurado de forma errada, desatualizado ou usado no lugar errado.
Uma analogia do dia a dia
Imagine que você quer instalar prateleiras.
- A API são as regras da construção: em quais paredes dá para usar parafusos, quanto peso aguentam, onde estão os canos. Você poderia trabalhar apenas com essas regras, medindo e furando tudo por conta própria.
- O SDK é um kit de prateleira desmontado, da mesma empresa que fez as paredes: peças já cortadas, os parafusos certos, um suporte que encaixa exatamente nas paredes deles e um manual de instruções.
Você ainda decide onde a prateleira vai e o que vai nela. O kit apenas poupa você de cortar madeira e de adivinhar o tamanho dos parafusos — e é menos provável que termine com um furo num cano de água.
SDK vs API vs biblioteca vs framework
Esses termos se sobrepõem, o que confunde muita gente:
| Termo | O que é | Exemplo |
|---|---|---|
| API | As regras para conversar com um serviço: quais requisições ele aceita e o que devolve | A API REST da Stripe em api.stripe.com |
| SDK | O kit do provedor para usar a API ou a plataforma dele em uma linguagem específica, com documentação e ferramentas | A biblioteca oficial da Stripe para Node.js |
| Biblioteca | Qualquer código reutilizável que você adiciona a um projeto | Um pacote para formatar datas |
| Framework | Uma estrutura maior dentro da qual todo o seu app é construído | React, Next.js, Django |
Um SDK geralmente contém uma biblioteca, e essa biblioteca normalmente chama uma API. Para um serviço web, "SDK" e "biblioteca cliente" muitas vezes são usados como sinônimos.
Alguns SDKs não têm nada a ver com serviços web. A Apple e o Google publicam SDKs para criar apps de iOS e Android, que incluem compiladores, simuladores e código da plataforma. A ideia é a mesma: tudo o que você precisa para construir para a plataforma deles, em um só kit.
O que um SDK faz por você
Aqui está a mesma tarefa — criar um cliente em um provedor de pagamentos — feita de duas maneiras.
Sem SDK, o seu código precisa montar a requisição HTTP sozinho: definir a URL, incluir a chave secreta no cabeçalho correto, formatar os dados do jeito que a API espera, enviar, verificar o código de status, interpretar a resposta e tratar novas tentativas se a rede falhar.
Com SDK, fica mais perto de uma linha só:
const customer = await stripe.customers.create({ email: "lena@example.com" });
Por trás dessa linha, o SDK cuida de:
- Autenticação — anexar a sua chave corretamente a cada requisição
- Formatação de dados — converter os seus dados no que a API espera, e a resposta de volta em objetos
- Erros — transformar códigos de status em tipos de erro claros que o seu código consegue capturar
- Novas tentativas — tentar de novo com segurança quando uma requisição falha por motivos temporários (muitos SDKs oficiais fazem isso)
- Tipos — em TypeScript, informar ao seu editor quais campos existem, para que os erros apareçam antes de você executar o código
Um exemplo prático: adicionar respostas de IA a um app de suporte
Você pede a um criador de apps com IA: "Quando um cliente enviar um chamado de suporte, gere uma sugestão de resposta usando um modelo de IA."
- A IA instala o SDK oficial do provedor do modelo como pacote no seu projeto (em projetos JavaScript, a partir do registro npm).
- Você adiciona a chave de API do provedor como um segredo do projeto. O SDK a lê de uma variável de ambiente no servidor.
- A IA escreve uma rota no servidor que chama o SDK com o texto do chamado e uma instrução curta, e salva a resposta sugerida no banco de dados.
- O navegador nunca vê a chave; ele só chama a rota do seu próprio servidor.
Se o provedor mudar a API depois, ele normalmente lança uma nova versão do SDK. Atualizar o pacote — e conferir as notas de versão em busca de mudanças que quebram o código — costuma ser tudo o que é preciso.
Termos-chave
| Termo | Significado |
|---|---|
| Dependência | Código externo do qual o seu projeto depende. Um SDK é um deles. |
| Pacote / gerenciador de pacotes | Um conjunto de código para baixar e a ferramenta que o instala (npm para JavaScript, pip para Python). |
| Biblioteca cliente | Código que facilita chamar uma API específica. Muitas vezes é isso que "SDK" significa para serviços web. |
| SDK do servidor | Roda no seu backend e pode usar chaves secretas com segurança. |
| SDK do cliente / do navegador | Roda no navegador do usuário. Recebe apenas chaves públicas ou "publicáveis". |
| Versão | Cada lançamento de SDK tem um número (como 4.2.0). Saltos grandes costumam significar mudanças que quebram o código. |
| Mudança que quebra (breaking change) | Uma atualização que exige que você altere o seu código. |
| Changelog / notas de versão | A lista do provedor com o que mudou em cada versão. |
Equívocos comuns
- "SDK e API são a mesma coisa." A API é a interface do serviço; o SDK é uma camada de conveniência por cima. Dá para chamar a maioria das APIs web sem SDK — só que dá mais trabalho.
- "Se o SDK está instalado, a integração está pronta." Você ainda precisa de uma conta no provedor, das chaves certas e de código que trate o que acontece quando algo falha.
- "Qualquer pacote com o nome certo é o oficial." Atacantes às vezes publicam pacotes com nomes parecidos. Confira na documentação do provedor o nome exato do pacote.
- "O SDK do navegador pode usar a minha chave secreta." Nunca. Tudo o que está no código do navegador é visível para os visitantes. Chaves secretas pertencem apenas ao código do servidor — veja como manter as chaves de API seguras.
- "SDKs nunca precisam de atualização." Versões antigas deixam de receber correções e, eventualmente, param de funcionar quando os provedores aposentam versões antigas da API.
O que pedir ao seu criador de apps com IA
- "Use o SDK oficial do provedor, não um wrapper de terceiros. Me diga o nome exato do pacote e a versão que você instalou."
- "Use o SDK apenas no servidor e leia a chave de uma variável de ambiente."
- "Quais partes deste SDK rodam no navegador, e quais chaves elas usam?"
- "O que acontece se a chamada do SDK falhar ou expirar? Mostre ao usuário uma mensagem clara e registre o erro."
- "Liste cada SDK e pacote do qual este app depende e para que serve cada um."
- "Verifique se algum dos nossos SDKs está desatualizado ou tem problemas de segurança conhecidos."
SDKs no Mythex
O agente do Mythex pode instalar pacotes no sandbox do seu projeto usando o gerenciador de pacotes padrão da sua stack, incluindo os SDKs dos provedores — diga o nome do pacote e a funcionalidade para a qual você o quer. Veja Usando pacotes npm. O Mythex não traz um catálogo de integrações prontas para o seu app: você guarda a chave do provedor como segredo do projeto e pede ao agente que chame o serviço pelo lado do servidor, como descrito em Integrar qualquer API.
Para a camada que fica por baixo dos SDKs, leia o que é uma API. Para dois recursos comuns baseados em SDK, veja como adicionar pagamentos ao seu app e como usar APIs de LLM.
Perguntas
O que é um SDK, em termos simples?
Um SDK (software development kit, ou kit de desenvolvimento de software) é um conjunto de código pronto, documentação e ferramentas que uma empresa oferece para que os desenvolvedores usem o serviço ou a plataforma dela com facilidade. Em vez de escrever cada requisição a uma API à mão, você chama funções simples que o SDK já fornece.
Qual é a diferença entre um SDK e uma API?
Uma API é o conjunto de regras para conversar com um serviço — as requisições que ele aceita e as respostas que devolve. Um SDK é um kit construído em cima dessa API, geralmente para uma única linguagem de programação, que faz essas requisições por você e cuida de detalhes como autenticação, novas tentativas e formatos de dados.
Os SDKs são gratuitos?
A maioria dos SDKs de serviços web pode ser baixada gratuitamente e é de código aberto, mas o serviço ao qual eles se conectam pode cobrar pelo uso. Usar o SDK da Stripe ou da OpenAI não custa nada por si só; os pagamentos ou as requisições de IA que ele faz são cobrados pelo provedor.
Um SDK é seguro de usar?
SDKs oficiais do provedor são, em geral, a forma mais segura de chamar o serviço dele, já que são mantidos e cuidam dos detalhes de segurança. Instale-os pelo registro oficial de pacotes, mantenha-os atualizados e tenha cuidado com pacotes não oficiais de nomes parecidos.