Relatos

Diário de um projeto: PCMobile

Dando sequência à série “Diário de um projeto”, apresentamos agora a história do primeiro aplicativo Android criado pela Comunidade Tá safo: o Palestras Coletivas Mobile, ou simplesmente PCMobile.

PCMobile é o cliente móvel para a plataforma Palestras Coletivas. O objetivo do projeto é trazer o usuário informado sobre as atualizações de eventos de tecnologia, palestras e workshops que estejam acontecendo na cidade, divulgadas pelo site Palestras Coletivas.

Tela do Palestras Coletivas Mobile
Palestras Coletivas Mobile no Google Play

Motivação histórica

Muito além de buscar ser uma solução para um problema real, todo o esforço de criação da plataforma Palestras Coletivas e abertura de seu código-fonte também representou uma injeção de ânimo e uma motivação para resgate do espírito de colaboração mútua e compartilhamento de conhecimento que era comum nos primórdios da comunidade Tá safo.

No entanto, muitos ainda viviam suas ocupações profissionais, de forma que se falava bastante em se criar e compartilhar projetos na mesma linha, mas durante muito tempo pouco se avançou de concreto.

Uma das principais lacunas era a falta de substância e propriedade quando se falava, por exemplo, sobre desenvolvimento de aplicações móveis especialmente num discurso motivacional para novatos e futuros graduandos das faculdades de computação.  Lembrando um discurso de Fábio Aguiar, apesar de o tema de desenvolvimento de aplicações para celular seja em Android ou iOS começar a ficar recorrente nos eventos da comunidade, o fato era de que em matéria de desenvolvimento quase nunca falávamos o que de fato vivíamos. Havia muitas pessoas bem capacitadas, com níveis de conhecimentos, personalidades, ocupações profissionais e acadêmicas muito distintas, de forma que praticamente todos os esforços na linha de desenvolvimento mobile eram particulares e individualizados e não se conseguia evoluir na criação de uma base de código de algum projeto que pudesse ser compartilhado e evoluídos de forma colaborativa.

De volta ao lançamento do Palestras Coletivas, na falta sequer de alguma ideia consensual para algum aplicativo móvel do Tá safo, pensou-se que uma simples portagem do Palestras Coletivas poderia ser útil para se iniciar uma linha de desenvolvimento para smartphones e tablets junto a iniciantes, novatos e calouros entusiastas na tecnologia.

Assim, iniciando estudos por conta própria na plataforma Android, quase como uma prova de conceito, decidi tentar dar vida a um cliente móvel para o Palestras Coletivas. Nascia assim o Palestras Coletivas Mobile, ou apenas PCMobile.

Detalhes do projeto

Na época, estava começando a tentar aprender mais sobre desenvolvimento para celulares.  Comprei alguns livros mas logo percebi a primeira dica útil para quem quer iniciar no desenvolvimento Android: a documentação oficial é a melhor fonte de informação.  Por melhores que sejam os livros, como a evolução do Android têm sido muito intensa desde sua criação até hoje, qualquer livro que você compre provavelmente estará defasado pouco depois do seu lançamento.

Também procurei alguns cursos online e presenciais por conta própria para tentar me aprofundar no desenvolvimento Android. Cursos presenciais valem muito a pena especialmente pela real troca de experiências com instrutores especialistas no assunto.  Volta-se novamente ao fato de que logo se percebe que muitos instrutores referências no assunto são os que mais aparecem esclarecendo dúvidas e compartilhando informações sobre o assunto em fórums e portais da internet, no caso do Android, como o fórum do GUJ e o StackOverflow.

A primeira versão do PCMobile, que ainda está no ar, consiste simplesmente em manter atualizadas para consulta via celular as listas de eventos que ocorriam, divulgados no Palestras Coletivas, como forma de se ajudar na divulgação dos mesmos.  No entanto, o Palestras Coletivas não possibilitava a consulta desses dados de fora da aplicação web.  Assim, foi aberto um tíquete com uma sugestão de melhoria no repositório do Palestras Coletivas para que ele provesse essa listagem, no caso, via JSON. E a colaboração interprojetos e principalmente entre os desenvolvedores começava a dar seus primeiros passos.

Na ocasião, na verdade, ainda não se sabia muito bem como lidar com pull requests no Palestras Coletivas. Havia os que sugeriam um protocolo para abertura e fechamento de chamados, havia os que eram favoráveis a primeiro se desenvolver toda uma API para interfaceamento, e havia os que eram favoráveis a simplesmente implementar e testar os patches submetidos, aceitá-los onde fosse o caso e ter a nova funcionalidade em consideração na evolução do sistema, sem gargalos e sem muitas dependências pessoais.

No caso, como Ruby on Rails é um framework popular justamente pela facilidade com que aborda certos aspectos do desenvolvimento web, mesmo quem está iniciando no mesmo logo se depara com o conceito de formato de renderização de views (o famoso respond_to). Bastou então sugerir um patch com essa linha de código ao Palestras Coletivas.  Uma curiosidade era que, para testes beta do PCMobile, enquanto o Palestras Coletivas não colocava o pull request sugerido em produção, como seu código-fonte está disponível, acabei fazendo um fork do mesmo com uma cópia local dos dados e com o respond_to para a listagem dos eventos exatamente como precisava para o PCMobile.  E assim, certamente ainda muito simples e feioso, mas com uma grande estrada pela frente para evoluir até o futuro, o PCMobile era lançado e publicado oficialmente para download no Google Play. Seu desenvolvimento efetivo levou pouco mais de uma semana.

E assim está por hora.  No momento obviamente é um código que ainda tem muito por evoluir, mas é certo que o objetivo de quebrar a inércia inicial, apresentar conceitos da programação para dispositivos móveis, iniciar no desenvolvimento e ter afinal um case de um produto Android do Tá safo! foi cumprida com este MVP do Palestras Coletivas Mobile.  Não é um produto acabado e não tem intenção de ser.  Mas sim seu objetivo é apresentar aos não-iniciados como a introdução à programação para Android pode ser fácil e rápida.  Seu código é simples mas apresenta vários conceitos úteis, inclusive das bibliotecas de compatibilidade com versões anteriores do Android (appcompat_v7). O mesmo está disponível online sob licença GPL a qualquer um que queira se iniciar no desenvolvimento Android.

Mesmo com recursos simples e algumas limitações, os conceitos podem ser bastante úteis para uma ampla variedade de aplicações.  Como exemplo, o PCMobile serviu de inspiração para um pequeno, funcional e elegante aplicativo não-oficial do evento DevFest Norte 2014, ocorrido no início do mês, conforme se pode ver abaixo.

Aplicativo com logotipo do evento
Aplicativo com logotipo do evento

Listagem de palestras do aplicativo
Listagem de palestras das trilhas do evento no aplicativo

Como curiosidade final, boa parte do código do Palestras Coletivas Mobile foi desenvolvida enquanto aguardava em filas de banco, salas de espera e caixas de supermercado com o ambiente AIDE para se desenvolver aplicativos Android no próprio Android \o/.  A propósito, o primeiro aplicativo para celular que de fato fiz questão de comprar 🙂

Por hora é isso.  Não deixe de comentar sobre como foram suas experiências ao iniciar na programação Android.  Nos vemos nos próximos projetos.  Até lá!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *