Por que eu devo ler este artigo: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. O aumento do desempenho pode ser alcançado através da otimização de recursos baseados principalmente em códigos CSS e JS. Com a WebUtilities também é possível fazer uso do cache do navegador, informando quais arquivos e quanto tempo eles devem permanecer em cache. Técnicas de minify também fazem parte dos recursos dessa biblioteca, o que ajuda e muito na otimização das páginas web.

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 retor ...

Quer ler esse conteúdo completo? Tenha acesso completo