Logo pt.androidermagazine.com
Logo pt.androidermagazine.com

O que é um aplicativo html5 e eu quero um?

Índice:

Anonim

Você já ouviu? Os aplicativos HTML5 vão mudar tudo, provavelmente no próximo ano. Pelo menos é o que um lado do debate sobre HTML5 versus aplicativos nativos vem dizendo há um tempo. É uma mensagem que chega ao centro das atenções de vez em quando, e será assim para sempre. Ou pelo menos até que isso aconteça e os melhores aplicativos sejam aplicativos HTML5. Não é incomum ver os desenvolvedores terem esses tipos de debates e proponentes de cada lado explicando como a versão deles é a melhor, mas quando as coisas vão além da discussão do desenvolvedor e entram no mainstream onde você e eu as ouvimos, elas podem nos deixar entorpecidos. Devemos realmente nos importar com o que estamos ouvindo?

Nesse caso sim. Embora a utopia em que todos os aplicativos sejam escritos em HTML5 e todos os usuários tenham a mesma experiência ainda esteja longe, se isso acontecer, o HTML5 em uma forma híbrida já é um grande negócio. Devemos conhecer e entender qualquer coisa que seja um grande negócio.

O que é um aplicativo HTML5?

A primeira vez que a maioria das pessoas ouviu o HTML5 ser mencionado foi quando Steve Jobs nos disse tudo o que seria o futuro da Web e o Flash não. Sua declaração foi confirmada parcialmente porque a Apple bloqueou o acesso a qualquer tipo de Flash player no iOS, mas não foi necessário um visionário para saber que isso estava por vir, porque o HTML5 tem muito mais a oferecer do que o Flash. E acontece que o futuro da web também é uma boa maneira de codificar aplicativos.

HTML significa HyperText Markup Language, e estamos na 5ª revisão do padrão. Mas quando você ouve o termo aplicativo HTML5, se isso significa um aplicativo Web ou um aplicativo que você pode instalar no seu telefone, você está realmente lidando com três tipos de código.

  • O HTML fornece uma estrutura na qual os desenvolvedores podem colocar seu código e um aplicativo pode transformá-lo em algo que podemos ver e interagir.
  • O CSS fornece uma maneira de planejar a aparência de bits individuais de código quando forem renderizados e exibidos em nossa tela.
  • JavaScript é o que torna tudo interativo e é capaz de "fazer" qualquer coisa.

O que torna o HTML5 excelente é que tudo é entendido por um aplicativo que um desenvolvedor de aplicativos não precisa manter e tudo funciona em qualquer dispositivo com uma tela que tenha sua própria versão desse aplicativo. Estamos falando de um navegador da web, mas não do próprio aplicativo. O componente de um navegador da Web que pode pegar todo esse código e transformá-lo em algo que podemos usar em tempo real é bastante portátil e faz parte de muitos aplicativos que você já usa como exibição na Web.

Um engenheiro da Mozilla disse uma vez que "o código executado uma vez em qualquer lugar não significa fugir. A otimização é a chave". Caras espertos, aqueles engenheiros da Mozilla.

O que isso significa é que um desenvolvedor pode escrever seu código e ajustá-lo, depois implantá-lo em qualquer lugar. Isso é muito diferente de escrever código separado para Android, iOS, macOS, Windows e HTML para webOS e BlackBerry 10. Um desenvolvedor pode escrever código usando o ambiente de desenvolvimento que escolher, seja o Bloco de Notas ou algo complexo como o Visual Studio ou o Adobe Dreamweaver, depure e ajuste-o em qualquer navegador que escolher, e ainda funciona em qualquer lugar.

Isso inclui seu telefone também. Todos nós já vimos aplicativos HTML5 sendo usados ​​como uma página da web. Locais como o Twitter ou a versão móvel do Gmail são excelentes exemplos de HTML5 em ação. Porém, como o HTML5 pode ser renderizado por um componente de exibição na web, soltar uma janela dentro de um quadro básico para criar um aplicativo que você realmente instala no telefone é simples e rápido. Existem até ferramentas de terceiros que fazem todo o trabalho para você, como o Apache Cordova. Isso ajuda os novos desenvolvedores a levarem suas idéias a todos, bem como aos desenvolvedores experientes, que agora têm tempo para sonhar com coisas que nunca vimos antes. O HTML5 incorporado a um aplicativo nativo pode executar o código e usar os recursos obtidos da Internet, mas um desenvolvedor também pode instalá-los localmente e apontar o código para aplicativos nativos offline honestos.

Mas nem tudo é ótimo no HTML5.

A realidade dos aplicativos HTML5

Aqui é onde as coisas podem ficar confusas. Quando pensamos em uma página da Web, geralmente esquecemos que uma página da Web envia apenas seu código para um mecanismo do navegador e é o nosso dispositivo que faz o trabalho. Isso significa coisas como geolocalização, bate-papo em áudio e vídeo em tempo real, gráficos acelerados em 3D e muito mais, além de possíveis, além de simples para um desenvolvedor implementar usando HTML5. Isso ocorre porque um organismo de padrões disse: "Ei, pessoal, todos nós precisamos fazer isso de uma determinada maneira, e um desenvolvedor pode nos pedir para fazer assim".

