Executando verificação de segurança...
3
ropacz
2 min de leitura ·

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!

Carregando publicação patrocinada...
1

Parece bastante interresante a forma de criar a API, principalmente usando o Typescript que auxilia bastante na hora do desenvolvimento, poderia trazer mais com mais complexidade, seria muito legal vê como ele pode nos ajudar no dia a dia.