<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>zezologs &#187; Aplicações WEB</title>
	<atom:link href="http://www.zezologs.org/blog/tag/aplicacoes-web/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zezologs.org/blog</link>
	<description>teste de software, prevenção de erros, automação</description>
	<lastBuildDate>Tue, 16 Mar 2010 19:30:50 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>14 Regras B&#225;sicas Para Aplica&#231;&#245;es WEB</title>
		<link>http://www.zezologs.org/blog/14-regras-bsicas-para-aplicaes-web/</link>
		<comments>http://www.zezologs.org/blog/14-regras-bsicas-para-aplicaes-web/#comments</comments>
		<pubDate>Thu, 14 Aug 2008 23:57:04 +0000</pubDate>
		<dc:creator>eudescosta</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[Aplicações WEB]]></category>

		<guid isPermaLink="false">http://www.zezologs.org/blog/?p=312</guid>
		<description><![CDATA[<p>Recebi uma indicação de <a href="http://www.linkedin.com/pub/3/28a/143">Saulo Dourado</a>, designer gráfico do <a href="http://www.cesar.org.br/">CESAR</a>, de um livro chamado &#8220;<a href="http://www.livrariacultura.com.br/scripts/cultura/resenha/resenha.asp?nitem=2127241&amp;sid=89816811810814716578802174&amp;k5=268E07DC&amp;uid=">High Performance Web Sites</a>&#8221; que contém uma lista de 14 &#8220;regras&#8221; para o desenvolvimento de frontends eficientes, estas mesmas 14 regras são usadas no YSlow, que abordei em &#8220;<a href="http://www.zezologs.org/blog/dicas-firebug-e-yslow/">Dicas: Firebug e YSlow</a>&#8220;.</p>
<p>O autor do livro e do YSlow é <a href="http://stevesouders.com/">Steve Sounders</a> um guru na arte e ciência de performance em aplicações WEB.</p>
<p>As 14 regras são:</p>
<p></p>
<p><strong>Regra 1: Minimize HTTP Requests</strong></p>
<p>Problema) 80-90% do tempo navegando em uma página WEB é gasto em requisições HTTP, requisições estas que envolvem Imagens, Scripts, CSS, Flash que são referenciados no HTML.</p>
<p>Solução 01) Use <a href="http://en.wikipedia.org/wiki/Image_map">Image Maps</a></p>
<p>Imagem Maps é uma técnica que mapeia uma imagem, ao invés de carragar cada imagem individualmente como fazemos de costume, criamos uma imagem unica e mapeamos cada parte da imagem via javascript.</p>
<p>Exemplos: <a title="http://stevesouders.com/examples/imagemap.php" href="http://stevesouders.com/examples/imagemap.php">http://stevesouders.com/examples/imagemap.php</a>, <a title="http://en.wikipedia.org/wiki/Image_map" href="http://en.wikipedia.org/wiki/Image_map">http://en.wikipedia.org/wiki/Image_map</a></p>
<p>Solução 02) Similar ao Image Maps só que com CSS</p>
<p>Exemplo: <a title="http://css-tricks.com/css-sprites-what-they-are-why-theyre-cool-and-how-to-use-them/" href="http://css-tricks.com/css-sprites-what-they-are-why-theyre-cool-and-how-to-use-them/">http://css-tricks.com/css-sprites-what-they-are-why-theyre-cool-and-how-to-use-them/</a></p>
<p><strong>Regra 2: Use CDN´s (Content Delivery Network)</strong></p>
<p>Assim como descrito na 1º Regra &#8220;<strong>80-90% do tempo navegando em uma página WEB é gasto em requisições HTTP.</strong>&#8221;</p>
<p>CDN´s são servidores que hospedam conteúdo estático em servidores separados da sua aplicação, ou em caso de portais de grande porte, este conteúdo não somente é de conteúdo estático, como tambem de todo o conteúdo do site, que seria distribuído baseado na região de onde a requisições foi feita.</p>
<p><strong>Regra 3: Use &#8220;</strong><a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html"><strong>Expires Header</strong></a><strong>&#8220;</strong></p>
<p>Problema) Browsers usam cache para reduzir a quantidade de HTTP requests.</p>
<p>Solução) &#8220;Expires Headers&#8221; fala por quanto tempo um componente deve ser armazenado em cache.</p>
<p><strong>Regra 4: Utilize Gzip</strong></p>
<p>Problema) Excesso de HTTP Requests, causado pelos componetes de uma aplicação (imagens, css, etc)</p>
<p>Solução) Comprima seus arquivos usando gzip. A maioria dos browsers disponíveis no mercado suportam compressão de aquivos via o &#8216;Accept-Encoding&#8217;.</p>
<p>Gzip é o mais popular e eficiente método de compressão atualmente.</p>
<p>Exemplos) <a title="http://www.weberdev.com/get_example-3993.html" href="http://www.weberdev.com/get_example-3993.html">http://www.weberdev.com/get_example-3993.html</a></p>
<p><strong>Regra 5: Mova CSS para o topo</strong></p>
<p>Problema) CSS no final provoca demora no carregamento da página.</p>
<p>Solução) Esta prática, acredito que todos fazem a contento, pelo menos desde que comecei a trabalhar com WEB costumo por os CSS no topo, mas para aqueles que o inserem no final da página, vai ai o alerta, isso afeta o carregamento de suas páginas, a explicação é bastante óbvia, quando o browser recebe uma solicitação, ele procura primeiro quais elementos gráficos carregar para depois carregar o conteúdo da página, tornando o CSS no final um equívoco.</p>
<p><strong>Regra 6: Mova scripts para baixo</strong></p>
<p>Ao contrário do CSS, os scripts em sua maioria devem ser movidos para o final da pagina, deixando os scripts no &lt;HEAD&gt; podem afetar o carregamento gradual da página, movendo os scripts para final, permite a paralelização do download do conteúdo do site.</p>
<p><strong>Regra 7: Evite expressões em CSS</strong></p>
<p>Muitos utilizam expressões em CSS para definir um background-color que mudem dinamicamente, a cada hora, isso é um exemplo de uso desnecessário de expressões em CSS, neste caso, isto poderia estar em um script em javascript, php, C#, etc&#8230; .</p>
<p><strong>Regra 8: &#8216;Inlined&#8217; JavaScript e CSS </strong></p>
<p>Não consegui uma tradução para esta regra, mas irei explicar do que se trata.</p>
<p>&#8216;Inline&#8217; Javasctipt e CSS diz respeito a incluir os CSS e o Javascript inteiro na página ao invés de deixa-los em arquivos externos, como fazemos de costume.</p>
<p><strong>Regra 9: Minimize Domínios</strong></p>
<p>Algumas aplicações precisam fazer verificações de DNS, tente reduzir isso ao máximo.</p>
<p><strong>Regra 10: Minimize JavaScript</strong></p>
<p>Trata-se de uma boa prática em relação a confecção de CSS. Esta boa prática diz respeito a nomenclatura usada nos elementos.</p>
<p>Reduzir ao máximo o nome dos elementos, ou seja, fazer um refactoring no CSS.</p>
<p><strong>Regra 11: Evite Redirecionamentos</strong></p>
<p>Redirecimentos são usados para rotear uma URL para outra URL, está prática, por motivos claros reduzem o tempo de carregamento das páginas.</p>
<p><strong>Regra 12: Remova Scritps Duplicados</strong></p>
<p>Da mesma forma que temos que fazer refactoring periódicos, no código de nossas aplicações, devemos fazer refactoring  tambem no código do nosso front-end.</p>
<p>Muitas vezes esquecemos que o front-end tambem tem código <img src='http://www.zezologs.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><strong>Regra 13: Desabilite ETags</strong></p>
<p>ETags é um mecanismo que webservers e browsers usam para determinar se o componente do cache do browser combina com com o que está no servidor.</p>
<p>O problema com ETags é qu eles são tipicamente construidos usando atributos que os tornam únicos para o servidor que hospeda o site, logo eles nunca vão combinar com o cache do browser.</p>
<p><strong>Regra 14: Cache AJAX</strong></p>
<p>Como a própria regra fala, permita que o AJAX utilize o cache so seu browser</p>
<p>Todos os exemplos acima estão muito bem organizados <a href="http://stevesouders.com/examples/rule-min-http.php">aqui</a>, o autor destas regras é o <a href="http://stevesouders.com/">Steve Sounders</a>, eu apenas traduzi para o português algumas partes importantes das 14 regras.</p>
<p>Estas regras, não se aplicam em todos os casos, mas é importante termos a consciência de que elas existem e que a não adoção de muitas destas regras, implicará em redução da performance de sua aplicação.</p>
<br><hr /><h2>comentários</h2><li><a href="http://www.zezologs.org/blog/14-regras-bsicas-para-aplicaes-web/#comment-86">sexta-feira, agosto 15, 2008</a>, <span class='commentTipWrapper' lang='86'><a href='http://www.via6.com/topico.php?tid=210901' rel='external nofollow'>Eudes via Rec6</a></span> comentou: <strong>14 Regras Básicas Para Aplicações WEB | ...zezologs...</strong>

