`npm install`
`npm start`
Copie os modelos existentes
- useUsers: exemplo concreto
- useAnything: exemplo generico
O primeiro passo é criar uma nova branch a partir da main.
O codigo html chama hooks para receber dados externos à aplicação. O hook por sua vez usa a biblioteca de requests que preferir. Desde que ele retorne um objeto {data, isLoading, error} tudo bem.
Podemos criar um novo hook no mesmo repositorio, de tal forma que a nova implementação acione o mesmo endpoint do backend, mas usando uma forma de request diferente. Por exemplo, removendo o useQuery do rect query de dentro do hook e colocando uma chamada direta para o fetch do javascript. Assim fazemos a troca de uma lib pra outra para compararmos.
Ja a diversidade dos testes pode ser obtida adicionando mais hook. Assim variando o payload e os tamanhos de response que devolvemos no backend.
Por hora, a unica medição de performance que está sendo feita é a de quanto tempo leva a execução do hook, ou seja, quanto tempo ele leva para receber o chamado, executar o request da maneira desejada e então retornar.
Nota: no nosso caso, o useQuery do react query também depende da implementação do request para api usando o fetch. Então substituir o react quey pelo fetch fica ainda mais simples. Basta remover a parte relativa a essa lib e fazer tudo usando a funçaão de chamada de api independentemente.