Desenvolvimento Android - Quanto tempo a dev leva para contruir um app

zetabyte00

Hungry Member
Registrado
Eu tenho estudado desenvolvimento Android com Kotlin já alguns meses, e já tenho feito algumas pequenas coisas. Mas nada muito interessante até agora. Na verdade, já estou tocando um projeto lateral meu para me aprimorar clonando um app já existente no mercado.

O que eu quero saber, é dos iniciantes ou quando eram iniciantes quando tempo você levam em média desenvolvendo um app (sozinho) do início ao fim.

Quem puder me fornecer um feedback legal, ficaria agradecido. Eu tenho estudado para contruir meus próprios apps e colocar na Play Store. Ainda não conclui um interessante para colocar e tentar monetizar ainda para ser sincero. Mas vou chegar lá.
 
Darei minha opinião como um simples estudante.
Ao meu ver isso depende de diversas variaveis, como por exemplo o tamanho do projeto.
Uma coisa que pode ajudar é você determinar os requisitos para dar como concluido este projeto.
Vamos supor que você esteja fazendo um aplicativo de um banco, esse aplicativo tem as seguintes funções: logar na conta e ver o saldo. Tendo esses requisitos como base você pode ter uma ideia de tempo médio que você iria gastar desenvolvendo cada uma dessas funções, de acordo com o seu conhecimento.
Requisitos de funções para logar na conta:
  • GUI pedindo o usuario e senha
    • "De acordo a minhas experiencias anteriores eu iria demorar 2 dias para fazer isso."
  • Checar se o usuario e senha que o usuario digitou esta certo
    • "Eu não tenho conhecimento sobre banco de dados, então demoraria 3 semanas para estudar sobre como fazer isso e implementar."
Dai você iria fazendo isso pra cada requisito que seu aplicativo tenha e no final você teria pelo menos uma ideia de quanto tempo iria demorar para fazer o aplicativo.

O primeiro aplicativo que publiquei na Play Store eu demorei umas 2~3 horas para fazer, já contando a parte de subir pra Play Store. Ele continha apenas uma foto, um botão e uma persistencia de dados que salvava e mostrava para o usuario quantas vezes você clicou neste botão. Pra mim foi algo simples de fazer, eu já sabia colocar uma imagem na tela, já sabia fazer botões e já sabia fazer essa persistencia. Se uma pessoa fosse fazer este mesmo aplicativo, mas sem ter esses conhecimentos previos dai ela teria mais dificuldade e provavelmente demoraria mais tempo.

Espero que tenha entendido o que citei aqui. Infelizmente não existe uma formula magica para calcular quanto tempo demoraria para fazer algo.
 
Cara depende de sua necessidade e de seu empenho. Por exemplo, estou fazendo um TCC no curso onde rola programação envolvendo microcontrolador. A maioria de tudo o que fiz foi justamente por conta de eu ter buscado conhecimento prévio e posterior ao que eu não sabia. Melhor ainda, neste projeto veio uma vontade minha de realizar a configuração toda do dispositivo via smartphone e o que foi que eu fiz? Busquei um curso no YouTube sobre Android que envolvesse o que eu já sabia e C# (que no caso foi o Xamarin) e em 30 dias aprendi o essencial de Xamarin e consegui criar este app perfeitamente funcionando exatamente o que eu buscava.

Não sou expert em front end, logo vou copiando o que vejo de mais bonito e funcional, mas isso tudo que escrevi foi para vc ter uma ideia de que dependendo do seu empenho e vontade vc consegue criar um bom app em 2 meses brincando. Quer algo mais complexo? Então este tempo aumentará, mas nada que irá fugir do lançamento do produto.

E siga as recomendações do colega acima, tudo que ele disse eu tmb concordo e vale mto!
 
