Executando verificação de segurança...
1

[POC] YouTube sem feed nem vídeos recomendados ▶️ | Parte 2

CleanyTube

Open Source Love
PRs Welcome

Há alguns dias atrás eu publiquei um post aqui sobre a ideia de criar uma versão do YouTube sem feed e nem vídeos recomendados e resolve seguir com a ideia para brincar um pouco com React Native e eu vim aqui contar um pouco da experiência. Caso queria ver o código, basta acessar esse repositório.

Como eu construi a interface?

Para construir a parte visual do aplicativo, eu utilizei os componentes do nativebase.io e para navegação, usei o React Navigation. Eu tentei deixar tudo o mais simples possível, até mesmo pela minha falta de experiência em desenvolvimento mobile.

Como eu obtenho os dados do YouTube?

Quando eu mencionei a ideia aqui, algumas pessoas perguntaram como eu pretendia reimplementar o YouTube. Nem eu mesmo sabia. Mas tentei mesmo assim. Como a API que o Google Cloud disponibiliza para acessar o YouTube é limitada a única alternativa que eu pensei foi usar Web Scrapping. O que mais me ajudou nessa parte foi o código desse repositório. Como além de tudo eu precisava cortar custos eu não poderia usar uma API para isso, foi então que eu tive uma ideia: tentar fazer isso direto pelo app. Foi meio difícil mas foi muito legal quando deu certo 😀. O que eu faço é fazer uma requisição com axios para receber o HTML da página de resultados da busca.

foto do terminal

O legal é que há alguns segredos dentro dos scripts da página, como a informação de alguns resultados. Com isso eu uso RegEx para obter somente o objeto JSON com os dados e depois fazer um parse nele. O difícil foi perceber que eu precisaria mandar também os mesmos headers que meu computador manda, pois com o HTML que o celular recebia era bem diferente.

Meu aprendizado

Eu achei que fosse impossível fazer fazer esse projeto sem utilizar a API oficial mas deu certo. Achei que fosse impossível fazer isso sem backend mas deu certo. Eu também achei que não fosse conseguir publicar um quase clone do YouTube na PlayStore, mas até que eu consegui hehehe. Então, brinque um pouco com suas ideias porque como já dizia aquela canção, "O impossível é só questão de opnião".

Como rodar no iOS

Eu não tive como publicar na App Store porque taxa para ter a conta de desenvolvedor lá é muito mais alta e eu não tive como pagar. Se vc quiser testar, vc pode baixar o expo go (que serve para testar apps React Native no celular) e usar esse QR Code para acessar o app:

Meu pedido

O aplicativo foi apenas um teste. Ele logicamente não tem como ser tão bom como o YouTube e talvez não funcione direito no seu dispositivo. Eu testei principalmente no iPhone, pois é o aparelho que tenho, mas eu só pude publicar na Google Play por questão de custo. Eu só peço que se quiser falar algo, fale aqui ou no GitHub e não fique humilhando o app na loja, Ok?