Simples app de Pokedex (catálogo de Pokemóns) que consome dados da api do pokeapi.co para exibir uma lista de Pokemóns e alguns de seus detalhes.
Foi utilizado o framework React Native o desenvolvimento do app.
Para buildar a aplicação, basta ter o npm e o node instalados e rodar npm install
(para versões 7+ do npm, talvez seja necessário rodar npm install --legacy-peer-deps
).
Para rodar em um emulador Android ou num dispositivo conectado via adb em modo debug, por exemplo, basta possuir o ambiente configurado para tal (emulador instalado, Android SDK, adb, etc.), e conectar o dispositivo ou abrir o emulador.
Para verificar se o dispositivo está conectado via adb, basta adb devices
. O identificador do dispositivo deve ser listado no output do comando.
Para rodar a aplicação, basta rodar npm start
(o que é equivalente a rodar react-native start
).
Isso irá rodar um server do Metro Bundler localmente.
Com o server rodando, abra uma outra sessão do terminal e rode o comando npm run android
(que é o equivalente a rodar react-native run-android
) para rodar o app no dispositivo conectado.
Ao implementar o Pokédex, algumas decisões de projetos foram tomadas para melhorar a usabilidade e código do projeto, como por exemplo:
-
Foi considerado utilizar um manejador de estados, como o Redux, por exemplo, porém devido à baixa complexidade do app, foi decidido não utilizar enquanto.
-
Na tela de listagem de Pokemóns, foi decidido já requisitar os detalhamentos do Pokemón juntamente na lista, para poder exibir o tipo do Pokemón já na nesta tela, e para que o tempo de resposta não ficasse muito grande foi decidido fazer a paginação, utilizando um Infinite Scroll trazendo de 6 em 6 resultados, à medida em que o usuário desce na lista. Um outro ponto positivo disso é que o tempo de resposta para abrir a página de detalhe do Pokemón vai ser menor, pois os dados já são carregados previamente.