Darei minha opinião como um simples estudante.
Ao meu ver isso depende de diversas variaveis, como por exemplo o tamanho do projeto.
Uma coisa que pode ajudar é você determinar os requisitos para dar como concluido este projeto.
Vamos supor que você esteja fazendo um aplicativo de um banco, esse aplicativo tem as seguintes funções: logar na conta e ver o saldo. Tendo esses requisitos como base você pode ter uma ideia de tempo médio que você iria gastar desenvolvendo cada uma dessas funções, de acordo com o seu conhecimento.
Requisitos de funções para logar na conta:
  • GUI pedindo o usuario e senha
    • "De acordo a minhas experiencias anteriores eu iria demorar 2 dias para fazer isso."
  • Checar se o usuario e senha que o usuario digitou esta certo
    • "Eu não tenho conhecimento sobre banco de dados, então demoraria 3 semanas para estudar sobre como fazer isso e implementar."
Dai você iria fazendo isso pra cada requisito que seu aplicativo tenha e no final você teria pelo menos uma ideia de quanto tempo iria demorar para fazer o aplicativo.

O primeiro aplicativo que publiquei na Play Store eu demorei umas 2~3 horas para fazer, já contando a parte de subir pra Play Store. Ele continha apenas uma foto, um botão e uma persistencia de dados que salvava e mostrava para o usuario quantas vezes você clicou neste botão. Pra mim foi algo simples de fazer, eu já sabia colocar uma imagem na tela, já sabia fazer botões e já sabia fazer essa persistencia. Se uma pessoa fosse fazer este mesmo aplicativo, mas sem ter esses conhecimentos previos dai ela teria mais dificuldade e provavelmente demoraria mais tempo.

Espero que tenha entendido o que citei aqui. Infelizmente não existe uma formula magica para calcular quanto tempo demoraria para fazer algo.
  • Você trabalha como desenvolvedor Android?
  • Você desenvolve em Android com Kotlin ou Java?
  • Quanto tempo você passou estudando para desenvolver seu primeiro projeto Android?
  • Você programa com outras linguagens?
 
  • Você trabalha como desenvolvedor Android?
  • Você desenvolve em Android com Kotlin ou Java?
  • Quanto tempo você passou estudando para desenvolver seu primeiro projeto Android?
  • Você programa com outras linguagens?
Eu não trabalho com isso, sou apenas um estudante.
Não programo em Java, nem em Kotlin.
Sou estudante de jogos digitais, em duas semanas eu já estava exportando para .apk, mas como meu foco não é nativo, a facilidade de fazer isso aumenta imensamente.
Programo em C#, Python, PowerShell e Javascript.

Tudo que falei na resposta mais acima foi para te dar uma luz, com a experiencia que eu tenho. Não tenho experiencia desenvolvendo aplicativos android de maneira nativa, mas isso de "quanto tempo vai levar" se abrange não apenas em aplicações mobile, e por isso resolvi dar minha contribuição.
Esse estudo de caso que dei foi uma aplicação simples, comigo trabalhando do jeito que achei melhor, com o intuito de saber como era o "workflow" para publicar uma aplicação na Play Store. Inclusive se eu estivesse trabalhando para alguem para fazer este mesmo aplicativo, certeza que iria demorar mais tempo pois algo mais serio teria que ter muito mais testes e outras firulas do mercado corporativo.
 
Última edição:
Sou desenvolvedor Android há mais de 5 anos, vou tentar dar meus 2 cents.

Pra sua pergunta, obviamente, depende do tamanho do app, da complexidade das features, quais APIs você pretende usar, quão complexa é a UI e quantas animações vão ter, quanto testes vai ter. Tudo isso pesa muito na hora de construir o app. Depois tem outro fator importante que é a sua experiência, e isso vai ditar quanto tempo você demora pra pensar na arquitetura, na solução dos problemas e conhecer os pitfalls famosos do Android, saber disso economiza muito tempo e dor de cabeça.

