25 de Abril de 2018
Desenvolvimento Mobile Android

Guia de desenvolvimento mobile: o que você precisa saber para se tornar um programador mobile

Cada vez mais, as funções cotidianas estão indo parar nas palmas de nossas mãos, dentro da telinha de um smartphone. Muito do que fazemos no nosso dia-a-dia é intermediado por aplicativos, desde o taxi até o banco, passando pelo delivery de comida e pelo jornal que agora lemos em um site ou app.

E é justamente pela existência desse mercado promissor que muita gente está interessada em aprender a programar para o universo mobile, ou seja, criar aplicativos e serviços úteis para o maior número de pessoas possível. Muitas dúvidas surgem a respeito desse tipo de programação, e é preciso conhecer alguns conceitos antes de decidir se aventurar nesse ramo.

Programar para web e programar para mobile: o que é mais vantajoso?

Uma das principais diferenças entre um produto para web e um produto para mobile é a forma de captar público. Enquanto na web é possível atingir mais pessoas, no mobile é mais fácil mantê-las dentro do universo criado pela programação.

O primeiro fenômeno acontece porque a maioria das pessoas têm um navegador ao seu alcance na maior parte do tempo. Além disso, sem precisar instalar nada, é muito mais rápido e fácil acessar uma aplicação pela web. Por isso, a capacidade de atingir muitas pessoas é maior.

Já na questão da retenção de pessoas, o ponto vai para os aplicativos mobile. Quando uma pessoa faz o download de um app, a chance dela permanecer nele é maior do que só clicando em um link.

Matheus Costa, coordenador dos cursos de programação da Digital House, explica: “Eu posso abrir um site, simplesmente não gostar e fechar. Geralmente, quando você instala um aplicativo, você teve uma decisão lógica para instalá-lo ou não: você leu comentários, viu algum review dele e, a partir do momento que você o instala, você vai passar um tempo maior nele”.

Quero ser um programador mobile: por onde começar?

O primeiro passo para aprender a desenvolver produtos mobile é aprender lógica de programação. E, nesse sentido, fica um pouco mais fácil para quem já tem algum tipo de bagagem no universo da programação, mesmo que seja com web.

Matheus compara as linguagens de programação com as diferentes línguas do mundo: a partir do momento que se sabe uma, fica mais fácil aprender as demais. “Se eu sei Português, muita coisa eu vou associar com o Espanhol, ou com o Francês, por exemplo, que têm similaridades. Ou, até para o Inglês, se você entender o que é um verbo, o que é um sujeito, você vai ter uma compreensão melhor do que simplesmente sair falando. Então, linguagem de programação funciona da mesma forma”, explica o coordenador.

Mas isso não quer dizer que não dá para começar direto com a programação mobile. Independente do caminho que um profissional seguir, seja começando a construir aplicativos, ou migrando do universo web para o mobile, o primeiro passo é saber lógica de programação.

Em seguida, é preciso escolher qual linguagem de programação mobile se deseja aprender. E isso está muito relacionado com a plataforma que será utilizada, visto que cada uma utiliza linguagens diferentes. Para programar para Android, é utilizado Java, enquanto Swift é a linguagem usada para iOS.

Segundo Matheus, independente da escolha, é sempre bom ter alguém com experiência para auxiliar. “As duas não são tão amigáveis quanto a web, digamos assim”, explica. Isso ocorre porque, para programar para a web, a maioria dos comandos são memorizáveis. Já no caso do mobile, as linguagens não são tão simples e semânticas, sendo necessária uma noção de lógica maior.

Programando mobile: começo por Android ou iOS?

Matheus acredita que a escolha virá, provavelmente, a partir do dispositivo que o próprio profissional utiliza, justamente pela questão da familiaridade. Mas diante do custo-benefício, a sugestão do coordenador é começar com Android. “Só é possível desenvolver para iPhone em um Mac. Então, diante do investimento em um Mac ou o investimento em um computador para Android, para Android o custo-benefício é melhor”. Para programar para Android, qualquer computador com Windows atualizado serve.

Além disso, atualmente 85% dos dispositivos mobile do mundo são Android. Isso significa que, desenvolvendo aplicativos para essa plataforma, o impacto é maior, atingindo um maior número de pessoas.

Dentre os cursos que Matheus coordena na Digital House, está o curso de Desenvolvimento Mobile Android. Com duração de cinco meses, o aluno aprende do zero – não é necessário nenhum tipo de conhecimento prévio – e termina com um aplicativo publicado na Google Play Store, pronto para o mercado de trabalho.

