Desafio aceito. Fazendo uma app do Dribbble do zero

Um amigo me enviou esse desafio, eu aceitei.

Imagem de capa

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.

Tom Cruise atendendo o celular Sua missão, caso deseje aceitá-la é: fazer uma app do Dribbble com as seguintes funcionalidades.

Seu aplicativo deve conter

Imagem de exemplo do aplicativo

Bonus

Bom, como eu precisava minhas novas habilidades de iOS.

Meme Challenge Accepted

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.

Tela de abertura do aplicativo SimpleDribbble

A lista de shots ficou assim.

Tela de inicial do aplicativo SimpleDribbble

Quando você seleciona um desses shots (e somente dentro do shot, não na célula toda), você tem esse efeito.

Exemplo de transição quando o usuário clica no elemento

Quando a requisição falha.

Mensagem quando ocorre um erro

Quando você sai do aplicativo antes dele carregar algum shot e o aplicativo volta do background, a lista é automaticamente carregada.

Tela com loading

Quando o shot está carregando, tem esse placeholder com um ícone do Dribbble girando pra representar que está carregando a imagem.

Exemplo de elemento com placeholder

Quando você já viu todas as páginas e faz um pull to refresh.

Tela com Pull to Refresh

Tela com Pull to Refresh

Tela quando não há mais atualizações

Quando todas as páginas já foram vistas e você tenta carregar mais.

Mensagem quando não há mais shots para carregar

E então, a tela de detalhes.

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!