<?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>JavaScript: Singuska &#187; performance</title>
	<atom:link href="http://javascript.singuska.com/tag/performance/feed/" rel="self" type="application/rss+xml" />
	<link>http://javascript.singuska.com</link>
	<description>Fragmentos de código e gambiarras (0.2)</description>
	<lastBuildDate>Mon, 03 Oct 2011 19:45:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
		<item>
		<title>Quem usa Google AJAX Libraries API para carregar jQuery?</title>
		<link>http://javascript.singuska.com/2010/01/23/quem-usa-google-ajax-libraries-api-para-carregar-jquery/</link>
		<comments>http://javascript.singuska.com/2010/01/23/quem-usa-google-ajax-libraries-api-para-carregar-jquery/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 13:34:16 +0000</pubDate>
		<dc:creator>Flávio</dc:creator>
				<category><![CDATA[Outros]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://javascript.singuska.com/?p=322</guid>
		<description><![CDATA[O Google AJAX Libraries API é um serviço que possibilita o carregamento remoto de frameworks JavaScript a partir de seus servidores. Com ele você pode, por exemplo, fazer com que o seu site carrege o código fonte do jQuery diretamente dos servidores do Google. O serviço está em operação deste 2007. O framework JavaScript do [...]]]></description>
			<content:encoded><![CDATA[<p>O <a href="http://code.google.com/apis/ajaxlibs/">Google AJAX Libraries API</a> é um serviço que possibilita o carregamento remoto de frameworks JavaScript a partir de seus servidores. Com ele você pode, por exemplo, fazer com que o seu site carrege o código fonte do jQuery  diretamente dos servidores do Google. O serviço está em operação deste 2007.</p>
<p>O framework JavaScript do Yahoo!,<a href="http://developer.yahoo.com/yui/">YUI</a>, sempre recomendou que seus códigos fossem carregados remotamente. <a href="http://ajaxian.com/archives/announcing-ajax-libraries-api-speed-up-your-ajax-apps-with-googles-infrastructure">Este post do Ajaxian</a> elenca uma série de vantagens. Destaco algumas delas:</p>
<ul>
<li>caching é feito corretamente; desenvolvedores não precisam mais se preocupar com isso</li>
<li>gzip funciona</li>
<li>a <a href="http://pt.wikipedia.org/wiki/Content_Delivery_Network">CDN</a> do Google, distribuida em vários lugares do mundo, possibilita que os arquivos hospedados estejam &#8220;próximos&#8221; do usuário</li>
<li>se uma quantidade significativa de websites utilizar a mesma URL para carregar um determinado framework, quando alguém entrar no seu site pode ser que este arquivo já tenha sido carregado</li>
</ul>
<p>Faz bastante sentido para mim. Claro que se por um acaso os servidores do Google ficarem indisponíveis, ou o serviço descontinuado, você terá graves problemas. Além disso, os mais paranóicos podem afirmar que este é apenas mais um método desenvolvido para colher informações de usuários. Mas isso com certeza não impede que as pessoas continuem utilizando Gmail ou Analytics.</p>
<p>Outro potencial problema é que você fica dependente de uma conexão com a internet para desenvolver. A vantagem é que a maioria dos desenvolvedores não consegue mesmo trabalhar offline. Nosso trabalho já depende demais ferramentas online para isso ser uma preocupação genuína.</p>
<h3>Como funciona?</h3>
<p>Existem dois jeitos de se utilizar o serviço. O primeiro, é mais &#8220;estático&#8221; e simples. O processo é igual ao que você já faz: para incluir um framework, como MooTools, Dojo, jQuery, você deve incluir <em>script src=&#8221;"</em> em seu html. Basta fazer com que o atributo src desta tag aponte para uma URL do serviço: <a href="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js">http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js</a>. Este link leva diretamente para a versão minificada do jQuery 1.4 (que hoje é a mais atual).</p>
<p>O segundo jeito, mais &#8220;dinâmico&#8221;, consiste em incluir utilizando <em>script src=&#8221;"</em> o código fonte da API Ajax do Google: <a href="http://www.google.com/jsapi">http://www.google.com/jsapi</a>. Com este código disponível, você pode carregar os frameworks. Vamos incluir novamente o jQuery utilizando o método estático:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">google.<span style="color: #6591f7;">load</span><span style="color: #ffffff;">&#40;</span><span style="color: #61ce3c;">&quot;jquery&quot;</span><span style="color: #ffffff;">,</span> <span style="color: #61ce3c;">&quot;1&quot;</span><span style="color: #ffffff;">&#41;</span><span style="color: #ffffff;">;</span> <span style="color: #bfbfbf; font-style: italic;">// obtém a última versão da família 1 (que hoje é a 1.4)</span>
google.<span style="color: #6591f7;">setOnLoadCallback</span><span style="color: #ffffff;">&#40;</span><span style="color: #fbde2d; font-weight: bold;">function</span><span style="color: #ffffff;">&#40;</span><span style="color: #ffffff;">&#41;</span> <span style="color: #ffffff;">&#123;</span>
&nbsp;
    $<span style="color: #ffffff;">&#40;</span><span style="color: #fbde2d; font-weight: bold;">function</span><span style="color: #ffffff;">&#40;</span><span style="color: #ffffff;">&#41;</span><span style="color: #ffffff;">&#123;</span>
        <span style="color: red;">alert</span><span style="color: #ffffff;">&#40;</span><span style="color: #61ce3c;">'Olá'</span><span style="color: #ffffff;">&#41;</span><span style="color: #ffffff;">;</span>
    <span style="color: #ffffff;">&#125;</span><span style="color: #ffffff;">&#41;</span><span style="color: #ffffff;">;</span>
&nbsp;
<span style="color: #ffffff;">&#125;</span><span style="color: #ffffff;">&#41;</span><span style="color: #ffffff;">;</span></pre></div></div>

<p>A vantagem desta forma é que, com ela, você pode definir, como no exemplo acima, que quer pegar a versão mais atual do jQuery família de versão 1. É possível ser mais específico:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #bfbfbf; font-style: italic;">// obtém versão 1.3.2 (que é a última da família 1.3)</span>
google.<span style="color: #6591f7;">load</span><span style="color: #ffffff;">&#40;</span><span style="color: #61ce3c;">&quot;jquery&quot;</span><span style="color: #ffffff;">,</span> <span style="color: #61ce3c;">&quot;1.3&quot;</span><span style="color: #ffffff;">&#41;</span><span style="color: #ffffff;">;</span> 
&nbsp;
<span style="color: #bfbfbf; font-style: italic;">// obtém especificamente a versão 1.2.6 sem compressão</span>
google.<span style="color: #6591f7;">load</span><span style="color: #ffffff;">&#40;</span><span style="color: #61ce3c;">&quot;jquery&quot;</span><span style="color: #ffffff;">,</span> <span style="color: #61ce3c;">&quot;1.2.6&quot;</span><span style="color: #ffffff;">,</span> <span style="color: #ffffff;">&#123;</span>uncompressed<span style="color: #ffffff;">:</span><span style="color: #fbde2d; font-weight: bold;">true</span><span style="color: #ffffff;">&#125;</span><span style="color: #ffffff;">&#41;</span><span style="color: #ffffff;">;</span></pre></div></div>

<p>É uma funcionalidade um pouco mais difícil de implementar mas sem dúvida interessante, pois permite que o seu código sempre utilize a versão mais atual de uma determinada família.</p>
]]></content:encoded>
			<wfw:commentRss>http://javascript.singuska.com/2010/01/23/quem-usa-google-ajax-libraries-api-para-carregar-jquery/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