Lista de 14 regras a serem utilizadas em projetos de desenvolvimento de aplicações WEB. ...</li><br><li><a href="http://www.zezologs.org/blog/14-regras-bsicas-para-aplicaes-web/#comment-89">domingo, agosto 17, 2008</a>, <span class='commentTipWrapper' lang='89'><a href='http://dihitt.com.br/story/14-regras-basicas-para-aplicacoes-web-' rel='external nofollow'>eudescosta no diHITT</a></span> comentou: <strong>14 Regras Básicas Para Aplicações WEB ...</strong>

Lista de 14 regras definidas por Steve Sounders, a serem utilizadas em projetos de desenvolvimento de aplicações WEB visando a melhoria da performance do produto final. ...</li><br><li><a href="http://www.zezologs.org/blog/14-regras-bsicas-para-aplicaes-web/#comment-91">domingo, agosto 17, 2008</a>, <span class='commentTipWrapper' lang='91'><a href='http://www.digga.com.br/story.php?id=19' rel='external nofollow'>www.digga.com.br</a></span> comentou: <strong>14 Regras Básicas Para Aplicações WEB...</strong>

Recebi uma indicação de Saulo Dourado, designer gráfico do CESAR, de um livro chamado “High Performance Web Sites” que contém uma lista de 14 “regras” para o desenvolvimento de frontends eficientes, estas mesmas 14 regras são usadas no YSl...</li><br><li><a href="http://www.zezologs.org/blog/14-regras-bsicas-para-aplicaes-web/#comment-95">quarta-feira, agosto 20, 2008</a>, Silvio Blauth comentou: ≈up≈</li><br><li><a href="http://www.zezologs.org/blog/14-regras-bsicas-para-aplicaes-web/#comment-277">terça-feira, outubro 28, 2008</a>, Claudio comentou: ≈up≈ Valeu!! Muito bom!</li><br><hr /><h2>leia mais...</h2><ul><li><a href="http://www.zezologs.org/blog/top-10-vulnerabilidades-em-aplicaes-web/" rel="bookmark" title="Permanent Link: Top 10 vulnerabilidades em aplicações web">Top 10 vulnerabilidades em aplicações web</a></li><li><a href="http://www.zezologs.org/blog/dicas-firebug-e-yslow/" rel="bookmark" title="Permanent Link: Dicas: Firebug e YSlow">Dicas: Firebug e YSlow</a></li><li><a href="http://www.zezologs.org/blog/estimando-esforo-de-automao/" rel="bookmark" title="Permanent Link: Estimando Esforço de Automação">Estimando Esforço de Automação</a></li><li><a href="http://www.zezologs.org/blog/template-de-relatrio-de-testes-do-vs/" rel="bookmark" title="Permanent Link: Template de Relatório de Testes do VS">Template de Relatório de Testes do VS</a></li><li><a href="http://www.zezologs.org/blog/forum-no-ar/" rel="bookmark" title="Permanent Link: Forum no ar!">Forum no ar!</a></li></ul><br>
<div align="center"><font face="Tahoma"><font color="#999999" face="Tahoma">Copyright &copy; 
    2007-2008 zezologs.org <strong>|</strong> 
    Todos os direitos reservados <strong>|</strong>
    <font color="#637c32"><strong></strong></font></font><font face="Tahoma"><a href="http://www.zezologs.org/blog/mobile/">Acessibidade</a> 
    <font color="#637c32"><strong>|</strong></font></font> <font face="Tahoma"><a href="http://www.wordpress.com">Wordpress 
    </a> </font> ]]></description>
		<wfw:commentRss>http://www.zezologs.org/blog/14-regras-bsicas-para-aplicaes-web/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
