Desenvolvendo apps: Da ideia à inclusão na lista de uma app store

0

Após acompanhar de perto a (r)evolução do mercado de smartphones e dos aplicativos, decidi que queria aprender a desenvolver para não somente assisitir, mas para também fazer parte dessa transformação. O primeiro passo foi o mais difícil: ter uma boa idéia que pudesse ser colocada em um celular. Quando lembrei do ensinamento "quer criar um software de sucesso, resolva um problema" de  um dos pioneiros da internet comercial, Paul Graham, no seu livro "Hackers and Painters".

Então, direcionei o foco para os meus problemas cotidianos. O que exigia esforço e que pudesse ser resolvido por uma aplicação de celular? A resposta veio quando lembrei das contas que fazia quando era solicitado informar quanto custaria e quantos racks seriam necessários quando me pediam para instalar um grupo de servidores em um data center. Sempre que isso acontecia, tinha que fazer cálculos em uma planilha  levando em consideração o número de máquinas, altura do rack, consumo de energia elétrica, peso suportado etc. Depois de fazer esses cálculos, tinha que informar em outras moedas o resultado. Nascia o DCtools.

Escolhendo a plataforma

Escolhi o ambiente iOS por já ser usuário.  Cadastrei-me na Apple e baixei o Xcode, o ambiente de desenvolvimento. A linguagem de desenvolvimento é o Objective C. Não sabia nada e comprei os livros: "Programing in Objective-C" e "Beginning iOS 6 Development" que possuem bons exemplos para começar. O Xcode é muito bom e produtivo. A medida que se vai digitando, os comandos e funções são auto completados. Tornando o processo mais rápido.  A maneira mais fácil de aprender a programar é fazer os programas contidos nos livros. Recomendo fazer tudo ao pé da letra no começo, para então depois experimentar modificações. Tentei inverter a lógica e não deu muito certo.

Comece com uma documentação precisa dos dados que serão necessários como entrada e o  que será apresentado como saída.  Depois, liste as rotinas e variáveis importantes do código. Base feita, é hora de escolher uma boa interface para entrar e exibir dados. Sim, a Apple é muito exigente com isso.

Depois de digitar todo o código e compilar pela primeira vez, minha app possuía muitos erros de compilação. Mas encontrar os erros foi fácil com as mensagens do Xcode.

Refinando o app

Aplicação rodando, é hora de mostrar a amigos e possíveis usuários para pedir feedback. Tive bons retornos, ajustei o código e as telas com a ajuda de um colega que é designer profissional. Não deixe de consultar possíveis usuários para ouvir o que eles tem a dizer. Mesmo que você não pense em traduzir para outros idiomas, desenvolva pensando nisso. O esforço é minimo e se mudar de idéia, traduzir vai ser mais fácil.

Design é importante e a Apple é muito exigente com isso. Há documentos com instruções bem específicas de como os apps devem ser feitos e não segui-los significa a não aprovação. Portanto, deixe o ego nerd de lado e contrate um designer para que ele faça as telas e crie os icones.  Seu foco deve ser o código.

Tente terminar a programação o mais rápido que puder. Ficar sem programar por um tempo faz com que o processo de retomada demore simplesmente para entender o problema e o estágio da programação. Isso também é importante para desenvolver de acordo com a última versão do iOS.

Não desista

Seu app pode funcionar de primeira, mas a minha precisou de tempo. Como foi meu primeiro contato com o ambiente, tive um caminho mais longo. Uma das coisas que me fez demorar foi encontrar respostas para formatação numérica entre os sistemas brasileiro e norte-americano. Entrar dados levando em consideração vírgulas e pontos e apresentá-los de acordo com o país do usuário não foi fácil. Traduzi o app para o inglês e tive que deixar tudo igual a como se visualiza nos EUA. Se o processo empacar, consulte os fóruns de desenvolvedores, talvez alguém já passou pelo mesmo problema que você.

Vai dar trabalho, mas a recompensa de ver seu app listado, vale o esforço.

* Flavio Amaral é graduado em ciências da computação pela UFRN e possui mestrado em engenharia elétrica pela UFRN. Desde 1994 trabalha com internet e acompanhou a evolução da mesma do mundo academico para o commercial e do dial-up para a banda larga.

DEIXE UMA RESPOSTA

Por favor digite seu comentário!
Por favor, digite seu nome aqui

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.