<?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>unsignedint &#187; Performance</title>
	<atom:link href="http://unsignedint.net/blog/category/performance/feed/" rel="self" type="application/rss+xml" />
	<link>http://unsignedint.net/blog</link>
	<description>adding noise to the signal</description>
	<lastBuildDate>Sat, 10 Jul 2010 10:32:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>O CDN da Google, jQuery e algumas implicações</title>
		<link>http://unsignedint.net/blog/2010/04/03/google-cdn-jquery/</link>
		<comments>http://unsignedint.net/blog/2010/04/03/google-cdn-jquery/#comments</comments>
		<pubDate>Sat, 03 Apr 2010 20:25:13 +0000</pubDate>
		<dc:creator>lmmendes</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[google cdn]]></category>

		<guid isPermaLink="false">http://www.unsignedint.net/blog/?p=370</guid>
		<description><![CDATA[Ultimamente tenho-me sentido tentado em usar a Content Delivery Network (CDN) da Google para servir algumas das bibliotecas javascript que utilizo, nomeadamente o jQuery e JQuery UI. As vantagens de utilizar o CDN da Google são óbvias, os servidores deles são rápidos bem rápidos e outra vantagem prende-se com o facto se houver muita gente [...]]]></description>
			<content:encoded><![CDATA[<p>Ultimamente tenho-me sentido tentado em usar a <a href="http://en.wikipedia.org/wiki/Content_delivery_network" target="_blank">Content Delivery Network</a> (CDN) da Google para servir algumas das bibliotecas javascript que utilizo, nomeadamente o <a href="http://jquery.com/" target="_blank">jQuery</a> e <a href="http://jqueryui.com/" target="_blank">JQuery UI</a>.</p>
<p>As vantagens de utilizar o CDN da Google são óbvias, os servidores deles são rápidos bem rápidos e outra vantagem prende-se com o facto se houver muita gente a utilizar o CDN deles provavelmente quando um utilizador chegar ao meu site o jQuery servido pelo Google já está em cache e ai o tempo de download é zero (ou muito perto disso pelo menos) entre outras vantagens que no final de contas resultam num carregamento mais rápido da pagina e uma redução na carga sobre a nossa maquina.<br />
<span id="more-370"></span><br />
Contudo não há bela sem senão e neste caso o senão é que estamos a confiar a terceiros para nos servirem um conteúdo directamente no nosso site (e no caso de javascript pode ser algo bastante perigoso), outro senão é o que acontece ao nosso site se o Google tiver problemas de rede e os ficheiros ficarem de alguma forma indisponíveis?</p>
<p>Pois bem, quanto ao problema de segurança que representa confiar na Google para servir  os nossos ficheiros isto é algo com que teremos que viver se quisermos utilizar qualquer CDN e para mais a maioria de nós já confia na Google para servir o javascript do Google Analytics.</p>
<p>Quanto para o caso da rede da Google falhar no que diz respeito ao jQuery a solução é bastante simples.<br />
Se tivermos em conta que um browser executa de ordem sequencial o carregamento de todo o javascript  e sabendo que o jQuery depois de carregado disponibiliza um objecto (variável) com o nome de jQuery  facilmente podemos construir algo que tenta carregar o jQuery a partir do CDN da Google e se depois o objecto jQuery não estiver disponível carrega então o jQuery a partir do repositorio do nosso site.</p>
<pre name="code" class="javascript">
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script>
</pre>
<pre name="code" class="javascript">
<script type="text/javascript">
if(  typeof jQuery === 'undefined' ){
  document.write('<scr'+'ipt src="/static/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>');
}
</script>
</pre>
<p>Como podemos ver pelo código em cima é bastante simples aproveitar-nos das vantagem da utilização do CDN da Google e também conseguimos nos proteger contra qualquer problema de disponibilidade acabando por servir a nossa versão local em caso de algum problema.</p>
<div class="shr-publisher-370"></div>]]></content:encoded>
			<wfw:commentRss>http://unsignedint.net/blog/2010/04/03/google-cdn-jquery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

