HTML5: vantagens e desvantagens sobre aplicativos nativos
Conheça as vantagens e desvantagens de desenvolver aplicativos nativos com o HTML5.
Autor: Glaucio Daniel
Facilidade de instalação, interatividade, usabilidade e praticidade. Existem muitos predicados que qualificam os aplicativos nativos para dispositivos móveis que instalamos quase que sem perceber e os tornam parte de nossa vida. Aqueles que possuem dispositivos baseados em iOS, como iPhone ou iPad, e Android, como a família Galaxy da Samsung, já estão acostumados com os chamados Mobile Apps – ou simplesmente Aplicativos Móveis.
O processo é sempre o mesmo: algum amigo lhe fala sobre um novo app, faz uma descrição dele em uma frase, algo como “Você tem que baixar esse game, eu já tô no level 32” ou “Não acredito que você não sabe o que é o Whatsapp!” ou ainda “Você ainda não tem o Instagram?”
Essa é uma realidade. Nos dias atuais, já se usa a internet mais por dispositivos móveis do que pelo mecanismo tradicional. A título de curiosidade, andando na rua passei por um grupo de jovens que estavam sentados na calçada. Era noite, mas ao invés de estarem conversando, cada um estava com seu dispositivo móvel – alguns no Face (Abreviação para facebook.com – como se precisasse de legenda.), outros no Instagram, pelo que pude perceber, e outros no Whatsapp. Porém, o mais interessante é que ninguém conversava entre si. Os tempos mudaram e continuarão mudando muito.
Em tempo de desenvolvimento para dispositivos móveis, muitos se perguntam como esses aplicativos são feitos, ainda mais quando observam notícias de que determinado aplicativo foi comprado por um gigante de tecnologia por tantos milhões de dólares – alguns até por 1 bilhão de dólares. Muitos se perguntam como podem se tornar desenvolvedores de aplicativos assim. É bem verdade que o segredo por trás de um aplicativo de sucesso não é necessariamente a forma como foi desenvolvido, mas a ideia do aplicativo aliada a sua simplicidade e usabilidade. Ele deve ser fácil de entender, navegar, instalar, remover e compartilhar. Encontrar uma boa ideia e aliá-la a essa equação parece ser o maior desafio.
– Mas e se você já tem a ideia? E agora? Como colocar em prática essa ideia?
Os caminhos são inúmeros, porém o primeiro passo é: traduzir a sua ideia para o dispositivo que irá executá-la, ou seja, se quer que esta ideia seja um aplicativo para iPhone, iPad e outros Apple Gadgets, então terá que escrever um programa que rode na plataforma iOS; se quiser que funcione nos aparelhos Samsung Galaxy, Motorola, e outros similares que rodam Android, terá que escrever nesta plataforma, que basicamente é linguagem JAVA.
– E o HTML5?
O legal do HTML5 é que é multiplataforma, ou seja, irá funcionar em qualquer sistema operacional, e basicamente a programação irá utilizar linguagem JavaScript, que é diferente de JAVA.
– Então é melhor escrever em HTML5?
Então, não é tão simples assim. Vejamos: Escrever em linguagem JavaScript irá fazer com que um interpretador JavaScript tenha que rodar o seu programa, logo, precisaremos de um Web Browser. Embora os motores de interpretação JavaScript tenham ficado extremamente velozes, como é o caso do Google V8 JavaScript Engine, ter um recurso como a câmera do aparelho sendo acessada por aplicativo nativo e ter a mesma câmera sendo acessada via JavaScript (sim, isto é possível e simples) traz uma diferença de desempenho gritante, ainda mais se levarmos em consideração que a maioria dos usuários de dispositivos móveis não possui os melhores aparelhos do mercado.
– Então parece lógico concluir que é melhor desenvolver os aplicativos nativos?
Enfrentamos o problema da disponibilidade para todas as plataformas. Desenvolver para iOS, Android, Windows Phone e outros parece não ser tão simples, uma vez que não é apenas traduzir um programa para linguagens diferentes – antes é reescrever o software (trabalho, custo, tempo, dor de cabeça, mais tempo).
– Então o que fazer?
Temos visto excelentes programas para dispositivos móveis que são chamados de aplicativos híbridos, que como próprio o nome diz, não são totalmente desenvolvidos em linguagem nativa nem totalmente desenvolvidos em HTML5. Eles utilizam o melhor dos dois mundos. HTML5, CSS3 e JavaScript para os recursos principais e comuns a todos e a linguagem nativa quando necessária para acessar algum recurso do hardware. Com os bancos de dados no próprio navegador (IndexedDB, Web Storage) a coisa ficou demais.
Pense nisso: criar aplicações híbridas parece ser o caminho natural para o desenvolvimento móvel.
Quer aprender tudo sobre HTML5?
Conheça o curso de HTML5 para desenvolvedores da Impacta Tecnologia e prepare-se para o mercado de trabalho.
Olá, meu nome é Luis Gustavo, e gostaria de saber se, eu usasse o hltm 5, para desenvolver aplicativos, teria o mesmo efeito, ou a mesma qualidade como é o caso do uso, do Java?? Os aplicativo feito em HTML seria a mesma coisa que se desenvolvesse em Java?? Obrigado!!!
Olá, Gustavo. Não teria o mesmo efeito. Na verdade, depende muito do que você pretende criar, pois o Java é uma linguagem de programação muito mais completa e o HTML5 é mais uma linguagem de marcação. Algumas aplicações mais simples podem ser feitas com uma linguagem e outras mais completas ficariam melhores com Java.
Olá estou pensando em desenvolver um aplicativo do tipo Mensagem. Ainda sim vocês acham que o desenvolvimento em HTML5 seria o mais indicado, tendo em vista que irei necessitar de validar o usuário por meio de SMS,acessar a câmera dele e principalmente e é o que mais acho de importante nesse projeto: no momento do recebimento da Mensagem de Conteúdo o App emita um Alerta no Smartphone do Usuário! Isso o HTML5 pode fazer???
O HTML5 também pode dar conta do recado para as outras funcionalidades como trocar arquivos de conteúdos do tipo: vídeo, fotos, música, PDF?
Olá, Marcelo. Usando apenas o HTML5 você não conseguirá desenvolver o seu aplicativo. Na verdade para criar um aplicativo completo de mensagens, como é a sua ideia, você provavelmente terá que se aprofundar em outras linguagens como Java (mais voltado para Android) ou mesmo o iOS Swift, estudando ainda quais as funções e ferramentas necessárias para cada funcionalidade do seu aplicativo. Esperamos ter te ajudado!
Olá Marcelo Florêncio, o que você perguntou é perfeitamente possível fazer em HTML5, mas lembre-se que isso envolve muito JavaScript, as notíficiações, Push Notifications, acessar a Câmera, fácil, Câmera API, velocidade, Service Workers, trocar arquivos, basicamente é upload e download de arquivos, utilizando Node.JS ou PHP, simples…enfim, hoje a resposta a sua pergunta é, sim é perfeitamente possível desenvolver seu aplicativo com as APIs do HTML5 e principalmente com bastante JavaScript de excelente qualidade….