Descubra o sdkgen: Faça APIs sem esforço! 🚀
Olá, comunidade! Já conhece o sdkgen? Essa ferramenta é incrível para desenhar e implementar APIs repletas de recursos, sem demandar um grande esforço. O processo é tão suave quanto degustar um café fresquinho passado na hora! ☕️
Recursos incríveis:
- Utiliza uma linguagem de descrição de contrato de API com tipagem forte.
- Disponibiliza bibliotecas para uso no servidor (Node.js e .NET Core) e no cliente (Web, Android nativo, Node.js e Flutter).
- Conta com um playground interativo para explorar e testar chamadas.
- Permite a criação de endpoints no formato REST, incluindo a geração automática do Swagger com apenas uma linha de código!
Características que vão te conquistar:
O sdkgen se destaca pela simplicidade e facilidade de uso, evitando surpresas desagradáveis. Ele é um protocolo de transporte que não interfere na arquitetura do seu projeto (assim como gRPC, REST ou GraphQL). Veja um exemplo da linguagem:
type User {
id: uuid
email: string
name: string
}
fn login(email: string, password: string): User
fn logout()
fn me(): User
Primeiro projeto (em Node.js):
Se você deseja começar com o pé direito, aqui está um exemplo rápido para o servidor:
npm init -y
npm i --save-dev typescript @sdkgen/cli
npm i @sdkgen/node-runtime
npx tsc --init -t esnext
Agora, crie o arquivo de descrição da API (api.sdkgen):
type Post {
id: uuid
title: string
body: string
createdAt: datetime
author: {
name: string
}
}
fn getPost(id: uuid): Post?
Execute o comando para gerar o código TypeScript:
npx sdkgen api.sdkgen -o api.ts -t typescript_nodeserver
E, finalmente, o arquivo principal da sua aplicação (index.ts):
import { SdkgenHttpServer } from "@sdkgen/node-runtime";
import { api } from "./api";
api.fn.getPost = async (ctx, { id }) => {
return {
id,
title: "Primeira postagem",
author: {
name: "John Doe",
},
body: "Lorem ipsum",
createdAt: new Date(),
};
};
const server = new SdkgenHttpServer(api, {});
server.listen(8000);
Construa e execute a aplicação:
npx tsc
node index.js
Agora, abra o playground no seu navegador em http://localhost:8000/playground e experimente chamar a função. Facinho, né?
Para projetos maiores, é recomendável estruturar tudo de maneira organizada, dividindo em controllers e facilitando a injeção de dependências. E olha só, o sdkgen é desenvolvido por brasileiras e é totalmente de código aberto! 😎
Eu mesmo utilizei o sdkgen enquanto trabalhava na Zig Fun, e posso garantir que fez toda a diferença na agilidade do desenvolvimento. APIs robustas e sem complicações!
Uma das mentes brilhantes por trás do sdkgen é Guilherme Bernal. Ele não é apenas alguém comum, mas sim um talentoso desenvolvedor. Guilherme foi duas vezes finalista mundial da Baylor's ACM International Collegiate Programming Contest, em 2017 e 2018, representando a UFBA (a primeira participação baiana no evento). Se quiser dar uma olhada nos projetos dele, confira aqui.
Não deixe de conferir o site oficial para mais detalhes. E claro, espero que aproveitem!