Esse é o objetivo, de qualquer maneira. A realidade pode ser um pouco diferente, e precisamos apenas olhar a reprodução de vídeo para um ótimo exemplo do porquê. Todo navegador que você deseja usar suporta HTML5: Chrome, Opera, Internet Explorer, Edge, Firefox e Safari são navegadores HTML5 e suportam a reprodução de vídeo quando o desenvolvedor digita apenas algumas palavras que apontam para um vídeo. Qualquer tipo de componente portátil de exibição na Web desses aplicativos fará a mesma coisa porque eles usam o mesmo mecanismo de renderização.

Quando você não aplica regras, elas se tornam sugestões; aqueles que ninguém quer seguir.

Mas nem todos eles suportam o mesmo tipo de vídeo porque o HTML5 é multiplataforma, aberto e não é proprietário; portanto, ninguém os está forçando a suportar todos os formatos. Ogg Theora é um formato de vídeo popular que todos os navegadores suportam, exceto o Internet Explorer, que por acaso é o navegador padrão em muitos computadores. O H.264 é ainda mais popular, mas não é aberto ou gratuito para usar, portanto o Firefox não suporta. O VP8 e o WebM são livres para usar e abrir, e todos os mecanismos do navegador os suportam, mas o Internet Explorer e o Safari exigem que o usuário busque e instale o suporte. Tecnicamente, o HTML5 suporta reprodução de vídeo em HD e é super fácil para um desenvolvedor implementá-lo. No mundo real, apenas o tipo certo de vídeo é suportado.

O YouTube reproduz todos os vídeos com HTML5 porque o Google tem dinheiro para converter os vídeos que você envia.

O HTML5 também depende do hardware em uso e da eficiência do desenvolvedor quando se trata de escrever o código. Escolher a biblioteca JavaScript errada ainda pode produzir o mesmo resultado, mas também pode levar a vazamentos de memória e manipular a manipulação de DOM (modelo de objeto de documento - criado quando uma página ou aplicativo é carregado) e inclui todos os elementos da página ou do aplicativo como um "documento" separado) pode tornar um aplicativo HTML5 frustrantemente lento até no melhor hardware. Em telefones que não são tão capazes, isso leva rapidamente os usuários a desinstalarem seu aplicativo.

Essa não é a única questão. Quando você cria um aplicativo HTML5 que extrai tudo da Internet, você precisa lidar com os tempos de carregamento. Isso adiciona a velocidade de conexão do usuário à lista de itens que podem fazer com que o aplicativo seja executado lentamente, juntamente com os recursos físicos do hardware (muitos telefones usam processadores que não são exatamente rápidos) e a otimização do código. Se demorar um segundo para exibir seu código no dispositivo de um usuário e 10 segundos para buscá-lo na Internet, você terá muitos usuários insatisfeitos.

O aplicativo do Facebook é um exemplo do que há de errado com o HTML5, assim como o Instagram é um exemplo do que é certo.

Há um excelente exemplo disso disponível, e quase todos nós ficamos descontentes com o tipo de telefone que usamos: o aplicativo do Facebook. O aplicativo do Facebook é basicamente uma visualização da Web incorporada a um quadro que contém os botões e ajuda a gerenciar as credenciais da sua conta ou enviar mensagens da maneira que o sistema operacional aprova. Todas as coisas que acontecem dentro do aplicativo são feitas com HTML5, e é demais para ele lidar assim que você busca todos os dados da internet.Desenvolvedores continuam adicionando cada vez mais ao Facebook, os usuários estão postando arquivos grandes hospedados em fora do Facebook e milhões e milhões de pessoas acessando os servidores do Facebook de uma só vez, 24 horas por dia, 7 dias por semana. Isso faz com que os aplicativos demorem a ser atualizados, com muita energia e sujeitos a muitas reclamações.

O site para celular do Facebook também é escrito em HTML5, mas foi projetado para ter poucos recursos, pois é para uso móvel. Isso torna mais rápido o carregamento do conteúdo que você deseja ver, mesmo que todo esse conteúdo não seja exibido tão bem quanto na visualização completa. É também por isso que o site para celular e os aplicativos "lite" do Facebook que fazem referência a ele funcionam muito melhor do que o aplicativo oficial do Facebook. E isso não é apenas um problema do Facebook - há muitos aplicativos que teriam todos os recursos compatíveis com o HTML5, mas são tão complexos (uma boa palavra para inchaço porque eles já existem há algum tempo e estão constantemente mudando) quanto o Facebook e agiria da mesma maneira.

Então, eu quero ver mais aplicativos HTML5 ou não?

Sim! Mas nem todos os aplicativos.

O HTML5 é realmente bom em muitas coisas e é uma ótima maneira de um desenvolvedor usar seu tempo para pensar em idéias criativas, em vez de procurar um manual de referência em Objective-C ou C ++. Mas, às vezes, a estrutura rígida de linguagens de desenvolvimento que força um desenvolvedor a fazer as coisas de uma certa maneira é o que faz o resultado final funcionar melhor em nossos telefones.

Os aplicativos HTML5 podem ser um pesadelo, como vemos no aplicativo do Facebook, ou incríveis, como vemos no site do Gmail para celular. Ou Uber. Ou Instagram. Ou qualquer uma das centenas de aplicativos HTML5 que usamos todos os dias. Isso não é algo com que devemos nos preocupar, mas é algo totalmente importante para os desenvolvedores debaterem sem parar. E agora, enquanto eles estão debatendo e tentando convencê-lo de que é melhor, você sabe um pouco sobre por que eles estão dizendo as coisas que estão dizendo.

Podemos ganhar uma comissão por compras usando nossos links. Saber mais.