Google Code WebUtilities: o acelerador front-end
Este artigo apresenta ao leitor a biblioteca WebUtilities do Google Code. Esta biblioteca tem como objetivo aumentar a performance no lado cliente de aplicações web desenvolvidas na linguagem Java.
A internet hoje é uma ferramenta praticamente indispensável, tanto para o âmbito comercial como para o âmbito pessoal. Um grande número de sites como blogs, e-commerces, redes sociais, páginas pessoais e também comerciais têm surgido de forma rápida.
A cada dia aparecem novas aplicações que podem obter sucesso ou não diante dos seus usuários, e assim como o sucesso, o fracasso está ligado a como a aplicação foi desenvolvida e as técnicas que foram utilizadas por seus programadores.
Desenvolvedores de sistemas costumam dividir uma aplicação em duas partes, ou dois lados. O lado servidor, ou back-end, é onde se encontra a lógica de programação, como as regras de negócio e o acesso ao banco de dados. Normalmente ele é caracterizado por uma linguagem de programação específica, como Java, PHP, Python ou .NET.
O outro lado é chamado de cliente, ou front-end, e é a parte da aplicação que será exibida para o usuário em um navegador web, como o Google Chrome, Firefox, Opera, entre outros. Basicamente o front-end é construído com o uso de HTML, CSS e JavaScript.
Anos atrás se dava muita importância apenas para o lado servidor de uma aplicação. Muitos padrões de projeto foram desenvolvidos para que os programadores tivessem códigos mais claros, bem estruturados e de bom desempenho.
O lado cliente era muitas vezes deixado de lado, bastava apenas ter uma aparência moderna e agradável para o usuário final. Contudo, o front-end influencia também na performance de uma aplicação.
Quando o usuário clica em um link e uma página é aberta em seu navegador, algumas coisas podem influenciar negativamente no tempo total que esse site levará para renderizar todos os seus componentes.
O que acontece na verdade é que todo código JavaScript, CSS, HTML e também imagens devem ser carregados pelo navegador, para que este então possa exibi-los ao usuário. Esse processo funciona mais ou menos como um download. O navegador faz o download desses arquivos para então renderizá-los.
Estudos relatam que 80% do tempo de resposta para o usuário final é gasto no front-end. Para fazer com que o front-end se torne mais eficiente e também amigável ao navegador, várias técnicas de desempenho têm sido sugeridas nos últimos anos. Algumas destas técnicas são: habilitar a compactação com GZIP, minificar arquivos JS e CSS, comprimir o HTML, otimizar imagens, colocar chamada a CSS no topo das páginas e JS no final das páginas, configurar regras de cache, entre outras.
Uma forma de medir o desempenho de páginas web é usando ferramentas como YSlow e PageSpeed (veja a seção Links). Estas ferramentas têm como princípio validar a página web por meio de métricas. O objetivo destas métricas é analisar o tempo que uma página leva para ser completamente renderizada pelo browser. O resultado da análise retorna um valor, normalmente uma nota que se encontra entre 0 a 100, e quanto mais próximo de 100, melhor o desempenho da página.
O resultado também tem como característica informar quais são os pontos críticos que geram o baixo desempenho da página, e com essa informação o desenvolvedor sabe o que precisa ser aprimorado.
Na linguagem Java existe uma biblioteca chamada WebUtilities, provida pelo Google Code, que ajuda os programadores com essa tarefa. A WebUtilities fornece componentes embutidos para aplicar algumas dessas boas práticas na sua aplicação web, exigindo uma alteração mínima no código, mas com um alto impacto para acelerar o carregamento das páginas e obter, assim, uma maior pontuação na análise de performance.
Durante este artigo o leitor será apresentado à biblioteca WebUtilities e poderá conhecer algumas das vantagens em adicioná-la em suas aplicações web.
Conhecendo a WebUtilities
A biblioteca WebUtilities foi desenvolvida para a linguagem de programação Java com o intuito de fornecer componentes capazes de ajudar a maximizar o desempenho do front-end de aplicações web. Muitas vezes não importa se um site possui bom conteúdo ou mesmo o melhor conteúdo sobre um assunto específico. A navegação entre as páginas deste site e o tempo que o usuário leva para visualizar o conteúdo requerido é muito importante. Isto pode definir se o visitante vai continuar acessando o site ou não. O bom desempenho pode garantir o retorno desse usuário no futuro e um baixo desempenho pode afastá-lo de vez do site."
[...] continue lendo...Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo