Guias

O que é um SDK? Kits de desenvolvimento de software explicados de forma simples

Um SDK (kit de desenvolvimento de software) é um kit pronto a usar que uma empresa oferece aos programadores para que possam usar o seu serviço ou plataforma sem construir tudo do zero. Normalmente inclui uma biblioteca de código para uma linguagem de programação específica, documentação e exemplos e, por vezes, ferramentas extra, como utilitários de teste. Quando a sua app «usa o SDK da Stripe», significa que o seu código chama as funções já prontas da Stripe, em vez de escrever à mão cada pedido à API da Stripe.

Porque é que os SDK importam quando cria com IA

Quando pede a um criador com IA para acrescentar pagamentos, chat com IA, mapas ou email, ele normalmente instala o SDK desse fornecedor e escreve algumas linhas que o chamam. Saber o que é um SDK ajuda-o a:

  • Perceber o que está a ser acrescentado ao seu projeto. Um SDK é uma dependência — código externo do qual a sua app passa a depender.
  • Identificar a configuração que precisa. Quase todos os SDK precisam de uma chave de API, e muitos têm versões separadas para «servidor» e «navegador», com regras diferentes sobre que chaves são seguras de usar.
  • Pedir a coisa certa. «Usa o SDK oficial da Stripe no servidor» é uma instrução mais clara do que «acrescenta a Stripe».
  • Ler erros. Muitos erros em apps criadas com IA vêm de um SDK mal configurado, desatualizado ou usado no sítio errado.

Uma analogia do dia a dia

Imagine que quer montar umas prateleiras.

  • A API são as regras do edifício: que paredes aguentam parafusos, que peso suportam, onde estão as canalizações. Podia trabalhar só com essas regras, medindo e furando tudo por conta própria.
  • O SDK é um kit de prateleira desmontável da mesma empresa que construiu as paredes: peças já cortadas, os parafusos certos, uma fixação que encaixa exatamente nas paredes deles e um manual de instruções.

Ainda decide onde vai a prateleira e o que lá se põe. O kit só o poupa a cortar madeira e a adivinhar tamanhos de parafusos — e é menos provável que acabe com um furo num tubo de água.

SDK vs API vs biblioteca vs framework

Estes termos sobrepõem-se, e isso confunde muita gente:

TermoO que éExemplo
APIAs regras para comunicar com um serviço: que pedidos aceita e o que devolveAPI REST da Stripe em api.stripe.com
SDKO kit do fornecedor para usar a sua API ou plataforma a partir de uma linguagem concreta, com documentação e ferramentasBiblioteca oficial da Stripe para Node.js
BibliotecaQualquer código reutilizável que acrescenta a um projetoUm pacote para formatar datas
FrameworkUma estrutura maior dentro da qual toda a app é construídaReact, Next.js, Django

Um SDK normalmente contém uma biblioteca, e essa biblioteca normalmente chama uma API. Num serviço web, «SDK» e «biblioteca cliente» são muitas vezes usados como sinónimos.

Alguns SDK não têm nada a ver com serviços web. A Apple e a Google publicam SDK para criar apps para iOS e Android, que incluem compiladores, simuladores e código da plataforma. A ideia é a mesma: tudo o que precisa para criar para a plataforma deles, num só kit.

O que um SDK faz por si

Aqui está a mesma tarefa — criar um cliente num fornecedor de pagamentos — feita de duas maneiras.

Sem SDK, o seu código tem de construir ele próprio o pedido HTTP: definir o URL, pôr a chave secreta no cabeçalho certo, formatar os dados como a API espera, enviar, verificar o código de estado, interpretar a resposta e tratar as 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 trata de:

  • Autenticação — anexar corretamente a sua chave a cada pedido
  • 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 estado em tipos de erro claros que o seu código consegue apanhar
  • Novas tentativas — tentar de novo, em segurança, quando um pedido falha por motivos temporários (muitos SDK oficiais fazem isto)
  • Tipos — em TypeScript, indicar ao editor que campos existem, para que os erros apareçam antes de executar o código

Um exemplo prático: respostas de IA numa app de apoio ao cliente

Pede a um criador com IA: «Quando um cliente submeter um pedido de apoio, gera uma resposta sugerida com um modelo de IA.»

  1. A IA instala o SDK oficial do fornecedor do modelo como pacote no seu projeto (em projetos JavaScript, a partir do registo npm).
  2. Acrescenta a chave de API do fornecedor como segredo do projeto. O SDK lê-a de uma variável de ambiente no servidor.
  3. A IA escreve uma rota no servidor que chama o SDK com o texto do pedido e uma instrução curta, e guarda a resposta sugerida na base de dados.
  4. O navegador nunca vê a chave; só chama a rota do seu próprio servidor.

