A WEB COMO PLATAFORMA – Revolução do
HTML5
Juliano Flores Prof. Lucas Plautz Prestes
Centro Universitário Leonardo da Vinci - UNIASSELVI Gestão de TI (GTI034)
06/11/2012
RESUMO
Escrever programas de computador, que executem em qualquer computador do mundo. Este sonho, que muitos programadores possuem, de escrever código que seja realmente multi-plataforma, pode estar mais perto do que imagina-se. Este estudo tem por objetivo trazer um embasamento sobre os conceitos de multi-plataforma, suas vantagens e desvantagens. Traça-se também um paralelo entre outras tecnologias que permitem o conceito de multi-plataforma, e como elas diferem do HTML5. Estuda-se também os conceitos que envovlem a tecnologia de HTML5. Como ele é composto, quais funcionalidades possui, suas compatibilidades. Além das vantagens e desvantagens de seu uso para o desenvolvimento de aplicações web. Sobre modelos negócios, cita-se exemplos, cases de empresas que usam a tecnologia HTML5 e explica-se como é possível para uma organização obter lucro quando usando aplicações que utilizam esta tecnologia. Finaliza-se mostrando as vantagens de usar a tecnologia e explicando os motivos pelos quais o objeto de estudo é válido no contexto atual de tecnologia e que funciona para investimento pelas empresas.
Palavras-chave: HTML5, Internet, Web, Desenvolvimento, Software.
1 INTRODUÇÃO
Criar software que funcione em vários computadores diferentes, em diversos sistemas operacionais e em inúmeros processadores diferentes. Sem ter um custo astronômico de desenvolvimento ou esperar durante anos para que o mesmo fique pronto. Este é o objetivo de muitos programadores e empresas no mundo afora. Um software que possa ser considerado realmente multi-plataforma.
Após a revolução da Web e da Web 2.0, pode-se considerar que praticamente todos os computadores do mundo estão conectados a internet, ou aptos a estarem conectados. Isso significa que é quase impossível encontrar um computador hoje, que não possua um browser (navegador) instalado. Então, acredita-se que esta é a hora de usarmos este recurso comum a todos computadores para desenvolver e rodar softwares.
HTML5 é a versão atual da linguagem HTML (Hyper-Text Markup Language ou Linguagem de Marcação de Hiper-Texto em português) que é a linguagem na qual as páginas de
internet são produzidas. Essa linguagem, simples em sua estrutura, pode ser conectada a diversas outras tecnologias, como php, ASP.NET, CSS e outras, possibilitando assim, a integração das páginas da internet com bancos de dados e conteúdos multimídia como vídeos, músicas e animações. Nesta versão atual, ainda existe a possibilidade de se criar páginas dinâmicas, usando recursos de Javascript.
As perguntas que pairam: A tecnologia já está amadurecida o suficiente? É viável investir em software para a web? Quais as maneiras que as companhias podem usar este tipo de software? E lucrar com ele?
Este estudo tentará responder estas questões, mostrando uma introdução a conceito de multi-plataforma, vantagens, desvantagens e possibilidades de mercado para este tipo de software e modelo de negócios disponíveis para a tecnologia.
2 PLATAFORMA ACESSIVEL
“Plataforma é o conjunto de hardware e software usado para executar alguma aplicação” – Wikipedia (Tradução do autor). Pode-se também descrever a plataforma como um sistema operacional ou uma arquitetura de computador.
Para que seja possível executar um programa em um computador, é necessário que o computador consiga interpretar o código do programa. Para isso, normalmente, o código é escrito especificamente para um tipo de computador ou sistema operacional. Por exemplo, um software para a plataforma Windows, não executa na plataforma Linux. Caso seja necessário executar um mesmo programa nas duas plataformas, o programa precisa ser reescrito para a plataforma desejada. Este processo dobra o tempo de desenvolvimento e aumenta consideravelmente o custo, já que normalmente os programadores são especializados em apenas uma plataforma.
2.1 – Multi-Plataforma
Algumas alternativas foram desenvolvidas para que fosse possível escrever programas que funcionassem corretamente em mais de uma plataforma. Uma das alternativas mais populares, a criação da linguagem Java, que executa o mesmo código em qualquer computador que tenha a máquina virtual Java instalada. Porém, esta alternativa, não cria código que seja multi-plataforma, já que o código foi escrito para a máquina virtual Java. Além de trazer problemas de performance, pois o computador não executa apenas o programa. Ele executa primeiro a máquina virtual Java
para depois executar o programa em cima da máquina virtual. Com isto, apesar de ser conveniente para os programadores, a plataforma Java não foi adotada em massa pelos usuários e nem pelas companhias.
Outras soluções em multi-plataforma, como C++, ainda requerem uma grande parcela de adaptação de código e é necessário testar na plataforma na qual deseja-se que o software funcione. Apesar destas desvantagens, muitos programas são desenvolvidos assim, podemos citar como exemplo: Microsoft Office (Windows e Macintosh), Mozilla Thunderbird (Windows, Linux e Macintosh) e Apache (Windows, Linux, Macintosh e outras plataformas), além de muitos outros programas.
2.2 – A Web está acessível
Como dito anteriormente, pode-se considerar que todos os computadores pessoais estão conectados ou estão aptos a, conectar na internet imediatamente. Para a grande maioria das pessoas, isso significa, abrir um navegador e visualizar páginas de internet através dele. E portanto, pode-se
considerar que praticamente todos os computadores pessoais, tem algum navegador instalado. Com isso, a web já possui uma base de usuários grande, e eles estão aptos a trabalharem
com programas que executem diretamente via navegador. Criando assim, a possibilidade de
usarmos a Web, como plataforma de desenvolvimento de software. Uma plataforma que já é aceita e está disponível em larga escala, pois temos milhões de usuários com algum navegador instalado no computador. Em Julho de 2009, o site CNET News publicou que o Mozilla Firefox foi baixado mais de 1 bilhão de vezes, com isso, pode-se ver que a base de usuários disponível para a web, é bastante extensa, e variada, pois é composta de pessoas que pertencem a diversos grupos étnicos, classes sociais e graus de instrução.
A ideia então, é criar aplicativos que possam ser acessados diretamente no navegador do usuário, precisando ou não que o usuário instale-os primeiramente. Estes aplicativos podem ficar disponíveis off-line para que o usuário consiga acessá-los mesmo que o computador esteja desconectado da internet. Estes aplicativos, que vem sendo chamados de WebApps podem ser considerados multi-plataforma, pois o mesmo código, funciona em diversas plataformas, sem precisar de modificação, e usando uma condição pré-existente e disponível no computador do cliente (a presença de um navegador de internet).
2.2.2 – Webapps Offline
Webapps do tipo off-line, são aplicativos, que executam dentro do navegador de internet do cliente, porém após a primeira utilização, não é necessário que o computador esteja conectado a internet para que o aplicativo esteja disponível para o usuário.
Útil em situações onde o custo de conexão é relevante ao negócio, este tipo de aplicação web é minoria sobre o total de webapps, visto que o custo de conectividade permite máquinas conectadas a internet ininterruptamente.
FIG 1. Estrutura de um Webapp Offline (Fonte:Autor)
Em um webapp off-line, a estrutura das camadas, está desconectada da internet, deixando a aplicação disponível para o usuário, através da camada do navegador, a todo instante. Muitas aplicações off-line, sincronizam com o servidor, quando a conexão estiver disponível. Estes aplicativos podem ser instalados na máquina do usuário, através do próprio navegador.
2.2.3 – Webapps Online
Estas aplicações, executam através do navegador de internet, e dependem de uma conexão a rede mundial de computadores para que funcionem, pois utilizam recursos que estão nos servidores do provedor de aplicação, não sendo possível instalar os programas no computador do usuário. Estes aplicativos estão em constante comunicação com os servidores, e são finalizados quanto o usuário desconecta da internet ou fecha o navegador.
FIG 2. Estrutura de um Webapp online (Fonte:Autor)
Em um webapp online, a camada da aplicação é considerada a mesma camada do navegador e ambas são camadas filhas da camada de conexão a internet. Estas aplicações dependem de
comunicação em tempo real, com o servidor de aplicação, por isso, elas deixam de funcionar caso a conexão seja interrompida. A maioria dessas aplicações possui algum recurso de salvamento de dados, para que informações não sejam perdidas, caso a conectividade seja interrompida em algum momento inesperado. A grande maioria dos webapps funcionam desta maneira. Podemos citar aplicações como o Google Mail e o Google Docs como exemplo.
2.3 – HTML5
Segundo PILGRIM : “HTML5 não é apenas uma grande coisa, mas sim uma coleção de atributos individuais”. Ou seja, a tecnologia que chamamos de HTML5, não é apenas um componente, mas sim um conjunto de componentes criados com o objetivo de melhorar a
experiência de navegação de um usuário por uma página de internet.
A grande revolução do HTML5, é que, todo elemento pode ser acessado e manipulado, permitindo dinamicidade e interação com as páginas, além disso, nada que existe ou foi feito até agora é perdido. Já que toda a implementação de HTML5 é compatível com as versões anteriores (HTML 4.1 e XHTML 1.1), permitindo que os navegadores abram corretamente as páginas, independente da versão utilizada na sua programação.
O código HTML5, é completamente multiplataforma, já que o mesmo é interpretado e mostrado na tela pelo navegador. Isso garante redução de custos e maior velocidade no desenvolvimento de uma aplicação. Com o HTML5, é possível escrever aplicações que se
comportam como aplicações normais, do tipo off-line. É possível, além apenas de apresentar textos ou imagens aos usuários, permitir que as informações sejam alteradas ou criadas pelo usuário, ou mesmo que o usuário possa usar recursos que sem a aplicação não estariam disponíveis no computador. Como exemplo, cita-se o Adobe Photoshop Web, que permite ao usuário editar imagens e fazer tratamento de fotos. Carregando fotos do seu computador, alterando-as e salvando novamente no seu computador.
Este processo ocorre sem que o usuário tenha que instalar o Adobe Photoshop em sua estação de trabalho. E não depende da plataforma do computador. O mesmo código rodará em Microsoft Windows, Linux ou Macintosh. Ou em qualquer outra plataforma que tenha suporte aos recursos de HTML5.
Outra vantagem de HTML5, é que a força motriz por trás da tecnologia, é a linguagem Javascript. A mesma que os desenvolvedores web já utilizam, sendo assim não é preciso gastar tempo e dinheiro com treinamento e preparação de programadores. Além disso, a utilização de Javascript garante a compatibilidade com as versões anteriores e permite a expansão de funções no futuro, pois a linguagem é dinâmica e interpretada pelo navegador.
Como o HTML5 é apenas um container de outros elementos, sua estrutura é similar a de uma caixa, onde ficam outros componentes, como o Javascript, o CSS, e as linguagens de conexão a banco de dados como php, asp.net e ColdFusion. Como essa estrutura é dinâmica, é possível atualizar os componentes que estão dentro da caixa, sem precisar trocar a caixa. Isso garante que o suporte a HTML5 será correto e por mais tempo, já que os elementos podem ser atualizados dentro da especificação.
FIG 4. Tabela de Suporte a componentes HTML5 (Fonte: FERREIRA e EIS, p.13)
O quadro acima, montra quais elementos do HTML5 são suportados pelos principais navegadores. Essa modularidade do HTML5 é a sua principal vantagem para os desenvolvedores, pois eles podem utilizar os módulos de acordo com o seu público-alvo.
A principal desvantagem do HTML5, no momento, está no fato de se tratar de uma tecnologia nova, o que significa que oferecer suporte de longa duração a uma aplicação pode ser difícil, porém, caso sua aplicação seja do tipo online, a mesma poderá ser atualizada sem que ocorra interferência do usuário.
2.3.1 – Tecnologia Móvel
O HTML5 é uma especificação que já prevê a utilização de dispositivos móveis, como tablets e smartphones conectados a internet. Toda a especificação e implementação foi criada, tendo em mente, que deveria ser possível criar aplicações que executem tanto em computadores quanto em dispositivos móveis, sem que o código seja alterado. Esta mentalidade, permite que os programadores possam se focar diretamente no código e nas funcionalidades de uma aplicação. Enquanto os componentes HTML e CSS, dentro do HTML5, se certificam que o programa será legível tanto em telas pequenas de smartphones como em telas grandes de computador.
Os principais fabricantes de smartphones, já possuem navegadores de internet, que são compatíveis com HTML5, garantindo que essas funcionalidades estejam a disposição dos usuários e desenvolvedores.
2.4 – Modelos de Negócio
As grandes empresas que investem em tecnologia necessitam obter lucro em retorno ao investimento. E os modelos de negócio estão mudando constantemente para melhor abrigarem estas mudanças na tecnologia e na maneira como os usuários utilizam a tecnologia.
A grande vantagem para as empresas é poder usar apenas um código para todas as plataformas, usando a web como uma plataforma de desenvolvimento de aplicativos. O Google Docs por exemplo, permite que o usuário trabalhe com documentos de texto e planilhas em qualquer computador, salvando os documentos na internet, e estando sempre disponíveis para o usuário, em qualquer local que ele tenha acesso a rede mundial.
Muitas empresas estão usando as aplicações web como forma de demonstrar seus produtos para os possíveis clientes. Este é o caso da Adobe, com o Photoshop Web, que trata-se de uma versão gratuita do conhecido programa de edição de imagens. Porém com menos recursos que as versões pagas. A rede social de imagens Instagr.am utilizou um modelo de negócios que garantiu seu valor através de um número grande de usuários. Desta maneira a empresa pode vender anúncios em sua aplicação, e sabe que o mesmo será visualizado por milhões de pessoas. É possível comprar aplicativos web, como é o caso do Lubith, uma aplicação para edição de Temas Wordpress. Que é vendida no próprio site da empresa.
Companhias estão utilizando HTML5 e aplicações web para agregar valor a marca. Empresas como Coca-Cola, Mercedes-Benz e Ferrari, oferecem pequenos webapps em suas respectivas páginas na rede social Facebook, que permitem ao usuário criar imagens para
compartilhar com os amigos e assim divulgar a marca. Estas aplicações são gratuitas e usadas pelas empresas como ferramenta de marketing e divulgação.
É possível ainda usar as aplicações web internamente nas empresas. O recurso de intranet vem mudando nos últimos anos. Sempre sendo atualizado. Empresas já utilizam aplicações web que sincronizam pedidos de vendas feitos nos dispositivos móveis dos vendedores, com as aplicações do setor de vendas ou estoque, por exemplo, em tempo real. Garantindo assim um serviço com maior qualidade, e por consequência, maior lucro.
Usando a web como plataforma de entrega de aplicações, as organizações podem otimizar o desenvolvimento das aplicações, melhorar as rotinas de atualização e garantir a sincronia dos programas usados pelos funcionários ou clientes, para que sempre a versão mais nova esteja em uso, evitando assim que problemas já resolvidos continuem presentes nos sistemas. Com acesso
multi-plataforma e opção de acessos de dispositivos móveis, é possível usar a web como uma plataforma real de desenvolvimento de software.
3 – FUTURO CERTO – Considerações Finais
Com garantias de suporte a longo prazo, base de código unificada em diferentes
plataformas, o HTML5 tem se mostrado como uma opção para companhias e empresas que querem investir em aplicativos que executam diretamente nos navegadores de internet. Com o avanço dos dispositivos móveis, e aplicações web em modo de tela cheia sendo implantadas nos navegadores, o futuro do HTML5 parece estar garantido.
Um mercado que conta com bilhões de usuários aptos a receber e utilizar um único código, o conceito de aplicações web cada vez mais aceito pelos desenvolvedores e pelos usuários, e diferentes modelos de negócios a serem aplicados. As empresas podem sim investir nesta ideia, e é possível lucrar com isso.
Desde sua idealização e com atualizações constantes em sua especificação, o HTML5 é uma alternativa viável, lucrativa e atual para empresas, desenvolvedores e usuários, que podem criar e executar seus programas em qualquer plataforma, desde que, utilizem a web como plataforma de entrega para os softwares.
Enquanto é possível fazer uma apuração sobre as diferenças entre usar código proprietário de plataforma, ou código de aplicações web, principalmente em situações onde não existe gargalo de performance, é possível também afirmar que o HTML5 é uma realidade, e está aqui para ficar.
REFERÊNCIAS
PILGRIM, Mark. Dive Into HTML5, 2010
FERREIRA, Elcio; EIS, Diego. Curso de HTML5 – W3C Escritório Brasil. São Paulo, 2011 CNET NEWS – Acesso em 25/10/2012 - http://news.cnet.com/8301-1001_3-10301013-92.html WikiPedia – Acesso em 25/10/2012 - http://en.wikipedia.org/wiki/Software_platform