Master
Técnicas

Tipos compartilhados de UI/BFF

Published: Apr 13, 2021
Apr 2021
Experimente?

Com TypeScript se tornando uma linguagem comum para desenvolvimento de front-end e Node.js se tornando a tecnologia preferida para BFF, estamos observando um aumento no uso de tipos compartilhados de UI/BFF. Nesta técnica, um único conjunto de definições de tipo é usado para definir tanto os objetos de dados retornados por consultas de front-end quanto os dados servidos para satisfazer essas consultas pelo servidor de back-end. Normalmente, abordaríamos essa prática com cautela por causa do acoplamento forte desnecessário que ela cria entre os limites do processo. No entanto, muitos times estão considerando que os benefícios dessa abordagem superam os riscos de um acoplamento forte. Uma vez que o padrão BFF funciona melhor quando o mesmo time é dono do código da UI e do BFF, geralmente armazenando ambos os componentes no mesmo repositório, o par UI/BFF pode ser visto como um único sistema coeso. Quando o BFF oferece consultas fortemente tipadas, os resultados podem ser ajustados às necessidades específicas do front-end, em vez de reutilizar uma única entidade de uso geral que deve atender às necessidades de vários consumidores e conter mais campos do que necessário. Isso reduz o risco de expor acidentalmente dados que o usuário não deveria ver, evita a interpretação incorreta do objeto de dados retornado e torna a consulta mais expressiva. Essa prática é particularmente útil quando implementada com io-ts para aplicar a segurança de tipo em tempo de execução.