Desenvolvimento Web / Desenvolvimento Mobile

Conhecendo mais sobre Cordova e PhoneGap para desenvolvimento de app híbrido

Vamos desmistificar o primeiro contato com uma tecnologia diferente da qual estamos habituados. Veja as primeiras descobertas sobre o tema e a funcionalidade que podemos ter com esses recursos.

Por Gustavo Web

Publicado por Gustavo Web
em 01/06/2017 às 10h00

Lista VIP UpInside

Entre para nossa lista VIP e receba vídeo aulas, artigos e tutoriais exclusivos e com prioridade

  QUERO ENTRAR
Compartilhe:

Salve salve galera, Gustavo Web aqui mais uma vez e hoje o nosso assunto é outro! :O

Não é nem sobre banco de dados e nem sobre PHP… Que coisa não?

Bom, deixa eu te explicar o motivo desse tema antes de tudo.

Com o lançamento da Social Network (siiiiim, temos uma rede social só nossa!) umaaaa gaaaalera chegou no inbox e pediu um aplicativo para que pudesse acompanhar o conteúdo direto pelo celular e ainda ter algumas funcionalidades a mais como acelerômetro, gps, push notification… E como os alunos tem muuuita voz ativa, eu peguei para estudar o tema e ver até onde podemos chegar com isso!

Já deixo claro que até o momento não tenho afinidade com o assunto, portanto, sintam-se livres para palpitar sobre o assunto, me corrigir caso fale besteira ou ainda dar uma opinião sua sobre o tema.

Como nunca tive contato com esse tipo de assunto, eu achei legal compartilhar com vocês essa minha experiência sobre o tema, assim vocês conseguem acompanhar minha evolução nesse quesito! Fechado?

Logo que comecei a pensar nessa questão me veio algumas objeções na cabeça e eu quero compartilhar com vocês para saber se estou pensando sozinho ou se tem mais gente que ta na mesma linha de pensamento que eu.

Ok, vou estudar para fazer um aplicativo da Up! Maaas, vou ter que fazer um app para iOS, outro para Android, outro para Windows Phone e ainda ficaria SO Mobile de fora?

Poxaaa, pra quem adora reuso de código, reescrever a mesma lógica em outras 3 linguagens de programação diferente além de ser um processo moroso demais (iria levar um ano para completar todos os apps?) eu ainda vou ter que dar manutenção em todos eles separadamente e a cada novidade que o tio Robson colocar no site eu vou ter que atualizar isso um de cada vez? o.O

Não me pareceu a coisa certa, e eu já tinha ouvido falar no tal de app híbrida e o tio levantou a bandeira do Cordova e PhoneGap, e que ainda poderia desenvolver os apps com HTML, CSS e Javascript! Se o sensei falou, vou logo começar logo por ele…

E de fato é bem assim que funciona! Basicamente o Cordova é um "empacotador" que vai pegar esses códigos (HTML, CSS e JS) e vai gerar um instalador para que possa ser executado dentro de cada tipo de sistema. Claro que tenho que gerar instaladores separados para cada um deles, mas o código fica sendo um só!

Comecei ler sobre o assunto e descobri algumas curiosidades que talvez você não saiba:

O Cordova é uma camada! E por esse motivo ele pode ser híbrido, afinal ele vai somente renderizar o seu HTML em diferentes dispositivos :)

PhoneGap tem o Cordova dentro dele… Logo, o PhoneGap é mais "completo" em relação ao Cordova por receber updates da adobe (vou estudar mais a respeito e crio um outro post sobre o assunto).

Claro que para usar o PhoneGap e ter as firulas do Adobe precisa ser pago, mas não é nada exorbitante… Coisa de 10 doletas por mês (na cotação atual uns 500 reais rs).

Você tem simuladores para virtualizar cada um dos ambientes. Embora você não tenho uma experiência completa com o ambiente de desenvolvimento desktop, é uma mão na roda você testar inúmeras vezes antes de publicar e testar diretamente no dispositivo.

Devagando ainda nos pensamento sobre como fazer, me surgiram algumas questões na cabeça que eu sabia a resposta, mas mesmo assim fiz questão de perguntar para o tio Rob só para ouvir as respostas, tipo:

  1. E se é só HTML e eu não posso jogar um PHP dentro dele, como eu faço uma consulta no banco de dados por exemplo
    R: Javascript! Vai ter que existir uma API que você vai consultar esses dados e receber através do jQuery por exemplo.
  2. Tá, mas e se eu quiser usar um strtoupper (PHP) por exemplo?
    R: Vai ter que usar um text-transform uppercase (CSS) ou toUpper (JS)
  3. Noooossa, e para fazer um loop por exemplo percorrendo os registros que recebi do banco? Não tem for no HTML…
    R: Tem o each no jQuery.

Resumindo a ópera, para desenvolver um app desse eu vou ter que usar e abusar dos conhecimentos de javascript, jquery, css e seletores…

Até ai eu estava beeem animado! Afinal uma página HTML, algumas tabs para controlar a navegação (JS e CSS resolve) e vou ter que montar as apps para consultar uma api (WorkControl tem nativo, rá!)

Mas me veio mais uma questão que quase me fez desistir…

Se o meu aplicativo vai estar renderizando o meu HTML, como que eu vou enviar um push notification? Não tem como?

Fiz algumas pesquisas rápidas e vi que tem como sim usando lib externa! Inclusive você pode usar câmera do celular para ler um código de barras por exemplo… Me deixou mais aliviado e por esse motivo eu vou investir nesse assunto e vamos ver o que vai surgir :)

Vou fazer alguns testes aqui no meu localhost e conforme meus testes forem tendo sucesso, eu vou compartilhando meu código aqui com vocês se quiserem estudar também!

O que acham de levar esse assunto a diante? Você apoia? É uma tecnologia nova para mim (mas PHP e banco de dados continua sendo os favoritos), mas acho legal mostrar para vocês essa minha aproximação sobre o assunto, as curiosidades que for descobrindo, minhas experiências, pontos positivos e negativos…

Assim caso você se depare com o mesmo cenário, ou caso seja o seu primeiro contato com uma tecnologia você vai notar que não é um bicho de sete cabeças e vamos desmistificando esse tema com toda nossa comunidade… Me dê feedback para que saber se invisto mais tempo nesse assunto!

A gente se fala pelos comentários.

Compartilhe:

Em Desenvolvimento Web:

Deixe seu comentário: