Desde o início de nossa aventura com o GraphQL, ficamos impressionados com a grandeza de sua comunidade. A quantidade de conteúdo, bibliotecas e ótimas ferramentas geradas pelos usuários do GraphQL nos surpreendeu desde o início. Quanto mais tempo passávamos trabalhando com o GraphQL, mais coisas víamos que poderiam ser aprimoradas para tornar o trabalho com ele mais fácil e melhor. Também sabíamos que queríamos retribuir à sua maravilhosa comunidade.

As origens

Há três anos, estávamos trabalhando em um esquema com muitos relacionamentos complicados, então nos ocorreu uma ideia:

“Seria bom poder visualizá-lo bem o suficiente para entender todas as conexões.”

Sim, havia várias soluções no mercado que nos permitiam fazer isso, mas todo mundo sabe como isso funciona. Sempre surge a pergunta: por que não fazer isso de forma diferente, melhor e, o mais importante, do nosso próprio jeito? Alguns dias depois de dizer:

“OK, vamos fazer isso”

veio

“E se pudéssemos criar um esquema GraphQL a partir de blocos visuais?”

e foi assim que tudo começou. Começamos com a versão PoC, que incluía apenas essas duas funcionalidades, a saber:

  • Visualização do esquema GraphQL,
  • a capacidade de criá-lo usando elementos visuais.
A primeira versão do GraphQL Editor de 2018

Nosso projeto foi muito bem recebido pela comunidade GraphQL, o que resultou em um rápido acúmulo de 3 000 estrelas no GitHub. Os usuários não só ficaram felizes em usar esses dois recursos simples, mas também começaram a sugerir alguns novos recursos interessantes. Os usuários não só ficaram felizes em usar esses dois recursos simples, como também começaram a sugerir alguns recursos interessantes.

O que há de novo no GraphQL Editor 5.0

Quando começamos, tínhamos um roteiro em mente que tentamos seguir, na medida do possível. Mas, com todo o feedback adicional, também continuamos a adicionar recursos sugeridos pela comunidade, o que, depois de mais de dois anos, nos levou ao ponto em que estamos agora, ou seja, o lançamento do GraphQL Editor 5.0.

Muitos aprimoramentos no gráfico & vários modos de visualização

Portanto, mais uma vez, gostaríamos de agradecer a todos os nossos usuários pelo valioso feedback, inclusive aqueles que foram críticos, pois tudo isso realmente nos ajudou a melhorar. Então, sem mais delongas, vamos aos novos recursos.

Microsserviços

Esse é o recurso mais empolgante e também o mais solicitado. O que é ainda mais satisfatório no fato de ele finalmente ter sido lançado é que estamos tentando descobrir como lidar com ele desde a primeira versão do GraphgQL Editor. Microsserviços GraphQL permite que os usuários implementem instantaneamente seus protótipos de back-end GraphQL usando JavaScript ou TypeScript. O que vale a pena mencionar é que os microsserviços são alimentados por nossa biblioteca de código aberto chamada Stucco.

Stucco é um mecanismo de backend para nossos microsserviços. Seu principal objetivo é manter o senhor no comando de suas decisões de infraestrutura. O senhor não corre o risco de ficar preso a um fornecedor, não se preocupe. Com o Stucco, o senhor pode usar TypeScript, JavaScript ou Golang para criar backends GraphQL e implementá-los facilmente usando:

  • Editor GraphQL Trabalhador compartilhado
  • Ambiente local
  • Docker
  • Kubernetes

Você pode implantar microsserviços diretamente do nosso Live Editor integrado (semelhante aos que você conhece das plataformas baseadas em Git), mas a maneira recomendada é fazer isso usando graphql-editor-cli. Embora os microsserviços sejam ótimos para fins de teste e desenvolvimento, não recomendamos usá-los na produção, pois eles são executados em máquinas muito pequenas com limite de taxa de 200 solicitações por minuto e 1.000.000 de solicitações por mês. Além disso, esse recurso é um trabalho em andamento e está sendo lançado principalmente porque precisamos de testadores ativos para iterar e aprimorá-lo.

Com os microsserviços, o senhor pode implementar back-ends NodeJS GraphQL usando JavaScript ou TypeScript

Mecanismo JAMStack

Embora o JAMStack tenha sido introduzido em algumas versões anteriores, nesta versão ele recebeu uma atualização significativa. Adicionamos o TypeScript e a biblioteca JS mais popular para suporte à criação de interfaces de usuário – ReactJS. Entre outros recursos notáveis, o senhor pode encontrar:

  • Melhor suporte a módulos ES – Basta fornecer ao nosso Live Service um URL de CDN e um carimbo; ele buscará todos os tipos do seu servidor e também procurará por tipificações,
  • importações relativas de módulos ES – agora o senhor pode ter importações de módulos ES relativas ao usuário dentro do nosso editor de código on-line,
  • implantação – recurso integrado de implantação de página estática para exibir facilmente seu trabalho para sua equipe ou para um público mais amplo.
JAMStack com ReactJS, suporte a TS & implantação estática fácil

Nuvem GraphQL

Queremos que o GraphQL Editor se torne um IDE autossuficiente para o desenvolvimento de projetos baseados em GraphQL. Seguindo esse objetivo, estamos adicionando cada vez mais “responsabilidades” às nossas ferramentas. Agora o senhor pode:

  • criar suas próprias consultas com facilidade,
  • visualize facilmente usando o GraphiQL incorporado,
  • salve e acesse seu trabalho sempre que precisar, de qualquer dispositivo.

Também adicionamos um proxy para dar suporte a todos os problemas de URL GraphQL & CORS que frequentemente aparecem durante o desenvolvimento.

O GraphQL Cloud oferece visualização de consultas semelhantes ao GraphiQL, back-end simulado configurável & suporte a CORS

Por último, mas não menos importante

Além dos recursos principais, também estamos trabalhando em algumas melhorias de qualidade de vida, como:

  • Melhorias no gráfico – O módulo de gráficos foi significativamente aprimorado:
    • A criação de nós & campos agora é muito mais rápida graças ao suporte do teclado,
    • A visualização de relação inclui todos os campos escalares,
    • o estado do nó selecionado persiste entre as visualizações,
    • a visualização do editor de código pode ser alternada a qualquer momento agora,
  • Menu Spotlight (CTRL/CMD + K) – O menu Spotlight foi adicionado para facilitar a navegação,
  • Temas de cores – adicionamos 4 novos temas de cores,
  • Centro de aprendizado – A partir de agora, a cada início, o senhor será recebido com projetos recentes e um centro de aprendizado para aprimorar suas habilidades de editor,

além de várias correções de bugs e pequenas melhorias na interface do usuário.

Gráfico aprimorado com modos de visualização adicionais

Então, basicamente, é nisso que temos trabalhado nos últimos 12 meses. Devo dizer que é ótimo poder finalmente compartilhar todos esses novos recursos com um público mais amplo (obrigado, David!). Se o senhor já estiver usando o GraphQL, eu adoraria ouvir seu feedback; caso contrário, espero que o GraphQL Editor torne o trabalho com ele ainda mais eficiente:

Se o senhor começar a seguir o caminho do GraphQL, ele dominará seu destino para sempre.

Tomek Poniatowicz

Sobre Tomek Poniatowicz

Explorador digital & entusiasta de GraphQL. Jogando Magic the Gathering & assando pizza caseira entre as postagens do blog.