Se o fornecedor mudar mais tarde a API, normalmente lança uma nova versão do SDK. Atualizar o pacote — e verificar as notas de versão para alterações que quebrem o código — costuma ser tudo o que é preciso.

Termos-chave

TermoSignificado
DependênciaCódigo externo do qual o seu projeto depende. Um SDK é um deles.
Pacote / gestor de pacotesUm conjunto de código descarregável, e a ferramenta que o instala (npm para JavaScript, pip para Python).
Biblioteca clienteCódigo que facilita a chamada a uma API específica. Muitas vezes é isto que «SDK» significa nos serviços web.
SDK do lado do servidorCorre no seu backend e pode usar chaves secretas em segurança.
SDK do lado do cliente / do navegadorCorre no navegador do utilizador. Só recebe chaves públicas ou «publicáveis».
VersãoCada lançamento de SDK tem um número (como 4.2.0). Saltos grandes costumam significar alterações que quebram o código.
Alteração que quebraUma atualização que obriga a mudar o seu código.
Changelog / notas de versãoA lista de alterações do fornecedor em cada versão.

Ideias erradas comuns

  • «Um SDK e uma API são a mesma coisa.» A API é a interface do serviço; o SDK é uma camada de conveniência por cima. Pode chamar a maioria das APIs web sem SDK — dá apenas mais trabalho.
  • «Se o SDK está instalado, a integração está feita.» Ainda precisa de uma conta no fornecedor, das chaves certas e de código que trate do que acontece quando as coisas falham.
  • «Qualquer pacote com o nome certo é o oficial.» Por vezes, atacantes publicam pacotes com nomes parecidos. Confirme na documentação do fornecedor 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. As chaves secretas pertencem apenas ao código do servidor — veja como manter as chaves de API seguras.
  • «Os SDK nunca precisam de atualização.» As versões antigas deixam de receber correções e acabam por deixar de funcionar quando os fornecedores retiram versões antigas da API.

O que pedir ao seu criador com IA

  • «Usa o SDK oficial do fornecedor, não um wrapper de terceiros. Diz-me o nome exato do pacote e a versão que instalaste.»
  • «Usa o SDK apenas no servidor e lê a chave a partir de uma variável de ambiente.»
  • «Que partes deste SDK correm no navegador, e que chaves usam?»
  • «O que acontece se a chamada ao SDK falhar ou expirar? Mostra ao utilizador uma mensagem clara e regista o erro.»
  • «Lista todos os SDK e pacotes de que esta app depende e para que serve cada um.»
  • «Verifica se algum dos nossos SDK está desatualizado ou tem problemas de segurança conhecidos.»

SDK no Mythex

O agente do Mythex pode instalar pacotes no ambiente do seu projeto usando o gestor de pacotes normal da sua stack, incluindo os SDK dos fornecedores — indique o pacote e a funcionalidade para que o quer. Veja Usar pacotes npm. O Mythex não traz um catálogo de integrações pré-construídas para a sua app: guarda a chave do fornecedor como segredo do projeto e pede ao agente que chame o serviço do lado do servidor, como descrito em Integrar qualquer API.

Para a camada por baixo dos SDK, leia o que é uma API. Para duas funcionalidades comuns baseadas em SDK, veja como adicionar pagamentos à sua app e como usar APIs de LLM.

Perguntas

O que é um SDK, em termos simples?

Um SDK (kit de desenvolvimento de software) é um conjunto de código pronto a usar, documentação e ferramentas que uma empresa disponibiliza para que os programadores usem o seu serviço ou plataforma com facilidade. Em vez de escrever à mão cada pedido a uma API, 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 comunicar com um serviço — os pedidos que aceita e as respostas que devolve. Um SDK é um kit construído sobre essa API, normalmente para uma única linguagem de programação, que faz esses pedidos por si e trata de detalhes como a autenticação, as novas tentativas e os formatos de dados.

Os SDK são gratuitos?

A maioria dos SDK para serviços web é gratuita e de código aberto para descarregar, mas o serviço a que se ligam pode cobrar pela utilização. Usar o SDK da Stripe ou da OpenAI não tem custo em si; os pagamentos ou pedidos de IA que ele faz são faturados pelo fornecedor.

É seguro usar um SDK?

Os SDK oficiais do fornecedor são, em geral, a forma mais segura de chamar o seu serviço, porque são mantidos e tratam dos detalhes de segurança. Instale-os a partir do registo oficial de pacotes, mantenha-os atualizados e tenha cuidado com pacotes não oficiais de nomes parecidos.

Mythex · Pricing · Crie qualquer coisa com IA · Modelos de sites e apps · Mythex comparado · Glossário de criação de apps com IA · Ferramentas grátis para criar apps com IA · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)