Tenho uma aplicação que precisa validar se o usuário está usando desktop ou mobile.
Atualmente isso é identificado pelo tamanho da tela (se menor que X é Mobile), mas precisava de algo mais eficaz, pois se abrirem o browser em tela mentor, muda para mobile (falso).
Pesquisei sobre o navigator.userAgent, mas não sei se é o melhor dos cenários, pois não sei se atende em todos os Browsers ou se teria uma solução melhor para isso.
Aqui onde trabalho fazemos pelo userAgent, usamos nginx(servidor proxy http) e adicionamos um parametro no userAgent, vou te passar o bloco de conf no nginx, vc pode configurar o teu parecido(mesmo em outros server)
O motivo que recomendaram usar uma biblioteca é porque no mundo JS é mais fácil importar uma biblioteca de terceiro até para as coisas mais triviais, como usar regex numa string. Mas você chegou a ler o script pra ver o que ele usa? Dica: ele usa a informação do user-agent.