No início de 2017 eu defini o objetivo de colocar três apps próprios até o fim do ano nas lojas de aplicativos.
Quando chegou em maio, percebi que não tinha nenhum, então decidi partir pra cima desse objetivo.
A muito tempo eu vinha pensando num aplicativo (sem fins lucrativos) que pudesse ajudar as pessoas a se tornarem seres humanos melhores. Talvez um pouco utópico
, eu sei.
Seja Grato!
Esse aplicativo é o Seja Grato! A algum tempo eu venho me esforçando pra ser um ser humano melhor. Sim, eu quero saber mais linguagens de programação, ir a mais eventos, fazer paradas f*das com mais eficiência e eficácia, mas também não quero ser um babaca.
Nessa pegada, ano passado eu li 12 livros, a maioria sobre mudança de mindset, e esse ano eu continuo na saga. E, depois de ler muitos livros encontrei padrões de comportamento nas pessoas de sucesso. Uma dessas características é a gratidão. Não vou me aprofundar muito sobre o assunto, mas as pesquisas sobre hábitos relacionados a gratidão são irados, tem um pouco mais sobre o assunto aqui.
A arquitetura
Versão do Ionic
Bom, eu defini usar o meu amor, lindo, gatão Ionic. Nos projetos que tem pintado pra mim, ainda percebo uma resistência a usar o Angular 2 com TypeScript e tudo mais. Então, defini usar o Ionic 1 pra usar um pouco mais do Angular 1, conhecer melhor seus problemas e tudo mais.
Banco de Dados
Como base, eu decidi usar um BaaS. Backend as a Service, é um serviço que faz a ponte do back com o front, podemos dizer assim. Como prós nós temos uma aceleração na criação de aplicações mobile e web e uma simplificação na criação de APIs.
Com BaaS o desenvolvedor pode abstrair completamente a infraestrutura do lado do servidor. Isso permite que os desenvolvedores se concentrem na experiência do usuário (UX) em vez de lidar e se preocupar com a infraestrutura e codificação do backend.
Outro pró que eu gostaria de citar é a curva de aprendizagem. O tempo de aprendizado para a utilização de um BaaS é pequeno, relativo a plataformas backend, e isso permite que para alguns sistemas, um desenvolvedor Frontend ou Mobile desenvolva um projeto inteiro sozinho.
Até em projetos maiores, o desenvolvedor backend pode focar sua expertise em atividades com mais alto valor agregado.
Como desvantagem, você não controla todo o código fonte, e o acesso ao backend é mais restrito.
Como a ideia era fazer algo rápido, e que permitisse escalabilidade eu usei o menino Firebase, da Google.
Fluxo de Telas
Bom, atualmente o app tem 8 telas e meia (uma é o menu). Apesar de ter uma queda pra design, eu não me considero extremamente criativo visualmente para criar uma interface. Eu tenho facilidade para customizar uma interface, propor melhorias de usabilidade e outros. Mas criar a paleta de cores e outros, não é zona de conforto pra mim. E aí tive a ajuda de minha amiga linda e designer Érica (obrigado <3). Mas pra pensar na usabilidade, nos padrões visuais de cada sistema, eu usei o Ionic Creator.
Plugins
Se você já desenvolveu com Ionic, ou Cordova/PhoneGap você sabe que, para se utilizar recursos do próprio dispositivo, ou recursos externos como Analytics nós precisamos instalar plugins.
Então vai aqui a lista de plugins que eu utilizei. Em tempo de desenvolvimento, eu instalei e desinstalei vários plugins testando sua capacidade e até os problemas que podiam dar. Mas a lista dos plugins que foram pra versão de lançamento do app (além dos que o Ionic já traz nativamente) é:
Eu me esforcei em usar o menor número de plugins possíveis visando um bom desempenho e que o .apk não ficasse muito grande na loja.
Lojas de Apps
Windows Store
Sim, ainda existem pessoas que utilizam Windows Phone/Mobile. Triste? Talvez, mas, pra você colocar um aplicativo na loja da Microsoft, atualmente você vai gastar R$ 70.
Apple Store
Atualmente, você vai gastar uma média de R$ 350, por ano. Lembrando que você vai precisar de um Mac pra desenvolver. (Dá pra desenvolver sem? Dá. É fácil? Não.)
Mais detalhes da conta de desenvolvedor da Apple aqui.
Play Store
Você sabia que o Android é o sistema operacional mais usado no mundo (sim, mais que o Windows Desktop)? Sabia também, que no Brasil, 95% dos smartphones vendidos são Android? É óbvio que no meu caso, é um app quase que de teste, e tem o fator custo também. Mas, quando você for desenvolver qualquer coisa, primeiro pense no público que você quer atingir. Depois pense se a prioridade é rodar no IE8, Android ou iOS, beleza?
Atualmente você vai gastar uns R$ 90 para ter a conta de desenvolvedor do Google, por ano.
Resumão
Coloquei um app simples, na Play Store (clica aqui pra ver na loja), com 20 dias de desenvolvimento (no meu tempo livre, afinal é um projeto paralelo) mesmo sem nunca ter mexido com Firebase, e atualmente mexendo muito pouco com Angular 1. E não, não estou dizendo isso pra você ver que eu sou bom. Estou dizendo isso pra você ver que é possível. Bora lá!
E aí, tem algum app em alguma loja?
Deixa aí nos comentários pra gente dar uma olhada!