Ambientes integrados de desenvolvimento – IDEs

Depois de escolher o sistema operacional ao qual o aprendizado será direcionado, é preciso aprender a linguagem utilizada para programar nesse sistema. E existem ferramentas que ajudam na hora de escrever códigos utilizando a linguagem em questão.

Ambientes integrados de desenvolvimento, ou só IDEs, são ferramentas que otimizam a escrita de códigos. Eles permitem que seja realizada escrita, testes, compilação e execução de códigos.

“IDEs te permitem colocar pedaços de códigos que vão facilitar seu desenvolvimento, seja escrevendo pedaços de códigos por você, seja testando o seu site. IDEs nada mais são do que um editores de texto com esteroides, eles têm potencial de fazer mais coisas do que só escrever texto”, explica Matheus.

E, para cada linguagem mobile, existe um IDE diferente. Para quem vai programar para Android e, portanto, utilizará a linguagem Java, a ferramenta utilizada é o Android Studio. Além da lógica de programação e da linguagem, é preciso dominar o funcionamento também da ferramenta utilizada.

Qual a diferença entre aplicativos nativos e aplicativos híbridos?

Depois de saber todo o caminho que é necessário percorrer para aprender a programar para mobile, está na hora de pensar nos apps. Mas que tipo de aplicativo escolher para criar?

Aplicativos nativos são programas construídos sob medida para determinadas plataformas, como Android ou iOS, e que possuem, portanto, a capacidade de explorar todas as funcionalidades da tal plataforma. Um aplicativo nativo consegue acessar todo o potencial do dispositivo, como GPS, câmera, áudio e Bluetooth.

Já um aplicativo híbrido é algo mais próximo de um PWA (inserir link do artigo) do que de um aplicativo nativo. Para desenvolver um aplicativo híbrido, é preciso criar um site responsivo – aqueles que se adaptam ao tamanho da tela – e utilizar uma ferramenta que faça esse site se comportar como um aplicativo.

“Essas ferramentas vão pegar o HTML, CSS e JavaScript com que você fez um site, e vão criar um miniaplicativo dele, vão tornar ele instalável”, explica Matheus. Mas, esse aplicativo nada mais é do que a mesma coisa que abrir o site no navegador, mas sem a parte de cima.

O que é executado, na verdade, é o chamado Webview: é como se o aplicativo criasse uma janela de visualização da web e rodasse um site dentro. Segundo Matheus, o ponto positivo disso, em comparação a um PWA, é que um aplicativo híbrido permite mais acesso ao dispositivo, afinal ele funciona como um aplicativo instalado.

Por outro lado, o coordenador explica que o desempenho não será o mesmo que o de um aplicativo nativo ou até mesmo de um PWA, apresentando uma performance mais lenta. “Tanto PWA, quanto um aplicativo nativo vão rodar diretamente do celular; o celular está fazendo as funções. Quando a gente faz um híbrido, o site ou a aplicação mandam um comando para essa Webview que, só então, vai executar no celular. Então, você tem um terceiro elemento ali que dificulta um pouco a coisa”, esclarece. “É por isso que a gente ou recomenda fazer um PWA, ou fazer um aplicativo nativo. Evitar ao máximo fazer híbrido”.

Como criar um aplicativo de sucesso?

Além de aprender a parte técnica a respeito do desenvolvimento mobile, é importante também pensar na ideia de um novo aplicativo. E a dica que Matheus dá é pensar em um problema real da própria vida.

Depois de pensar em um problema, é hora de resolvê-lo, fazendo uso da programação. “Programação, qualquer uma que seja, seja web, seja mobile, nada mais é do que uma ferramenta para solucionar problemas”, opina Matheus.

O coordenador usa o exemplo de aplicativos de ônibus. Para ele, muito provavelmente o criador do app teve a ideia em um dia em que ele próprio perdeu o ônibus e ficou muito bravo com isso. E a solução criada para uma pessoa pode resolver o problema de várias, se tornando um aplicativo de sucesso.

E essa é justamente a dica de Matheus. “Então, para você ter um aplicativo, pensa em um problema seu, pelo qual você passa todo dia, e como você pode facilitar aquilo ao máximo. Porque provavelmente outra pessoa tem o mesmo problema, e ela só não achou a solução ainda”.

Comentários