3 min de leitura
Desafio aceito. Fazendo uma app do Dribbble do zero
Um amigo me enviou esse desafio, eu aceitei.

Eaí galera,
Há alguns dias atrás, um amigo meu, Bruno Gabriel, me enviou um link de um recrutamento de uma empresa de tecnologia onde eles pedem aos candidatos para fazerem uma app com a API do Dribbble desenvolvendo algumas features pré-definidas e outras como bonus.
Eu fiz isso aqui.
Sua missão, caso deseje aceitá-la é: fazer uma app do Dribbble com as seguintes funcionalidades.
Seu aplicativo deve conter
- Os shots mais populares, apresentando eles como esse mock.
- Arquivo .gitignore
- Gerenciador de dependência de projeto. Ex: CocoaPods
- Framework para se comunicar com a API. Ex: AFNetworking
- Mapeamento JSON -> Objeto. Ex: Mantle
- API de lista de shots
- Paginação automática (scroll infinito) na lista de shots
- Paginação que deve detectar quando chegou na última página e para de pedir mais
- Pull to refresh
- Mostrar detalhes do shot em uma nova tela quando o shot é selecionado na lista
- A tela de detalhes do shot deve conter o nome do autor e a foto e descrição do shot
Bonus
- Testes unitários. Ex: XCTests / Spectra + Expecta
- Testes funcionais. Ex: KIF
- Ser uma app universal. Fazer funcionar com iPad | iPhone | Paisagem | Retrato (classes de tamanho)
- Cache de imagens. Ex: SDWebImage
- Compartilhar shots no Facebook e no Twitter
Bom, como eu precisava minhas novas habilidades de iOS.
Eu não fiz todas a funcionalidades bonus listadas acima, como testes e compartilhar nas redes sociais. MAS, eu fiz um layout bem legal e efeitos pra aprender coisas como views personalizadas, barra de navegação personalizada, botão de voltar personalizado, layout usando diferentes tamanhos de células numa tabela, além de bibliotecas que eu nunca tinha usado antes :)
Aqui está a tela inicial, do que eu chamei, Simple Dribbble.
A lista de shots ficou assim.
Quando você seleciona um desses shots (e somente dentro do shot, não na célula toda), você tem esse efeito.
Quando a requisição falha.
Quando você sai do aplicativo antes dele carregar algum shot e o aplicativo volta do background, a lista é automaticamente carregada.
Quando o shot está carregando, tem esse placeholder com um ícone do Dribbble girando pra representar que está carregando a imagem.
Quando você já viu todas as páginas e faz um pull to refresh.
Quando todas as páginas já foram vistas e você tenta carregar mais.
E então, a tela de detalhes.
Nessa última tela você deve ter notado três partes, as quais eu fiz usando um UITableViewController com 3 células. A primeira tem um tamanho fixo contendo a foto e o título do shot, a segunda célula também é fixa e contem a foto do autor e seu nome, e a última é flexível, contem uma web view que carrega a descrição e seu tamanho é adaptável dependendo do conteúdo.
Esse aplicativo é de longe bem simples, e você pode fazer UM MONTE de coisas legais usando a API do Dribbble, como o aplicativo nesse vídeo. Mas para fins de aprendizado, é um desafio bem legal.
Até mais!
Comentários