MENU

| BR

Campus

Programação

Marketing

UX

Dados

Negócios

Paises

Guia de desenvolvimento mobile: como se tornar um programador mobile

Guia de desenvolvimento mobile: como se tornar um programador mobile
tech
25 de abril de 2018
  -  
-min de leitura

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".

Outras notícias

5 primeiros passos para quem quer se tornar um cientista de dados img
dados

5 primeiros passos para quem quer se tornar um cientista de dados

É difícil começar algo novo quando não se tem ideia do primeiro passo que é preciso tomar para iniciar a jornada. Esse é o questionamento de muitas pessoas que buscam fazer uma transição de carreira, principalmente para aqueles com interesse em se tornar um cientista de dados. Sobre esse tema, já falamos em outro artigo quais são as principais habilidades e competências necessárias (e demandadas pelo mercado de trabalho) para iniciar uma carreira em dados. Mas quais são os passos anteriores ao curso de Data Science, ao treinamento do pensamento lógico ou ao networking?Os professores do curso de Data Science da Digital House se prontificaram a responder uma simples pergunta que faz todo a diferença para quem quer ingressar nesta nova carreira: qual é o primeiro passo para quem quer se tornar um cientista de dados?Quebre paradigmasPara o professor Victor Morganti, o primeiro passo é “desconstruir a ideia de que a profissão é puramente ferramental”. Muitos são atraídos pela profissão por encontrar semelhanças com o dia a dia de profissionais de TI, no entanto, Victor alerta que o cientista de dados possui desafios muito diferentes.“O dia a dia do cientista de dados é permeado por questões e decisões de negócios”, conta o professor. E neste cenário, ser um profissional multidisciplinar e com experiência em áreas diversas não é só um diferencial, como também uma característica essencial da profissão.Sendo assim, ao ingressar nesta carreira é importante ter em mente que, mais do que administrar ferramentas, você administrará problemas e conflitos reais. LeituraNós já indicamos uma lista de leitura para quem quer ingressar na área de dados, mas a professora Caroline Oliveira destaca a editora O’Reilly como a melhor para quem ainda nem começou. “A coleção de livros possui exemplares desde o básico até níveis mais avançados e é uma ótima coletânea para te dar uma base antes de iniciar um curso, por exemplo”. A Editora Novatec distribui os livros da O’Reilly no Brasil em português, mas você pode encontrar versões originais em sites como Estante Virtual (e já pratica o inglês).Assista vídeosUma forma dinâmica e rápida de aprender ou se inteirar é através de vídeos na internet. Ambos os professores, Victor e Caroline, indicaram vídeos para entender melhor a carreira de dados antes de apostar em uma mudança drástica.A professora Caroline recomendou “perder-se” pelos muitos TEDs sobre Dados. Os breves vídeos de até 20 minutos com especialistas não só dão uma dimensão da importância dos dados no mundo atual, como também mostram sua utilização nas mais diversas áreas.Cientistas de dados do mundo inteiro podem ser vistos falando sobre a profissão, seus rumos, o lado positivo e o negativo, e seu papel em nossa sociedade.Pesquise vagasA melhor forma de saber o que você precisa aprender para ser um profissional de dados é indo direto à fonte: o mercado de trabalho. Pesquise por vagas na área em diferente países e níveis: júnior, pleno e sênior, para compreender quais são os principais requisitos exigidos em cada etapa e ganhar uma ideia de como deve ser desenhado seu plano de carreira.Participe da comunidadeUma fonte inesgotável de dicas, informações e aprendizados é a comunidade de cientista de dados, que reúne profissionais e entusiasta da área. Fóruns de discussão, grupos em redes sociais, Summits e Workshops reúnem não só as pessoas que fazem parte da Ciência de Dados, mas que também questionam sua atuação e quebram barreiras. Além de ser informativo, é uma experiência que alivia momentos de ansiedade. Afinal, não é ótimo saber que outras pessoas já enfrentaram determinados problemas na mudança de carreiras e agora possuem experiência para te ajudar e te guiar?Para saber mais sobre ser cientista de dados, faça uma visita à Digital House, conheça nossos professores e as soluções que oferecemos para transições de carreira.

Qual a diferença entre front-end e back-end img
tech

Qual a diferença entre front-end e back-end