Mas vamos supor um app simples, por exemplo usar a API do OpenMovieDB pra fazer uma lista infinitamente scrollable de cartazes de filme - clica num filme e mostra uma tela detalhada com os dados do filme. No app existe persistência dos dados para que possa usar o app offline depois da primeira vez, funcionando como um cache. Tudo isso aliado a unit tests, UI tests e uma arquitetura simples usando MVVM e as libraries Jetpack do Google, Retrofit, etc. UI simples e sem muita preocupação com animação dos elementos da UI.

Eu consigo fazer esse app em 24h (3 dias de trabalho). Digo isso porque eu já fiz apps parecidos algumas vezes pra entrevistas de emprego e em média eu demoro 24h. Mas isso é porque eu já sei tudo o que eu tenho que fazer, como eu vou fazer e eu posso fazer rapidamente.

Acho que se eu usasse o novo Compose, eu conseguiria cortar uns 25% ou mais do tempo de desenvolvimento.

Porém, num cenário real, trabalhando numa empresa de desenvolvimento esse mesmo app poderia demorar umas 2 semanas (um sprint) ou mais. Devido a todo o overhead que existe - storyboarding, planning, não conflitar trabalho com o coleguinha... entre outras coisas.
 
Sou desenvolvedor Android há mais de 5 anos, vou tentar dar meus 2 cents.

Pra sua pergunta, obviamente, depende do tamanho do app, da complexidade das features, quais APIs você pretende usar, quão complexa é a UI e quantas animações vão ter, quanto testes vai ter. Tudo isso pesa muito na hora de construir o app. Depois tem outro fator importante que é a sua experiência, e isso vai ditar quanto tempo você demora pra pensar na arquitetura, na solução dos problemas e conhecer os pitfalls famosos do Android, saber disso economiza muito tempo e dor de cabeça.

Mas vamos supor um app simples, por exemplo usar a API do OpenMovieDB pra fazer uma lista infinitamente scrollable de cartazes de filme - clica num filme e mostra uma tela detalhada com os dados do filme. No app existe persistência dos dados para que possa usar o app offline depois da primeira vez, funcionando como um cache. Tudo isso aliado a unit tests, UI tests e uma arquitetura simples usando MVVM e as libraries Jetpack do Google, Retrofit, etc. UI simples e sem muita preocupação com animação dos elementos da UI.

Eu consigo fazer esse app em 24h (3 dias de trabalho). Digo isso porque eu já fiz apps parecidos algumas vezes pra entrevistas de emprego e em média eu demoro 24h. Mas isso é porque eu já sei tudo o que eu tenho que fazer, como eu vou fazer e eu posso fazer rapidamente.

Acho que se eu usasse o novo Compose, eu conseguiria cortar uns 25% ou mais do tempo de desenvolvimento.

Porém, num cenário real, trabalhando numa empresa de desenvolvimento esse mesmo app poderia demorar umas 2 semanas (um sprint) ou mais. Devido a todo o overhead que existe - storyboarding, planning, não conflitar trabalho com o coleguinha... entre outras coisas.
Já desenvolvia com outras linguaguens antes desse 5 anos com Android?
 
Já desenvolvia com outras linguaguens antes desse 5 anos com Android?
Mexi um pouco com JS, mas minha experiência desde que saí da faculdade foi com Android, inicialmente com Java e ultimamente Kotlin. Somente agora que comecei a ter experiência com iOS e Swift.
 
Mexi um pouco com JS, mas minha experiência desde que saí da faculdade foi com Android, inicialmente com Java e ultimamente Kotlin. Somente agora que comecei a ter experiência com iOS e Swift.
Tem desenvolvido apps próprios e tentado monetizar nas stores?
 
Tem desenvolvido apps próprios e tentado monetizar nas stores?

Não, nunca tive uma ideia legal ou algo que eu quis desenvolver. Só fiz apps pra aprender novos conceitos mas nunca publiquei nenhum. Na verdade por conta da minha conta do AdSense ter sido banida quando eu era menor, eu tenho menos vontade ainda de fazer algo.
 
