PplWare Mobile

Debate: HTML5 ou Aplicações nativas…quem ganhará?

                                    
                                

Este artigo tem mais de um ano


Autor: Pedro Pinto


  1. Tony_tha_Mastha says:

    Supostamente a aplicação nativa do Facebook para android é feita com HTML5… Falta aí a mistura das duas vertentes.

  2. Nuno Gonçalves says:

    Para mobile é apps nativas sem duvida. Agora desktop é HTML5 mas é essa a minha opinião 😛

  3. AlexAlex says:

    Prefiro as aplicações via browser somente para uso profissional em coisas específicas. São mais práticas, também não necessitam de funções extras (que podem ser usadas ou não). Assim, podem ser feitas sob medida para a necessidade e são mais fáceis de criar e manter. Para uso pessoal ou profissional genérico, com certeza, na minha opinião, as nativas adequam-se muito melhor, pois acabam por serem mais completas e entregarem uma melhor experiência.

  4. fran says:

    eu prefiro apps nativas sem duvida.

  5. Raul Oliveira says:

    Depende da solução pretendia, autonomia, integração. existem muitas variaveis. Não pode, nem deve ser assim tão rigido.

  6. eduardo says:

    Tudo depende do objectivo das aplicações e em que situação são usadas!
    Neste momento para a maioria dos casos faz mais sentido aplicações nativas.
    E há várias outras razões para optar por nativo! Performance (vai além da funcionalidade) e segurança parecem-me ser bastante relevantes

  7. k3bra says:

    As aplicações nativas serão sempre mais rápidas enquanto HTML5 tem a vantagem de rodar em qualquer sistema operativo

    • João Rodrigues says:

      Para alem de serem mais rapidas consegues implementar funcionalidades numa aplicação nativa que com html5 não consegues… ou podes ate conseguir mas de uma forma muito mais complicada.

  8. NG says:

    Actualizem-se por favor… já existem milhares de aplicações nativas que são feitas em “HTML5” (Javascript). Ver Phonegap ou Titanium.

    Ou seja, HTML5 já ganhou. Next.

    • Pedro Pinto says:

      A questão é essa:
      – HTML5
      – APP nativas
      – Hibridas (HTML5 + APPs nativas)

    • Nuno Gonçalves says:

      Não precisas de ser assim tão obtuso, um excelente exemplo de como o HTML5 ainda tem um longo caminho para percorrer foi o facto do facebook ter recuado e ter lançado a app para iOS em objective-C, e o resultado foi que ficou muito mais rapido que a versão em HTML5.

      • NG says:

        Performance não foi um dos pontos levantados por este artigo. Todos os outros estão obsoletos ou errados.

        A performance tem a ver com a jovem idade dos engines dos browsers nativos e alguns entraves levantados (onde já vimos isto) por questões proprietárias. Mas essa diferença vai-se esbatendo muito depressa…

        • eduardo says:

          em termos de performance o HTML5/javascript nunca irá alcançar o código nativo pela própria natureza da linguagem.
          Se até o JAVA com os anos que tem não consegue essa proeza como é que podes esperar uma coisa dessas duma linguagem que não foi desenhada para correr programas complexos e nem tem acesso directo ao processador?

          • Como nota, o tempo de compilação de uma linguagem virtual, considerando os processadores actuais, já se tornou bastante irrelevante. Se tirarmos aplicações de alto rendimento da equação, como jogos e bases de dados, não há qualquer motivo para se utilizar linguagens nativas tirando raríssimas frameworks.

            Ambientes virtuais, como o .Net, já atingiram um nível de maturidade fantástico em que os ganhos a nível de dinamismo,gestão de memória, etc superam largamente o pouco ganho de desempenho que se teria com a utilização de uma linguagem de compilação específica.

            Infelizmente o Java, apesar de largamente suportado pela comunidade open source, não tem atingido os parâmetros de performance que eu gostaria.

          • eduardo says:

            Não vais comparar o javascript com o .Net!!!!???
            O javascript não foi feito para esse tipo de programas, e torna-se uma dor de cabeça criar código mais complexo dadas as suas limitações. A própria Microsoft viu-se obrigada a criar uma espécie de extensão para o Javascript para poder ter algo minimamente comparável às restantes linguagens em termos de programação.

          • @Eduardo

            Meu caro, tu é que disseste o seguinte “Se até o JAVA com os anos que tem não consegue essa proeza…”. Eu simplesmente sublinhei que não é bem assim.

            Não estou a comparar Javascript com Java nem .NET. Não imagines aquilo que não foi dito! Se não sabes interpretar um simples texto, perfeitamente bem pontuado, o problema não é meu.

            Acho que fui bem claro ao indicar que dizeres que Java, uma linguagem sobre VM, não consegue a proeza de se equiparar, a nível de performance, a linguagens de mais baixo nível está errado e apenas não o consegue porque não quer têm sido efectuados os esforços necessários, uma vez que tens .NET que simplesmente consegue performances extremamente próximas de código nativo (se retirar-mos o reduzidíssimo tempo de JIT, a performance é exactamente a mesma).

            Como nota, também se tomam como aplicações nativas Android, aplicações desenvolvidas em Java que, tal como no PC, executam sobre uma VM, neste caso desenvolvida pela Google.

            Enfim, tenta-se ser claro e estruturar bem as frases, mas aparentemente a atenção é pouca neste mundo da Internet.

        • Pedro says:

          Quando tiveres a tenra idade de um dia te aventurares a programar a tua primeira aplicação para telemóvel, depois falamos.

    • Luís Nabais says:

      Não confundas alhos com bugalhos.

      Em Titanium, por exemplo, crias as apps em javascript mas são compiladas com código nativo e processadas sem qualquer tipo de HTML5 ou javascript no fim.
      Nesses casos, as únicas limitações são as limitações que o framework permitir compilar em código nativo.

      A discussão aqui é como devem as apps correr directamente nos dispositivos mobile. Em HTML5 ou nativamente.

  9. JorgeB says:

    Sem duvida apps nativas, aliás até o próprio fundador do Facebook (Mark Zuckerberg) disse que o Facebook apostar muito no HTML5 nos dispositivos móveis (http://techcrunch.com/2012/09/11/mark-zuckerberg-our-biggest-mistake-with-mobile-was-betting-too-much-on-html5/).

    Enquanto as apps feitas em HTML5 podem ser mais compatíveis e faceis de programar para várias plataformas, a sua performance, versatibilidade e funcionalidade nunca pode ser comparada a apps nativas. As apps nativas são feitas especialmente para aquele sistema, desenhadas para funcionar naquele sistema e correm directamente em cima do sistema, as apps “in browser” estão em cima de 2 layers (browser e sistema), logo a sua performance vai ficar muito aquem das apps nativas e nunca conseguirão ser tão elaboradas como uma app nativa.

    • JorgeB says:

      edit: Sem duvida apps nativas, aliás até o próprio fundador do Facebook (Mark Zuckerberg) disse que “foi um erro” o Facebook apostar muito no HTML5 nos dispositivos móveis

    • JorgeB says:

      adicionando as apps hibridas: Mesmo sendo uma mistura das duas a sua performance é muito aquem das nativas, visto que o que têm é basicamente um iframe a redireccionar para o site.

  10. Rui Peres says:

    Como developer tento estar a par disto, almost on daily basis. A melhor frase que li sobre este assunto foi: “se o seu negócio depende disso, go native”.

    • João Santos says:

      Para quem tiver uma ideia para uma App, como deve proceder???

      É preciso registar a ideia e a marca nalgum sítio, para não permitir cópias descaradas?

      Qual é o melhor sitio para se procurar um programador? E como nos podemos assegurar de que não nos roubam o projecto?

      Existe algum site para apoiar projectos, tipo incubadora ? (dar uma percentagem fixa dos lucros, para poder apoiar outros novos projectos…)

      Acho que é um tema actual e eu tenho algumas ideias, falta é capital e capacidades de programação… Não me importava nada de brevemente ver aqui algo sobre o assunto :p

  11. Pedro says:

    HTML 5 I guess…

    Custos de desenvolvimento/manuntenção muito menores (apenas uma plataforma);
    Muito mais fácil a distribuição, um simples link;
    Monetização simples também, loginn pago nos sites, publicidade, freemium;

    Quanto às funcionalidades, é uma questão de tempo até serem as mesmas ou quase.
    Quanto à internet: qual é a app nativa que não usa internet? Só se forem funcionalidades básicas, quanto é necessário algum tipo de Business Intelligence todos os dados necessário estão sempre na net.

    Vejam por favor o caso da empresa PORTUGUESA OutSystems. Com um sucesso estrondoso no estrangeiro (okay eles não usam HTML5) desenvolvem plataformas/apps para PC,Mac,Mobile,etc tudo com a mesma plataforma e tudo acedendo a um simpels link. Simples, poderoso e tremendamente eficaz.

  12. Nelson says:

    De forma resumida as apps nativas só ganham as HTML5/javascript na questão da performance.

    Quanto ao artigo, dizer que as apps nativas têm mais funcionalidades que as html5 é errado. Graças à tecnologia phonegap pode-se “empacotar” a app html5 numa app nativa, conseguindo tirar partido das mesmas funcionalidades como se de uma app nativa se tratasse, como aceder à câmara, sensores, GPS, etc..

    Página oficial phonegap: http://phonegap.com/

  13. Fernando says:

    Apps nativas são as melhores

  14. says:

    Era uma vez o DOS, o Win3.1 e as aplicações nativas. Depois a coisa avançou e veio a net em todos o lado, e veio o Google e as aplicações Web…
    Agora veio o Symbian, depois o iOS e o Android e o WinMobile e as App na Store. Pode ser que um dia passe a haver net gratuita em todo o lado…
    A história repete-se! 🙂

    • says:

      Resumindo apenas acho que a necessidade de Apps nativas diminui conforme aumenta a dimensão de dispositivo e/ou aumenta a disponibilidade de rede.
      Continuamos a necessitar de Apps nativas sim? Assim como num PC. Mas cada vez mais queremos tudo na net, numa Cloud etc.

    • Carlos says:

      Acho que estás a confundir o Windows Mobile com o Windows Phone. O Windows Mobile é desses todos o mais antigo, é tão antigo que na altura nem se usava a palavra smartphone.

  15. Cris. says:

    Penso que nenhuma ganharà, cada uma terà seu espaço, jà que na minha opiniao complementam-se. Para aplicações especificas ou com necessidades de funções do telemovel, como por exemplo, openvpn, teamviewer, etc.. nao me parece que uma pagina HTML5 possa um dia incorporar essas funcionalidades. Bem como acho ridiculo criar app’s nativa para sites noticiosos/d’informaçao por exemplo, o Publico, o expresso tem pessimas aplicaçoes daí recuso-me a usar estas embora aprecio as paginas mobiles destas. Tambem me recuso a instalar apps de redes sociais (ex. FB e Linkedin) uso somente paginas mobile destas.
    Para quando a pagina mobile pplware ? Cumps.

  16. K says:

    O HTML 5 ainda está meio “verde” e em termos de performance ainda está a uma distância bastante considerável das aplicações nativas.

  17. mdias says:

    Enquanto houver necessidade de optimizar a performance de uma app/jogo, nunca deixará de haver aplicações nativas. Um raytracer sério por exemplo nunca será implementado em javascript.

    Mais tarde ou mais cedo a especificação HTML5 também ficará “outdated” e vai ser necessário outro standard qualquer, por isso se calhar a pergunta deveria ser mencionar “web-hosted” em vez de “html5”.

    A médio prazo, para jogos, tenho poucas dúvidas que quem vai ganhar são soluções baseadas em plugins do browser (Unity3D), e não o HTML5.

    É preciso não esquecer que hoje em dia, aplicações em javascript/html5 já quase que podem ser tecnicamente consideradas nativas uma vez que o código é interpretado e compilado “Just-In-Time” para código nativo.

    Mais cedo do que tarde a pergunta vai ser “aplicações web-hosted ou local-hosted?” juntamente com a conversa toda relacionada com a privacidade etc.

  18. Hugo Pires says:

    Para aplicações simples, híbridas, sem duvida… Permite abranger um numero maior de dispositivos de uma só vez, apenas criando um “wrapper” para cada dispositivo, e permite a monetização através das application stores. Para aplicações mais complexas é preferível criar aplicações nativas.

  19. António Mendes says:

    Uma vez que falamos de desenvolvimento multi-plataforma, existe soluções que geram código nativo em iOS/Android (ex: Xamarin MonoTouch e MonoAndroid).

    Relativamente ao pos/con HTML5, como disse ao Rui Peres, depende do negócio.
    Sei de casos em que para usar os recursos do terminal, as plataformas Phonegap & inc não tem API, ou são relativamente fracas. Nesses casos, sem dúvida native.

    • António Mendes says:

      Esqueci-me de dizer a desvantagem do HTML5 como plataforma, que “viola” as guidelines de design de cada plataforma.
      Botões de iOS num WP7 é feio 🙁

  20. Tiago Andre says:

    Discordo com algumas coisas: distribuição e monetização tambem se faz em apps em html5 com recurso a frameworks tipo titanium sdk ou phonegap, aliás tenho as duas (uma delas á venda) no google play e apple store.

    Durante algum tempo da minha vida como mobile developer programei essencialmente em html5 e javascript usando estas duas frameworks e as vantagens sao principalmente portabilidade, um unico codigo para todas as plataformas, as desvantagens sao principalmente o desempenho e não tens acesso a algumas coisas como por exemplo criar widgets.

    Recentemente aprendi Objective-C e voltei a programar em Java.

    E o que faço agora é html5 para aplicaçoes que nao precise de muito desempenho, que tenha pouco tempo e que precise de multiplataforma, ou que queira apps do genero webapp.

    De resto prefiro nativo

  21. Joe says:

    Simplificando, depende do público e dispositivos alvo.

    Complicando um pouco o HTML 5 está a léguas das apps nativas, toda gente diz que é o futuro, o que é certo é que já se diz isso há anos e vai-se continuar a dizer por um bom tempo.

    Quando se começar a dizer que html5 é ideal para o presente aí sim, ainda assim as apps nativas vão estar à frente mesmo num futuro distante.

  22. EXP001 says:

    Como ja foi referido tb creio que todas terao o seu espaço.
    Eu de tantas dores de cabeça que tive por causa dos browsers passei para o JavaFX. Para aplicacoes empresarias pode-se dizer que temos o melhor dos dois mundos

  23. Francisco says:

    Olá Pedro.
    Gostava de partilhar algumas informações que tenho sobre este assunto.
    A parte da dependência da conectividade das aplicações HTML 5, já não é verdade um dos exemplos é o Google Docs offline.
    Em relação à monetização também é possível comprar webApps na Chrome Web Store e algumas delas são pagas, é só uma questão de escolha.
    A maior parte das aplicações construídas para a plataforma mobile, pelo que me parece era perfeitamente possível portá-las para html5, pois a principal diferença cada vez menos é a performance, apenas aquelas que apresentam comunicação com certos sensores poderiam ter mais dificuldades, a menos que fossem hibridas ou tivessem acesso a um cliente nativo o qual acredito estar disponível também no futuro.

    No caso do Android, a integração das aplicações com o sistema operativo é fantástica, graças a implementação de Intents, de qualquer forma o Google está a providenciar isso também para a web com webIntents.
    Para além dessa diferença existe, a performance, mas à medida que os equipamentos começam a ser mais potentes, isso nota-se cada vez menos.

    Por estas razões, acredito que o futuro sim seja HTML 5 a diferença estará, mais na escolha do ecossistema e na integração que ele permite às aplicações do que no formato das aplicações.

  24. Rui Costa says:

    Deixo aqui apenas mais um apontamento a considerar, no meio de todos estes pontos enunciados faltou a aceitação pelo público. Enquanto falamos de aplicações para não profissional/empresarial a maior parte das pessoas vão continuar a olhar muito para a relação custo/benefícios.

    Mas no sector empresarial além de se considerar esta relação continua a existir ainda muita desconfiança em relação às aplicações em HTML. Esta desconfiança aumenta ainda mais se o motor e/ou a base de dados estiverem alojados fora das instalações da empresa.

    Trabalhei 6 anos numa empresa de software onde produzíamos um ERP, já muito bom, todo ele WEB – HTML, Javascript, CSS e nada mais. E um dos maiores entraves, apesar do cliente ficar nas suas instalações com o servidor Web/BD, era a desconfiança em relação à segurança e às capacidades de uma aplicação neste formato.

    As mentalides mudam mas raramente se consegue determinar qual será o ritmo dessa mudança e a proliferação das aplicações HTML, pelo menos no sector empresarial, vai depender muito deste factor.

    • Francisco says:

      A desconfiança será que é porque correm no browser?
      Se for, a solução pode passar por packeged Web Apps.
      http://developer.chrome.com/extensions/apps.html
      Tenho noção que sim, que as empresas desconfiam de apps a correr no browser, porque associam (browser, internet, informação acessível ao mundo). Enfim…

    • O sector empresarial está a optar imenso por aplicações Web, principalmente em redes internas. São raríssimas as empresas que não têm pelo menos uma aplicação interna assente em servidores Web.

      Com a proliferação de SOA e da crescente necessidade de integrar diversos sistemas, as empresas têm aberto a porta a soluções Web, seja pela simplificação de actualizações, distribuição e sincronização de dados, seja pelas crescentes possibilidades que o HTML5/CSS3 têm vindo a oferecer.

      Com excepção de aplicações de alta performance ou que requeiram funcionalidades impossíveis (ou de grande dificuldade) de implementar em aplicações Web, com infraestruturas de boa qualidade, não há motivo para não se utilizar uma aplicação Web.

      Em relação à segurança, posso dizer que é rara a empresa que não utilize aplicações Web para gestão de funcionalidades criticas, por exemplo facturação, seja através de aplicações proprietárias ou à medida.

      • Rui Costa says:

        Nesta última parte, no exemplo da facturação, sou obrigado a discordar, pelo menos em relação ao mercado Português. Veja-se quais são as aplicações de facturação utilizadas em Portugal e quota de mercado, quase tudo aplicações para Windows. Muitas oferecem uma variante ou complemento Web que na maior parte das vezes nem possui todas as funcionalidades da variante Windows. E depois existem ainda muitas empresas que internamente usam apenas os módulos Windows disponibilizando os módulos Web apenas para alguns colaboradores por questões de mobilidade.

        • Nelson says:

          Oh, mas isso são os “coitadinhos” que tu vês nos cafés e restaurantes e etc’s, ou com softwares mais antigos (se funciona, para quê mexer?)

          Para uma empresa mais exigente, a nível de software POS, gestão de stocks, etc. etc. etc., prefere tudo hoje app’s web

        • Nelson says:

          PS: Basta o facto de se um computador ou tablet ou smartphone avaria, basta comprar/arranjar outro, e em segundos, tem-se o sistema instalado para convencer qualquer um!

  25. Cláudio Esperança says:

    Se falarmos no futuro, não tenho dúvidas que será o HTML5+… Ainda esta semana tive de fazer um protótipo rápido para uma aplicação com o objetivo de capturar texto, uma fotografia, desenhar e eliminar caminhos, e construir uma imagem que era enviada para um servidor. Em algumas horas consegui desenvolver uma aplicação que funciona no browser com recurso ao HTML5, canvas, video, usermedia API e javascript para ligar tudo… Simplesmente fantástico! Fiquei maravilhado com que já se consegue fazer numa janela de browser e sem recorrer a qualquer plugin.

    Agora estou a trabalhar no projeto com nodejs e estou a utilizar o Cloud9 (https://c9.io/). O IDE funciona inteiramente no browser e é simplesmente fantástico… Funciona exatamente como uma aplicação e demonstra bem as potencialidades da Web…

  26. José says:

    Não sei se alguém referiu, mas temos de ter em conta que as aplicações para windows 8 podem ser desenvolvidas em HTML5 Javascript e CSS3, acho então que podemos concluir que o HTML5 vai ser uma plataforma de desenvolvimento com muito futuro. Sempre acreditei na Microsoft e até agora não me tenho arrependido.

  27. Ricardo says:

    Penso que ambos vão co-existir.

    Tal como hoje existe o HTML e aplicações nativas, no futuro irá existir HTML 5 e aplicações nativas. A escolha de uma ou outra tende a ver com os requisitos da própria aplicação.

    Ambos têm vantagens e desvantagens.
    O HTML é mais difícil de desenvolver porque normalmente cada browser tem as suas especificidades, tal como é hoje.
    O HTML será sempre mais lento pois é interpretado por um browser e não pelo OS ou VM.
    O HTML tem uma grande vantagem que não requer instalação no pc local e pode ser acedido de qualquer lado. A própria manutenção é mais simples.

Deixe um comentário

O seu endereço de email não será publicado.

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste site ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. A administração deste site reserva-se, desde já, no direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação do seu autor (nome completo e endereço válido de email) também poderão ser excluídos.