Se você decidiu entrar no universo da programação, já está ciente de que essa área contempla inúmeras opções de atuação e diversas linguagens, o que pode deixar tudo um tanto quanto confuso! Quantas vezes você encontrou alguma oportunidade de trabalho na qual você não sabia muito bem qual o papel, como atuar e o que ela significava? Porém, justamente essa diversificação é que faz a carreira de desenvolvedor tão atrativa! E, para esclarecer um pouco e ajudar no seu caminho, vamos falar de uma das maiores dúvidas para quem está começando: o que diferencia o profissional de back-end do profissional front-end? Que habilidades cada um deles requer?O que é Back-EndPara mostrar as diferenças, vale começar com as definições de cada atividade.Basicamente, quando falamos dos “bastidores”, ou seja, o servidor e o banco de dados que ajudam a fornecer as informações ao usuário de uma interface, falamos do back-end. É a parte do site que você não tem contato direto (a não ser que você seja um profissional da área, claro!).O back-end é uma parte fundamental de qualquer site ou aplicação na web. Se você está lendo esse texto, por exemplo, é um sinal de que a comunicação com o servidor obteve sucesso e isso se deve, provavelmente, a um profissional de back-end!Quem prefere se especializar como desenvolvedor back-end vai atuar com lógica, com a funcionalidade do site, regras, segurança e integridade de banco de dados. Ou seja, para viver os “bastidores da internet” requer muita paciência, cuidado e concentração constante!O que é Front-EndSe back-end é o desenvolvimento da parte da web que não vemos, o front-end, por outro lado, é toda a parte visível das aplicações e sites. Essa área não lida diretamente com banco de dados, servidores e todas as aplicações complexas do back-end, mas cuida da usabilidade, efeitos visuais, velocidade de carregamento, etc.De maneira mais direta, o Desenvolvedor de Front-end fica responsável pela interação direta com o usuário, e por isso acaba desenvolvendo cuidando do lado mais visual das aplicações, como o cuidado com cores, botões, links, menus, e tudo o que vemos numa página quando estamos acessando.Justamente por conta disso, um profissional front-end precisa ter um olhar constante para a melhor Experiência do Usuário. Ou seja, as preocupações de front-end e back-end são opostas, porém complementares. Os desenvolvedores de front-end e back-end devem sempre trabalhar em conjunto para que o aplicativo ou site funcione corretamente.Pode atuar com front-end e back-end ao mesmo tempo?Com experiências e habilidades tão opostas, será que é possível trabalhar com interface e servidor ao mesmo tempo? A resposta é sim! Inclusive, uma pessoa qualificada para fazer as duas atividades é bastante demandada no mercado e é bem valorizada!Quando o profissional de programação atua nas mais diversas partes do projeto, ou tem conhecimento tanto de back-end quanto de front-end, ele é chamado de Desenvolvedor Full Stack.O desenvolvedor Full-Stack é um profissional mais flexível, com visão mais completa do negócio, que vai atuar do início ao fim de um projeto. Provavelmente, isso demandará o conhecimento de diferentes tecnologias e linguagens de programação, ainda mais se for o caso de atuar sozinho.Neste caso, a principal dica para quem está começando a programar é estudar muito sobre todas as áreas do Desenvolvimento Web, conhecer as linguagens de programação mais utilizadas atualmente e entender quais habilidades que mais parecem adequadas ao seu perfil.

Digital House abre nova unidade em São José dos Campos img
tech

Digital House abre nova unidade em São José dos Campos

Viva a experiência Digital House em São José dos Campos!Nascemos com a missão de capacitar profissionais na área digital. Somos um hub de tecnologia e educação para formação de profissionais de alta performance. Te desafiamos a pensar como realizador de ideias em vez de deixá-las só no papel. Chegamos ao Brasil em 2018 e, nesses 2 anos, já formamos mais de 3 mil alunos em nossos cursos: Marketing Digital, Programação, Dados, UX e Gestão de Negócio Digital. Em 2020, queremos que mais pessoas tenham oportunidade de viver a experiência de ser um aluno Digital House. Chegamos em São José dos Campos com os curso de Programação Web Full Stack e Marketing Digital, em parceria com a Workflex, coworking com ambiente inovador, localizado no coração do Jardim Aquárius, no Edifício Infinity Tower. Os joseenses e vale paraibanos interessados em fazer nossos cursos, que têm início em março, já podem se inscrever no site da Digital House;Acreditamos que a melhor maneira de adquirir habilidades digitais é com a metodologia de “aprender fazendo”, que integra teoria e prática de forma constante. Queremos que os alunos tragam suas ideias e consigam encontrar as respostas para seus desafios. A interação constante com professores que têm experiência real no mercado possibilita que eles sejam orientados no melhor caminho para o sucesso.Preparado para viver essa experiência com a gente?Faça sua inscrição para que possamos entrar em contato com você. #VemSerDigital!