<?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>A fronteira final</title>
	<atom:link href="http://afronteirafinal.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://afronteirafinal.com</link>
	<description>Audaciosamente indo onde nenhum dev jamais esteve</description>
	<lastBuildDate>Wed, 21 Jul 2010 03:43:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Saiba mais sobre DOM e ECMAScript</title>
		<link>http://afronteirafinal.com/saiba-mais-sobre-dom-e-ecmascript/</link>
		<comments>http://afronteirafinal.com/saiba-mais-sobre-dom-e-ecmascript/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 03:41:46 +0000</pubDate>
		<dc:creator>lcameroon</dc:creator>
				<category><![CDATA[Cameroon]]></category>
		<category><![CDATA[Webmasters]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[ECMAScript]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[JScript]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://afronteirafinal.com/?p=290</guid>
		<description><![CDATA[Por muito tempo eu fingia saber exatamente o que era DOM, ECMAScript, JScript, DHTML, etc significava. Mas num final de semana desses eu peguei para ler sobre o que eles significam e como eles estão relacionados. Esta é a forma como a especificação DOM define um &#8220;DOM&#8221;: O Document Object Model (DOM) é um Application [...]]]></description>
			<content:encoded><![CDATA[<p>Por muito tempo eu fingia saber exatamente o que era DOM, ECMAScript, JScript, DHTML, etc significava. Mas num final de semana desses eu peguei para ler sobre o que eles significam e como eles estão relacionados.</p>
<p>Esta é a forma como a especificação DOM define um &#8220;DOM&#8221;:</p>
<blockquote><p><strong><em>O Document Object Model (DOM) é um Application Programming Interface (API) para HTML válido e documentos XML bem formatados. Ele define a estrutura lógica dos documentos e o modo como um documento é acessado e manipulado.</em></strong></p></blockquote>
<p><span id="more-290"></span>Em outras palavras, o DOM é uma forma padrão para permitir que as linguagens de programação interajam com documentos HTML / XML. O W3C fornece, o que é chamado de linguagem de vinculações, para o ECMAScript. Isto significa que as funcionalidades definidos na especificação DOM foram implementadas nessa linguagem.</p>
<p>ECMAScript é uma &#8220;uniformização&#8221; da língua (script) dos &#8220;homens das cavernas&#8221; &#8211; Netscape JavaScript e Microsoft JScript para que todos os browsers possam compreender instruções escritas usando o ECMAScript.</p>
<p>Agora, existem três grandes &#8220;dialetos&#8221; do ECMAScript: JavaScript (Firefox / Chrome / Safari), JScript (IE), e ActionScript (Adobe Flash / Flex). Estes são chamados dialetos como suporte a código escrito antes da normalização e fornecem alguns recursos não disponíveis no ECMAScript ou em outros dialetos.</p>
<p>Os navegadores fornecem uma implementação das interfaces do DOM que permite ECMAScript (ou dialetos suportados) interagirem com o DOM de um documento XML/HTML. Assim, a maioria dos browsers decentes, lançado conforme os padrões, dizem qual ECMAScript é suportado para cada versão do seu navegador.</p>
<p>O DOM de uma página HTML tem uma &#8220;árvore-como estrutura&#8221; quando visualizadas. É importante notar que o DOM não representa o conteúdo do HTML, mas representa apenas objetos através dos quais o conteúdo pode ser acessado. Esses objetos são modelados após a marcação que existe na página HTML. As relações, funções, comportamentos e atributos desses objetos são identificados pelo DOM.</p>
<p>Bom, é isso! Você normalmente não precisa de saber sobre interfaces DOM principalmente se você trabalhar com uma biblioteca JavaScript. Mas se você estiver interessado, Quirksmode (<a href="http://www.quirksmode.org" target="_blank">http://www.quirksmode.org</a>) tem uma excelente introdução ao DOM.</p>
]]></content:encoded>
			<wfw:commentRss>http://afronteirafinal.com/saiba-mais-sobre-dom-e-ecmascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>@font-face &#8211; Tipografia livre</title>
		<link>http://afronteirafinal.com/font-face-tipografia-livre/</link>
		<comments>http://afronteirafinal.com/font-face-tipografia-livre/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 21:23:24 +0000</pubDate>
		<dc:creator>Leonardo Caineli</dc:creator>
				<category><![CDATA[Caineli]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[fontes]]></category>
		<category><![CDATA[tipografia]]></category>

		<guid isPermaLink="false">http://afronteirafinal.com/?p=346</guid>
		<description><![CDATA[A propriedade @font-face do CSS possibilita aos browsers renderizar fontes que não estão instaladas no computador do usuário. Exemplo: @font-face{ font-family:&#039;Comic Book&#039;; src:local(&#039;Comic Book&#039;),url(&#039;Comic Book.ttf&#039;) format(&#039;TrueType&#039;); } p{font-family:&#039;Comic Book&#039;,arial,helvetica,sans-serif} Valores: O valor &#8220;local&#8221; informa se a fonte já existe no sistema operacional do usuário antes de ser instalada O valor &#8220;url&#8221; informa o caminho da [...]]]></description>
			<content:encoded><![CDATA[<p>A propriedade @font-face do CSS possibilita aos browsers renderizar fontes que não estão instaladas no computador do usuário. Exemplo:</p>
<pre class="brush: css">
@font-face{
	font-family:&#039;Comic Book&#039;;
	src:local(&#039;Comic Book&#039;),url(&#039;Comic Book.ttf&#039;) format(&#039;TrueType&#039;);
}
p{font-family:&#039;Comic Book&#039;,arial,helvetica,sans-serif}
</pre>
<h2>Valores:</h2>
<ul style="margin-bottom:20px">
<li>O valor <strong>&#8220;local&#8221;</strong> informa se a fonte já existe no sistema operacional do usuário antes de ser instalada</li>
<li>O valor <strong>&#8220;url&#8221;</strong> informa o caminho da fonte que será instalada</li>
<li>O valor <strong>&#8220;format&#8221;</strong> informa qual é o formato da fonte que será instalada</li>
</ul>
<h2>Formatos:</h2>
<p>Os formatos aceitos pelos browsers são:</p>
<ul style="margin-bottom:20px">
<li><strong>Embedded OpenType</strong> &#8211; .eot</li>
<li><strong>OpenType</strong> &#8211; .otf</li>
<li><strong>Scalable Vector Graphics</strong> &#8211; .svg e .svgz (formato .svg &#8220;gzipado&#8221;)</li>
<li><strong>TrueType</strong> &#8211; .ttf</li>
</ul>
<p>O Internet Explorer suporta apenas o formato Embedded OpenType (.eot), portanto deverão ser declarados dois formatos, sendo um exclusivo para as versões do Internet Explorer (.eot) e/ou outro(s) para os demais browsers (.otf, .svg, .svgz e .ttf). Exemplo:</p>
<pre class="brush: css">
@font-face{
	font-family:&#039;Comic Book&#039;;
	src:url(&#039;Comic Book.eot&#039;); /* IE */
	src:local(&#039;Comic Book&#039;),url(&#039;Comic Book.ttf&#039;) format(&#039;TrueType&#039;); /* DEMAIS BROWSERS */
}
p{font-family:&#039;Comic Book&#039;,arial,helvetica,sans-serif}
</pre>
<p>Exemplo declarando outros formatos:</p>
<pre class="brush: css">
@font-face{
	font-family:&#039;Comic Book&#039;;
	src:url(&#039;Comic Book.eot&#039;); /* IE */
	src:local(&#039;Comic Book&#039;),
	    url(&#039;Comic Book.otf&#039;) format(&#039;OpenType&#039;);
	    url(&#039;Comic Book.svg&#039;) format(&#039;Scalable Vector Graphics&#039;);
	    url(&#039;Comic Book.svgz&#039;) format(&#039;Scalable Vector Graphics&#039;);
	    url(&#039;Comic Book.ttf&#039;) format(&#039;TrueType&#039;)
}
p{font-family:&#039;Comic Book&#039;,arial,helvetica,sans-serif}
</pre>
<h2>Compatibilidade:</h2>
<p>A propriedade @font-face é compatível com os principais sistemas operacionais e browsers (inclusive o Internet Explorer 6):</p>
<ul style="margin-bottom:20px">
<li><strong>Linux</strong> &#8211; Chrome e Firefox</li>
<li><strong>Mac OS</strong> &#8211; Chrome, Firefox, Opera e Safari</li>
<li><strong>Windows</strong> &#8211; Internet Explorer 6, 7, 8 e 9, Chrome, Firefox, Opera e Safari</li>
</ul>
<h2>Talvez ajude&#8230;</h2>
<ul style="margin-bottom:20px">
<li><a href="http://www.fontsquirrel.com/fontface/generator/" title="@font-face Generator" rel="external"><strong>@font-face Generator</strong></a> &#8211; Gerar fontes para outros formatos</li>
<li><a href="http://www.freefontconverter.com/" title="Free Font Converter" rel="external"><strong>Free Font Converter</strong></a> &#8211; Converter fontes para outros formatos</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://afronteirafinal.com/font-face-tipografia-livre/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Webmonster: O Senhor dos Requests</title>
		<link>http://afronteirafinal.com/webmonster-o-senhor-dos-requests/</link>
		<comments>http://afronteirafinal.com/webmonster-o-senhor-dos-requests/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 02:37:24 +0000</pubDate>
		<dc:creator>arkinokel</dc:creator>
				<category><![CDATA[Vespa]]></category>
		<category><![CDATA[Webmonster]]></category>
		<category><![CDATA[cross domain]]></category>
		<category><![CDATA[JSONP]]></category>
		<category><![CDATA[quadrinhos]]></category>

		<guid isPermaLink="false">http://afronteirafinal.com/?p=340</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://afronteirafinal.com/wp-content/uploads/2010/04/webmonster8.png"></a><a href="http://afronteirafinal.com/wp-content/uploads/2010/04/webmonster81.png"><img class="aligncenter size-full wp-image-343" title="webmonster8" src="http://afronteirafinal.com/wp-content/uploads/2010/04/webmonster81.png" alt="" width="595" height="711" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://afronteirafinal.com/webmonster-o-senhor-dos-requests/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>JSONP e o &#8220;Ajax Crossdomain&#8221;</title>
		<link>http://afronteirafinal.com/jsonp-e-o-ajax-crossdomain/</link>
		<comments>http://afronteirafinal.com/jsonp-e-o-ajax-crossdomain/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 02:02:10 +0000</pubDate>
		<dc:creator>Alexander Borges</dc:creator>
				<category><![CDATA[Alex]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[JSONP]]></category>

		<guid isPermaLink="false">http://afronteirafinal.com/?p=300</guid>
		<description><![CDATA[Os serviços para intercâmbio de dados entre aplicações via protocolo http alcançaram algum nível de maturidade nesses últimos anos. Hoje, já sabemos como disponibilizar serviços via web, já existem abordagens que funcionam, outras vão sendo experimentadas. O fato é que existem diversas APIs disponíveis na web para atender as mais variadas necessidades: Agenda, mapas, autenticação [...]]]></description>
			<content:encoded><![CDATA[<p>Os serviços para intercâmbio de dados entre aplicações via <a title="Http Protocol" href="http://pt.wikipedia.org/wiki/Hypertext_Transfer_Protocol">protocolo http</a> alcançaram algum nível de maturidade nesses últimos anos. Hoje, já sabemos como disponibilizar serviços via web, já existem abordagens que funcionam, outras vão sendo experimentadas. O fato é que existem diversas APIs disponíveis na web para atender as mais variadas necessidades: Agenda, mapas, autenticação de usuários, integração com redes sociais, enfim. Serviços públicos, serviços pagos, serviços com mais de um plano de licensiamento para atender mais de um tipo de consumidor. Hoje qualquer um pode criar sua api e colocar na web e ganhar (se quiser) seu dinheirinho com aquilo.</p>
<p>Em meio às tecnologias para troca de dados e comunicação entre aplicações pela web como REST, SOAP, WSDL etc, se destacam também as APIs que fornecem dados com simples requisições http diretamente do site via browser, sem a necessidade de processamento do lado do servidor pelo cliente do serviço. Para esses casos temos o JSONP como uma alternativa &#8220;bem em conta&#8221; para resolver problemas conhecidos. O objetivo desse post é dar uma introdução do que é e como usar o JSONP.</p>
<p><span id="more-300"></span></p>
<h2>AJAX vs JSONP</h2>
<p>Tecnicamente, JSONP não é AJAX, vamos a uma explicação bem breve da diferença:</p>
<p>AJAX se trata de requisições assíncronas por meio dos objetos XMLHttpRequest e XMLHttpResponse, que trafegam dados no formato XML ou texto puro. Esses dados são manipulados pelo programa javascript, que finalmente monta seus trechos de html sem a necessidade do recarregamento da página.</p>
<p>Já o JSONP requisita dados de forma assíncrona, assim como o AJAX, porém não utiliza os objetos XMLHttp e  só trabalha com objetos no formato JSON.</p>
<h2>JSON &#8211; JavaScript Object Notation</h2>
<p>Formato de dados que vem sendo fortemente utilizado para transporte de dados entre aplicações, principalmente web. Está ganhando seu espaço devido a sua simplicidade de implementação e leveza. É um subconjunto das notações de objetos javascript. Além disso, a manipulação dos dados em um objeto JSON requer um  parse simples (usando o método eval do javascript) e não se faz necessária a navegação por DOM entre os nós e atributos de um XML, e por isso a preferência pelo JSON ao invés de XML para ajax na web.</p>
<h2>Same Origin Policy</h2>
<p>Existe uma limitação para o uso do Objeto XMLHTTPRequest no que se trata de requisições entre diferentes sites. Existe um padrão de segurança, implementado por linguagens de programação, nesse caso o javascript, chamado <a title="Same Origin Policy" href="http://en.wikipedia.org/wiki/Same_origin_policy" target="_blank">Same Origin Policy</a>, ou Política de Mesma Origem. Essa recomendação de segurança impede que um documento leia ou envie informações para outra origem.</p>
<p>São considerados de origens diferentes quaisquer documentos que estejam em domínios diferentes, portas diferentes ou que utilizem protocolos de comunicação diferentes entre si.</p>
<p>Considerando a url: &#8220;http://www.afronteirafinal.com/&#8221;, podemos ter requisições que irão ter sucesso ou falhar nas seguintes situações:</p>
<div style="width:80%;background-color:#eee;padding:15px 15px">
<p><strong style="width:100%;background-color:#aaa;display:block;text-indent:20px;"> http://www.afronteirafinal.com/diretorio/pagina.html</strong><br />
<span style="color: #339966;">Funciona</span>, pois é uma requisição para o mesmo host usando o mesmo protocolo e pela mesma padrão, ou seja, dentro do mesmo site.</p>
<p><strong style="width:100%;background-color:#aaa;display:block;text-indent:20px;">https://www.afronteirafinal.com/pagina.html</strong><br />
<span style="color: #ff0000;">Não funciona</span>, pois protocolos diferentes representam origens diferentes (&#8220;http&#8221;,&#8221;https&#8221;);</p>
<p><strong style="width:100%;background-color:#aaa;display:block;text-indent:20px;">http://www.afronteirafinal.com:81/pagina.html</strong><br />
<span style="color: #ff0000;">Não funciona</span>, pois portas diferentes também representam origens diferentes (&#8220;porta 81&#8243;);</p>
<p><strong style="width:100%;background-color:#aaa;display:block;text-indent:20px;">http://www.outrosite.com/pagina.html</strong><br />
Também <span style="color: #ff0000;">não funciona</span>, pois se tratam de hosts diferentes;
</div>
<p></p>
<h2>JSONP – JSON with Padding</h2>
<p>JSONP é entendido como um “pseudo-protocolo” que permite realizar requisições http e trafegar dados no formato JSON entre documentos de origens diferentes.</p>
<h3>Como funciona:</h3>
<p>A implementação do JSONP e bastante simples, porém é necessário que o serviço responsável pela entrega os dados forneca a opção de entrega na estrutura necessária para que os dados possam ser manipulados.</p>
<p>Não existem restrições para o carregamento de imagens e scripts de outras origem, por meio do atributo “src” das tags. A técnica por tras do JSONP se aproveita dessa possibilidade para carregar scripts externos conforme a necessidade, manipulando o DOM da página.</p>
<p>O que faz acontecer o JSONP é a inclusão de uma TAG “script” no header “&lt;head&gt;” da página. Essa tag “script” recebe um atributo “src” apontando para o site externo, que responde objetos no formato JSON , esse resultado é “parseado” e fica disponível para manipulação via JavaScript.</p>
<h3>O que é o “padding”?</h3>
<p>Padding ou prefix é o nome passado na requisição ao serviço, para que na resposta o método envolva os dados em formato JSON após a resposta. Quando a requisição é feita dessa forma:</p>
<pre class="brush: html">
&lt;script type=&quot;text/javascript&quot; src=&quot;http://domain1.com/getjson?jsonp=parseResponse&quot; target=&quot;_blank&quot;&gt;&lt;/script&gt;
</pre>
<p>A palavra “parseResponse” será a o nome da função que envolverá o json, como um callback. O resultado será algo parecido com isso:</p>
<pre class="brush: javascript">
parseResponse({“name”:”Jujuzinho”, ”idade”:10, brinquedos:[“bola”,”pipa”,”ioiô”]})
</pre>
<p>Você, como um esperto desevolvedor, já terá declarado esse método (parseResponse) em seu programa, e este saberá como sabiamente utilizar os dados recebidos.</p>
<h2>Suporte nos frameworks</h2>
<p>Os frameworks JavaScript geralmente dão um bom suporte às implementações do JSONP, resolvendo a maioria das questões que teríamos que nos preocupar fazendo tudo “na unha”.</p>
<p>No caso do jQuery, ele abstrai as particularidades entre jsonp e ajax e incorpora o JSONP com mais um formato de dados para o seu objeto Ajax.</p>
<p>Em caso de dúvidas, primeiro procure a documentação do framework porque certamente ele trará informações  de como implementar jsonp sem mais traumas.</p>
<h2>No próximo episódio&#8230;</h2>
<p>No próximo post sobre o assunto falaremos sobre o futuro. Como será feito o transporte de dados pela web. Protocolos de comunicação de verdade para rodar no browser. Que projetos já estão em andamento e como eles poderão resolver problemas que travam o avanço da comunicação entre apps web.</p>
]]></content:encoded>
			<wfw:commentRss>http://afronteirafinal.com/jsonp-e-o-ajax-crossdomain/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SVG vs CANVAS</title>
		<link>http://afronteirafinal.com/svg-vs-canvas/</link>
		<comments>http://afronteirafinal.com/svg-vs-canvas/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 12:42:03 +0000</pubDate>
		<dc:creator>lcameroon</dc:creator>
				<category><![CDATA[Cameroon]]></category>
		<category><![CDATA[Canvas]]></category>
		<category><![CDATA[DOM SVG]]></category>
		<category><![CDATA[explorecanvas]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[SVG]]></category>
		<category><![CDATA[SVG Web]]></category>
		<category><![CDATA[W3C]]></category>

		<guid isPermaLink="false">http://afronteirafinal.com/?p=211</guid>
		<description><![CDATA[Como você deve ter notado em meu post anterior sobre HTML5 (http://afronteirafinal.com/prepare-se-para-o-html-5), eu abordei sobre SVG e Canvas e nas últimas semanas os debates estão se aquecendo sobre os méritos de cada um, e muitos estão prevendo um &#8220;death match&#8221;. No entanto, minha pesquisa me convence de que cada um tem suas próprias finalidades, mas [...]]]></description>
			<content:encoded><![CDATA[<p>Como você deve ter notado em meu post anterior sobre HTML5 (<a href="http://afronteirafinal.com/prepare-se-para-o-html-5" target="_blank">http://afronteirafinal.com/prepare-se-para-o-html-5</a>), eu abordei sobre SVG e Canvas e nas últimas semanas os debates estão se aquecendo sobre os méritos de cada um, e muitos estão prevendo um &#8220;death match&#8221;. No entanto, minha pesquisa me convence de que cada um tem suas próprias finalidades, mas definitivamente chegou a hora de usá-los.</p>
<h2>O QUE É SVG?</h2>
<p>SVG é uma linguagem para descrever gráficos bidimensionais e aplicações gráficas em XML. Alguns exemplos de SVG são: o logo da Wikipedia (<a href="http://upload.wikimedia.org/wikipedia/commons/7/77/Wikipedia_svg_logo.svg">http://upload.wikimedia.org/wikipedia/commons/7/77/Wikipedia_svg_logo.svg</a>) e o &#8220;Hello World&#8221; do SVG chamado de &#8220;Tiger&#8221; (<a href="http://www.amplesdk.com/examples/svg/tiger">http://www.amplesdk.com/examples/svg/tiger</a>). Veja o fonte desses dois arquivos SVG para ver como SVG parece.<span id="more-211"></span></p>
<p><strong>Demo SVG:</strong></p>
<p><img src="http://afronteirafinal.com/imgs/posts/200911/svg.png" alt="SVG" /></p>
<pre>&lt;svg xmlns:svg="http://www.w3.org/2000/svg"
  xmlns="http://www.w3.org/2000/svg"
  viewBox="0 0 200 100"
  width="200px" height="100px"&gt;
  &lt;circle cx="50" cy="50" r="30"
  style="stroke:none; fill:#ff0000;"/&gt;
  &lt;g transform="translate(100, 20) scale(1.65)"&gt;
  &lt;polygon points="36 25, 25 36, 11 36, 0 25,
  0 11, 11 0, 25 0, 36 11"
  style="stroke:none; fill:#0000ff;" /&gt;
  &lt;/g&gt;
  &lt;rect x="60" y="20" height="60" width="60"
  style="stroke:none; fill:#00ff00;
  fill-opacity: 0.5;" /&gt;
&lt;/svg&gt;</pre>
<h2>O QUE É CANVAS?</h2>
<p>A especificação do HTML 5 define da seguinte forma: &#8220;Elemento de tela que representa um processamento gráficos &#8220;bitmap&#8221; para gerar imagens, gráficos, jogos através de JavaScript&#8221;.</p>
<p><em>Vladimir Vukićević</em> da Mozilla, em 2006, deu uma boa explicação sobre as diferenças entre o SVG e Canvas:</p>
<p>- SVG é baseado em XML. Isto significa que, cada elemento está disponível no DOM SVG (útil quando você deseja anexar os manipuladores de eventos javascript para um elemento). Canvas não é baseado em XML.</p>
<p>- Canvas é processado pixel por pixel. SVG é um monte de vetores e precisa ser manipulado como um grupo de formas. Uma analogia no mundo Photoshop seria, criar um retângulo usando a &#8220;ferramenta forma&#8221; contra usar o &#8220;PaintBrush&#8221;.</p>
<p><strong>Demo Canvas:</strong></p>
<p><img src="http://afronteirafinal.com/imgs/posts/200911/svg.png" alt="Canvas" /></p>
<p>E aqui está o JavaScript que o criou o desenho:</p>
<pre>function drawSimpleCanvas() {
 var canvas =
 document.getElementById("simpleCanvas");
  if (canvas.getContext) {
  var ctx = canvas.getContext("2d");
  ctx. (); // the circle
  ctx.fillStyle = "#ff0000";
  ctx.arc(50, 50, 30, 0, 2*Math.PI, true);
  ctx.closePath();
  ctx.fill();
  ctx.save();
  // move and resize the octagon
  ctx.translate(100, 20);
  ctx.scale(1.65, 1.65);
  ctx.fillStyle = "#0000ff";
  ctx.beginPath();
  ctx.moveTo(36, 25); ctx.lineTo(25, 36);
  ctx.lineTo(11, 36); ctx.lineTo(0, 25);
  ctx.lineTo(0, 11); ctx.lineTo(11, 0);
  ctx.lineTo(25, 0); ctx.lineTo(36, 11);
  ctx.closePath();
  ctx.fill();
  // restore graphics as they
  // were before move and resize
  ctx.restore();
  ctx.fillStyle = "#00ff00";
  ctx.globalAlpha = 0.5;
  ctx.beginPath();
  ctx.rect(60, 20, 60, 60);
  ctx.closePath();
  ctx.fill();
 }
}</pre>
<h2>QUEM VAI GANHAR?</h2>
<p>Mesmo que sejam completamente diferentes na sua natureza e finalidade, há várias coisas que pode ser feito usando &#8220;Canvas&#8221; e &#8220;SVG&#8221;. A recente popularização do elemento &#8220;Canvas&#8221; parecem para  algumas pessoas a morte do SVG. Mas pelo que notei está longe da verdade.</p>
<p>O &#8220;Canvas&#8221; é tão bom como uma imagem &#8211; mas ele não manipula pixel por pixel. Neste momento, elemento Canvas não suporta os &#8220;manipuladores&#8221; de eventos (por exemplo, ter um retângulo 20x60px dentro de um canvas que seja clicável). Já com o SVG isso é possível.</p>
<p>Canvas em seu estado &#8220;natural&#8221; não é acessível. O SVG, porém, é bastante acessível.</p>
<p>No entanto existe diferenças significativas de desempenho entre Canvas e SVG. O resultado do experimento descrito no link (<a href="http://www.borismus.com/canvas-vs-svg-performance" target="_blank">http://www.borismus.com/canvas-vs-svg-performance</a>) é que: Canvas é mais adequado para um &#8220;gráficos intensivos&#8221; onde o objeto são os redesenhos com freqüência (como um jogo), enquanto o SVG é melhor para aplicações que envolvem grandes áreas de processamento (como Google Maps).</p>
<h2>POSSO USÁ-LOS AGORA?</h2>
<p>Sim, pode. Existem muitas iniciativas para permitir que os navegadores que não suportam SVG ou Canvas tornarem-se &#8220;usáveis&#8221; por outros meios. O Google tem um impressionante projeto <strong>SVG Web</strong> (<a href="http://code.google.com/p/svgweb/" target="_blank">http://code.google.com/p/svgweb/</a>) que usa o Flash para renderizar SVG em navegadores que não suportam SVG nativamente. Para Canvas, o Google tem uma biblioteca &#8220;<strong>explorecanvas</strong>&#8221; (<a href="http://code.google.com/p/explorercanvas/" target="_blank">http://code.google.com/p/explorercanvas/</a>) que utiliza VML (ou Silverlight) para processar os elementos Canvas (basta incluir o arquivo excanvas.js, e ele deve funcionar) no Internet Explorer.</p>
<h2>ENTÃO&#8230; QUEM GANHA?</h2>
<p>Ambos. Estas é uma fase fantástica para SVG e Canvas. Finalmente temos uma alternativa natural para o &#8220;Flash&#8221; e animação de necessidade básica. Mantenha seus olhos abertos no &#8220;mailing list&#8221;  do &#8220;W3C HTML Working Group&#8221; (<a href="http://lists.w3.org/Archives/Public/public-html/" target="_blank">http://lists.w3.org/Archives/Public/public-html/</a>) para as últimas notícias.</p>
]]></content:encoded>
			<wfw:commentRss>http://afronteirafinal.com/svg-vs-canvas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Webmonster: Youtube</title>
		<link>http://afronteirafinal.com/webmonster-youtube/</link>
		<comments>http://afronteirafinal.com/webmonster-youtube/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 03:32:26 +0000</pubDate>
		<dc:creator>arkinokel</dc:creator>
				<category><![CDATA[Vespa]]></category>
		<category><![CDATA[Webmonster]]></category>
		<category><![CDATA[corporativo]]></category>
		<category><![CDATA[plantão]]></category>
		<category><![CDATA[quadrinhos]]></category>
		<category><![CDATA[screencast]]></category>

		<guid isPermaLink="false">http://afronteirafinal.com/?p=294</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://afronteirafinal.com/wp-content/uploads/2010/04/webmonster7.png"><img class="aligncenter size-full wp-image-295" title="webmonster7" src="http://afronteirafinal.com/wp-content/uploads/2010/04/webmonster7.png" alt="Webmonster e o youtube" width="590" height="711" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://afronteirafinal.com/webmonster-youtube/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Seo sem crise parte 2 &#8211; Meta tags: Keywords</title>
		<link>http://afronteirafinal.com/seo-sem-crise-parte-2-meta-tags-keywords/</link>
		<comments>http://afronteirafinal.com/seo-sem-crise-parte-2-meta-tags-keywords/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 17:52:47 +0000</pubDate>
		<dc:creator>arkinokel</dc:creator>
				<category><![CDATA[Vespa]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[keywords]]></category>
		<category><![CDATA[otimização]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://afronteirafinal.com/?p=263</guid>
		<description><![CDATA[Continuando o texto anterior sobre SEO, vamos falar neste post a respeito das Meta Keywords. Se você não é desenvolvedor deve se perguntar nesse momento: &#8220;- Eu não sou desenvolvedor, devo me perguntar nesse momento se preciso mesmo saber sobre meta tags?&#8221; Bom, sim e não.  Você não precisa necessariamente saber onde aplica-las no código, [...]]]></description>
			<content:encoded><![CDATA[<p>Continuando o texto anterior<a href="http://afronteirafinal.com/seo-sem-crise-uma-visao-simples-e-rapida/" target="_blank"> sobre SEO</a>, vamos falar neste post a respeito das Meta Keywords.</p>
<p>Se você não é desenvolvedor deve se perguntar nesse momento:</p>
<p>&#8220;- Eu não sou desenvolvedor, devo me perguntar nesse momento se preciso mesmo saber sobre <strong>meta tags</strong>?&#8221;</p>
<p>Bom, sim e não.  Você não precisa necessariamente saber onde aplica-las no código, mas tem que saber como funcionam e para que servem pois pode existir um campo específico para isso no seu publicador.</p>
<p>Existem algumas dúzias de meta tags que se pode usar no código mas, uma vez que a proposta é não sair do básico do SEO, vamos falar somente das mais importantes nessa série de textos. Aliás, vamos falar uma coisa que pouca gente aborda em textos sobre SEO: em geral as pessoas dão enfase à aplicação, enquanto aqui pretendo falar o real porquê  de usa-las de forma x ou y.<br />
<span id="more-263"></span></p>
<h2>Palavras Chave &#8211; Keyword</h2>
<p>As <strong>keywords </strong>são declaradas no topo das páginas e servem basicamente para enfatizar para nossos amigos buscadores sobre o que estamos falando no nosso texto. Há muitos e muitos anos, quando as estrelas eram jovens e Yahoo e Cadê já eram antigos, elas foram o principal campo de consulta dos robots de pesquisa. No código aparecem similar a isto aqui, dentro das tag de head:</p>
<pre class="brush: html">

&lt;meta name=&quot;keywords&quot; content=&quot;festa,sandices,quadrinhos&quot; /&gt;
</pre>
<p>A relevância das palavras chave não é mais tão importante quanto já foi por causa dos espertinhos da Web: o camarada ia lá nas keywords dele e lançava &#8220;<a href="http://contigo.abril.com.br/busca/resp_busca4.shtml?qu=sabrina+sato&amp;search-submit=Ok" target="_blank">Sabrina Sato</a> pelada, putaria, bunda&#8221;.  Daí o buscador ia lá todo feliz fazer a classificação e entregava o resultado pro usuário e, este último, frustrado, descobria que o texto era sobre coleções de selos do século 20 ao invés da referida moça desnuda.  Quem perdia credibilidade nessa história? O buscador, é claro.</p>
<h2>Mas aí? Vale a pena usar?</h2>
<p>Mas mesmo com essa falta de crédito, o uso bem feito de keywords pode ajudar um pouco na relevância da sua página. Tenha em mente que as palavras usadas nas keywords devem estar contidas no texto, se possível mais de uma vez ou, se não for o caso, ser um sinônimo ou estar estritamente correlacionada ao assunto em questão. Mesmo que você monte um set de palavras que pareçam favorecer o texto, tenha em mente que a má escolha delas pode detonar o seu posicionamento no buscador &#8211; logo, se não tiver certeza que aquelas são as melhores escolhas, <strong>PREFIRA NÃO USAR NENHUMA KEYWORD</strong>. Keywords que não tenham nenhuma ou que tenham pouca conexão com o texto prejudicam ao invés de ajudar.</p>
<p><strong>Exemplo:</strong> você escreveu um texto sobre <strong>sorvete de jaca </strong>e em algum momento disse &#8220;seria legal que a Kibon lançasse o sorvete de jaca&#8221;.  &#8220;<strong>Sorvete</strong>&#8221; e &#8220;<strong>jaca</strong>&#8221; seriam palavras importantes como keyword, já <strong>Kibon</strong>, sendo citado uma única vez no texto e sem nenhuma informação relevante além da menção,  se usada como palavra chave seria a âncora que afundaria tua página por posições e mais posições &#8211; afinal, você disse pro buscador que seu texto era relevante sobre isso, ele acreditou, e te classificou na seção &#8220;textos relevantes da kibon&#8221; e não no &#8220;textos relevantes sobre sorvete de jaca&#8221;, que era seu assunto principal.</p>
<h2>Reciclagem de keywords pode?</h2>
<p>&#8220;-Entendi, <a href="http://twitter.com/dvespa" target="_blank">tio Vespa</a>. Posso então escolher as mesmas 5 keywords fodonas e pô-las em todo meu sáite?&#8221;</p>
<p>NÃO!<strong> Keywords repetidas em várias páginas é como dizer que todo seu site é uma imensa redundância</strong>, mesmo que isso não seja verdade. Se o site não tem uma forma rápida de &#8220;taguear&#8221; todas as páginas, use a regra do não usar nada ou aplique palavras chave apenas no que for conteúdo novo. Você pode usar a mesma palavra várias vezes, mas nunca no mesmo conjunto. Se numa pagina você usou &#8220;água, fogo, terra&#8221; na próxima poderia usar &#8220;água, fogo, ar&#8221; que não teria problema &#8211; mas nunca &#8220;água, fogo, terra&#8221; pra duas ou mais.</p>
<p>Outro ponto importante é a quantidade de keywords usadas, evite usar mais do que 5. Muitas keywords poluem o código e caem na regra que citei no texto anterior, &#8220;se todo mundo é especial então ninguém é especial&#8221;, mandando a relevância pro brejo.</p>
<p>Alguns sistemas, em especial blogs, tem aproveitado a capacidade de gerar tags dos publicadores para reaproveitar o tagueamento nas Keywords. Já vi gente que defende que essa reciclagem não é boa &#8211; buscadores são entidades ariscas e não gostam de redundância, ainda mais se for na mesma página. Eu discordo disso por um fato muito simples: keywords são palavras texto, simples, separados por vírgula, enquanto as tags são as mesmas palavras mas com um fatorzinho diferente: elas estão linkadas, logo não estão totalmente redundantes, estão complementando informação já citada &#8211; então acredito que não seja algo realmente prejudicial, embora acredite que seja melhor variar um pouco a informação de uma e de outra por questão de aumentar abrangência.</p>
<p>Bom, creio que a respeito de Keywords é o que há de principal a se falar. No próximo episódio falaremos a respeito de meta description. Até!</p>
]]></content:encoded>
			<wfw:commentRss>http://afronteirafinal.com/seo-sem-crise-parte-2-meta-tags-keywords/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Webmonster: a sala 8 tá livre às 2 horas?</title>
		<link>http://afronteirafinal.com/webmonster-a-sala-8-ta-livre-as-2-horas/</link>
		<comments>http://afronteirafinal.com/webmonster-a-sala-8-ta-livre-as-2-horas/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 05:35:48 +0000</pubDate>
		<dc:creator>arkinokel</dc:creator>
				<category><![CDATA[Vespa]]></category>
		<category><![CDATA[Webmonster]]></category>
		<category><![CDATA[corporativo]]></category>
		<category><![CDATA[metodologia]]></category>
		<category><![CDATA[quadrinhos]]></category>

		<guid isPermaLink="false">http://afronteirafinal.com/?p=257</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://afronteirafinal.com/wp-content/uploads/2010/04/webmonster6.png"><img class="aligncenter size-full wp-image-258" title="webmonster6" src="http://afronteirafinal.com/wp-content/uploads/2010/04/webmonster6.png" alt="Reunião pra fazer reunião. pode isso?" width="601" height="1056" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://afronteirafinal.com/webmonster-a-sala-8-ta-livre-as-2-horas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SEO sem crise &#8211; Uma visão simples e rápida</title>
		<link>http://afronteirafinal.com/seo-sem-crise-uma-visao-simples-e-rapida/</link>
		<comments>http://afronteirafinal.com/seo-sem-crise-uma-visao-simples-e-rapida/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 16:43:10 +0000</pubDate>
		<dc:creator>arkinokel</dc:creator>
				<category><![CDATA[Vespa]]></category>
		<category><![CDATA[Editorial]]></category>
		<category><![CDATA[otimização]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Texto]]></category>

		<guid isPermaLink="false">http://afronteirafinal.com/?p=233</guid>
		<description><![CDATA[Há algum tempo escrevi um texto em meu blog pessoal Heresias.org um post com &#8220;10 dicas para o seu blog aumentar estrondosamente em acessos&#8220;, um texto bem humorado a respeito da fina arte do SEO (Search Engine Optmization) e sua capacidade para poluir a internet. O caso é que tudo que escrevi no texto, embora [...]]]></description>
			<content:encoded><![CDATA[<p>Há algum tempo escrevi um texto em meu blog pessoal <a href="http://heresias.org">Heresias.org</a> um post com &#8220;<a href="http://www.heresias.org/blog/?p=254" target="_blank">10 dicas para o seu blog aumentar estrondosamente em acessos</a>&#8220;, um texto bem humorado a respeito da fina arte do <a href="http://pt.wikipedia.org/wiki/Otimiza%C3%A7%C3%A3o_para_motores_de_busca" target="_blank">SEO (Search Engine Optmization)</a> e sua capacidade para poluir a internet.</p>
<p>O caso é que tudo que escrevi no texto, embora de forma escrachada, realmente é funcional na hora de montar  um texto relevante para os nossos amigos buscadores (em especial <a title="Google" href="http://google.com" target="_blank">Google</a>, <a title="Yahoo" href="http://yahoo.com" target="_blank">Yahoo </a>e <a title="Bing" href="http://bing.com" target="_blank">Bing</a>, que são nosso atuais ditadores de tendências na produção de textos web).</p>
<p>Enfim, o meu foco naquele texto em específico era realmente a produção do conteúdo e sobre como a forma de escrevê-lo influencia para chamar a atenção dos buscadores. Mas de que adianta isso sem uma formatação decente?</p>
<p><span id="more-233"></span></p>
<p>Meu objetivo nas próximas linhas é tentar explicar, da forma mais simples possível, técnicas básicas de SEO, de forma que sirva tanto de orientação rápida para desenvolvedores quanto para pessoas de foco editorial ou marketing. A priori, ater-me-ei apenas à formatação de texto, ignorando tags, meta-tags, url amigável e keywords (volto no assunto num próximo post).</p>
<h3>O Código HTML</h3>
<p>O HTML, como já mencionado em artigos anteriores, deve ser sempre, SEMPRE o mais simples e corretamente estruturado possível. O fato do texto não ter um bilhão de &#8220;style=&#8230;&#8221;, tags bizarras e código sujo já é um grande avanço na &#8220;achabilidade&#8221; da sua página. Grandes poluidores de código são os editores visuais, como <a href="http://pt.wikipedia.org/wiki/Microsoft_FrontPage" target="_blank">FrontPage</a>, <a href="http://www.adobe.com/br/products/dreamweaver/" target="_blank">Dreamweaver</a> (embora este, se usado corretamente, é uma ferramenta excelente para se trabalhar), <a href="http://www.adobe.com/products/golive/" target="_blank">goLive </a>e até os <a href="http://office.microsoft.com/pt-br/word/default.aspx" target="_blank">Microsoft Words</a> da vida.  Dê preferência aos editores de texto aos visuais.</p>
<p>Essa regra não vale obviamente para os modernos publicadores, como o próprio WordPress, por exemplo, que sozinho já gera um código limpo e relativamente organizado, mais comuns na vida de quem tem foco maior na parte editorial da brincadeira.</p>
<h3>Títulos, subtítilos, tópicos (H1, H2, H3)</h3>
<p>Tá, já sabemos que devemos fazer o código limpo&#8230; Mas como criar a hierarquia de títulos dentro dele? Sim, essa hierarquia influência nossos amigos buscadores. Usando de bom senso, identifique na sua página o que é mais importante e priorize &#8211; mas lembre-se, muitas vezes isso não tem absolutamente nada a ver com peso visual ou mesmo com a estrutura &#8220;lógica&#8221; do texto. Isso significa que, em muitos casos, um <a href="http://www.w3.org/TR/html401/struct/global.html#h-7.5.5" target="_blank">H1</a> deve ser atribuído à um subtítulo ao invés de ir para o título propriamente dito, como seria de se supor.</p>
<p>-&#8221;Mas tio <a href="http://twitter.com/dvespa" target="_blank">Vespa</a>, como posso saber quando fazer esta inversão?&#8221;</p>
<p>Muito simples: Quem concentra o maior número de palavras chaves (a.k.a. &#8220;buscáveis&#8221;) ? O título ou o subtítulo?</p>
<p>Quem tiver mais força merecerá a honra de ser o portador do H1. Para definir isso, questione-se sobre quais palavras digitaria para procurar sobre aquele assunto &#8211; as mais óbvias decidem a pendenga.</p>
<p>Um exemplo simples: Imagine que você está convertendo uma matéria de revista para texto html. A matéria chama-se &#8220;Friozinho bom&#8221; e fala sobre pousadas em <a href="http://viajeaqui.abril.com.br/guia4rodas/cidade/campos-do-jordao/" target="_blank">Campos do Jordão</a>. Quando você quer procurar sobre pousadas em Campos do Jordão, você procura por &#8220;friozinho&#8221; no Google? É lógico que não, você vai digitar &#8220;Campos do Jordão Pousadas&#8221; &#8211; logo, o que você faz? Joga isso como subtítulo ou &#8220;chápeu&#8221; (aquele textinho menor que vai em cima do título em vários sites) e dá o H1 de presente para este texto, mesmo que o tal do &#8220;Friozinho bom&#8221; venha em fonte 55px e o &#8220;Pousadas em Campos do Jordão&#8221; em 11px.</p>
<p>Mas então por que não jogar o H1 no corpo do texto todo? Ou no textinho descritivo, o tal do olho da matéria?  Ou ainda, por que não fazer 20 títulos de tópicos com H1 numa mesma página? Bom, a resposta é bem simples: Citando <a href="http://www.imdb.com/title/tt0317705/" target="_blank">Os Incríveis</a>, &#8220;se todo mundo é especial, então ninguém é especial&#8221;.</p>
<p>Basicamente é assim: cada divisão da sua página é setorizada e priorizada de forma diferente quando o buscador a lê, e cada um desses ele expecta que terá uma determinada formatação. Então se você classifica algo com um título H1 ele realmente espera um texto que tenha o tamanho condizente com o número de palavras que um título conteria &#8211; caso contrário ele solta um &#8220;ahá! Alguém tomou um <a href="http://desciclo.pedia.ws/wiki/Malandrops" target="_blank">Malandrops</a> e tentou me passar a perna&#8221; e a posição da tua página vai pro espaço. Reserve H1 e H2 para as chamadas realmente importantes na página (lembrando que H1 é que nem mãe: só tem um por página).</p>
<p>O H2 pode também deve ser usado com parcimônia, mas pode repetir-se várias vezes pela página. H3 em diante, ao que me consta, tem peso relativamente indifirentes.</p>
<h3>Mas e o resto do texto?</h3>
<p>Bom, o resto do texto pode ser mantido nas boas e velhas DIVs ou Ps, seguindo orientações de semântica para elementos de bloco de texto.  Neste ponto, a grande estrela é a habilidade daquele que escreve o texto, ele é quem fará toda a diferença.</p>
<p>Mas claro, se você for o Dev ou tiver um por perto que saiba um pouquinho de <a href="http://afronteirafinal.com/microformats/" target="_blank">Microformatos</a>, esse é mais um pontinho a se ganhar com nossos amigos buscadores. :p</p>
<h3>A técnica da lista</h3>
<p>Uma idéia boa pra começar um texto &#8220;SEOzado&#8221; é, antes de escreve-lo, listar 10 palavras que você considera pontos centrais dentro do assunto à tratar e utiliza-las. Lembre-se, em geral serão as que você usaria se fosse procurar textos sobre o assunto no buscador. Se por acaso você esbarrar em caso de sinônimos e não sabe qual teria mais força, o <a href="http://www.google.com/trends?q=brahma%2C+skol&amp;ctab=0&amp;geo=br&amp;geor=all&amp;date=all&amp;sort=0" target="_blank">Google Trends</a> é um ótimo índice para tirar a dúvida do que as pessoas estão procurando mais. Mas lembre-se: cuidado para não exagerar nessa prática e criar um texto ótimo para se buscar mas uma joça para ser lido.</p>
<h3>Links pra-que-te-quero</h3>
<p>Sabe os termos que você usou para a lista anterior? Muitos deles são muito importantes e vale a pena dar links para eles. Se não tiver nada muito relevante em seu próprio site, não tenha medo de dar links para sites externos. &#8220;Qualquer site externo, tio Vespa?&#8221; Não, panguá, só os que sejam realmente relevantes. Use os que vierem melhor posicionados no google sobre o assunto, e  prefira artigos às notícias &#8211; notícias tem uma &#8220;relevância explosão&#8221;, são muito relevantes por curtos periodos, afinal, assuntos tendem a esfriar. Já artigos, por serem &#8220;base de conhecimento&#8221;, costumam manter-se importantes para os buscadores, em especial por conta do número de links que são apontados pra eles (coisa que vou destrinchar com mais calma mais pra diante). Na dúvida, linque para a o termo na <a href="http://pt.wikipedia.org/" target="_blank">Wikipédia</a> que em 99% é uma ótima escolha.</p>
<h3>No próximo episódio&#8230;</h3>
<p>No próximo texto sobre SEO eu falarei sobre os meta-dados, como eles podem ajudar na sua relevância, e como usar de  sabedoria ao empregá-los sem dar tiros no próprio pé.  Até!</p>
]]></content:encoded>
			<wfw:commentRss>http://afronteirafinal.com/seo-sem-crise-uma-visao-simples-e-rapida/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Webmonster: Definindo o plantão de páscoa</title>
		<link>http://afronteirafinal.com/webmonster-definindo-o-plantao-de-pascoa/</link>
		<comments>http://afronteirafinal.com/webmonster-definindo-o-plantao-de-pascoa/#comments</comments>
		<pubDate>Thu, 25 Mar 2010 12:00:41 +0000</pubDate>
		<dc:creator>arkinokel</dc:creator>
				<category><![CDATA[Vespa]]></category>
		<category><![CDATA[Webmonster]]></category>
		<category><![CDATA[folga]]></category>
		<category><![CDATA[plantão]]></category>
		<category><![CDATA[quadrinhos]]></category>

		<guid isPermaLink="false">http://afronteirafinal.com/?p=229</guid>
		<description><![CDATA[só me fodo nessa merda]]></description>
			<content:encoded><![CDATA[<p><a href="http://afronteirafinal.com/wp-content/uploads/2010/03/webmonster5.png"><img class="aligncenter size-full wp-image-230" title="webmonster5" src="http://afronteirafinal.com/wp-content/uploads/2010/03/webmonster5.png" alt="Webmonster 5 - plantão de páscoa" width="594" height="1081" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://afronteirafinal.com/webmonster-definindo-o-plantao-de-pascoa/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