Não, nunca tive uma ideia legal ou algo que eu quis desenvolver. Só fiz apps pra aprender novos conceitos mas nunca publiquei nenhum. Na verdade por conta da minha conta do AdSense ter sido banida quando eu era menor, eu tenho menos vontade ainda de fazer algo.
Como assim "menor"? Você quis dizer "menor de idade"?
 
Como assim "menor"? Você quis dizer "menor de idade"?
Menor = mais novo, mas sim eu era menor de idade e tinha uma conta AdSense que eu usava pra mostrar ads num fórum que eu hosteava, mas fui banido por uso impróprio.
 
Depende de uma infinidade de fatores...
Eu acho que eu tenho tendência a não avaliar fatores e tentar criar projetos acima da minha capacidade. Vou tentar redimensionar isso. Idealizar projetos bem menores e que exijam menos recursos, tanto no conhecimento, como techs. Aos poucos vou aumentando. Até mesmo para publicar alguma coisa e conseguir monetizar alguma coisa.
 
Eu acho que eu tenho tendência a não avaliar fatores e tentar criar projetos acima da minha capacidade. Vou tentar redimensionar isso. Idealizar projetos bem menores e que exijam menos recursos, tanto no conhecimento, como techs. Aos poucos vou aumentando. Até mesmo para publicar alguma coisa e conseguir monetizar alguma coisa.
Isso é normal, todo dev subestima o tanto de trabalho!
 
Kotlin, vocês tem se aventurado a estudar a linguaguem também por livros?
Se você já souber Java nem precisa, se você não souber então é legal aprender Java primeiro na minha opinião. As duas linguagens são parecidas em muitas coisas e saber Java dá uma base legal pra Kotlin.
 
Se você já souber Java nem precisa, se você não souber então é legal aprender Java primeiro na minha opinião. As duas linguagens são parecidas em muitas coisas e saber Java dá uma base legal pra Kotlin.
Eu já havia aprendido um pouco de Java na faculdade e agora estou fazendo um curso online de Java também.
Mas também já tenho estudado Kotlin, já li um dos livros de um de seus desenvolvedores e estou lendo um outro chamado Mastering Kotlin, acho que o o nome do autor é Nate.
Revirando a documentação Android, vejo que tem muitos componentes para se aprender a lidar e programar e até mesmo contruir boa UX/UI.
Na opinião de vocês a curva de aprendizado de programação Android com Kotlin é maior do que Desenvolvimento Web focado em Frontend e WP?
 
Sim, a curva de aprendizado é maior. Fora isso Android está sempre mudando, sempre se atualizando. Tem que aprender coisas novas o tempo todo.
 
Sim, a curva de aprendizado é maior. Fora isso Android está sempre mudando, sempre se atualizando. Tem que aprender coisas novas o tempo todo.
Eu atualmente tem indo direto em direção ao desenvolvimento Android com Kotlin e estou sendo sentido que a curva de aprendizado é um tanto alta.

Além de saber como programar os apps, você tem que lidar com apps de UX/UI se não seus apps não são bem recebidos por seus usuários e etc. É mais ou menos isso que tenho visto até agora e mais o que você acabou de falar. Questões de compatibilidade com vários formatos de tela de dispositivos, ou seja, preocupações de design em si que vão além do código. Mas estou seguindo em frente. Desejem-me sorte e animo nessa luta. rs.
 
Última edição:
Eu atualmente tem indo direto em direção ao desenvolvimento Android com Kotlin e estou sendo sentido que a curva de aprendizado é um tanto alta.

Além de saber como programar os apps, você tem que lidar com apps de UX/UI se não seus apps não são bem recebidos por seus usuários e etc. É mais ou menos isso que tenho visto até agora e mais o que você acabou de falar. Questões de compatibilidade com vários formatos de tela de dispositivos, ou seja, preocupações de design em si que vão além do código. Mas estou seguindo em frente. Desejem-me sorte e animo nessa luta. rs.
Além dos problemas com responsividade, que é até ok de resolver. Tem problemas de incompatibilidade de hardware, que são bem chatos.
 

Users who are viewing this thread

Voltar
Topo