<?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>El Blog de Mario Colque &#187; closure</title>
	<atom:link href="http://blog.mariocolque.com.ar/tag/closure/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mariocolque.com.ar</link>
	<description>Libre Expresión!</description>
	<lastBuildDate>Thu, 22 Dec 2011 16:39:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Jugando con la librería Google Closure</title>
		<link>http://blog.mariocolque.com.ar/2010/01/30/jugando-con-la-libreria-google-closure/</link>
		<comments>http://blog.mariocolque.com.ar/2010/01/30/jugando-con-la-libreria-google-closure/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 16:43:09 +0000</pubDate>
		<dc:creator>colkito</dc:creator>
				<category><![CDATA[Desarrollo web]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[closure]]></category>
		<category><![CDATA[librería]]></category>

		<guid isPermaLink="false">http://blog.mariocolque.com.ar/?p=135</guid>
		<description><![CDATA[Google Closure Tools es un pack de herramientas de Google con las que los desarrolladores pueden optimizar el código JavaScript de sus aplicaciones de forma impresionante, pero de manera sencilla. Brevemente, está compuesto de: Closure Compiler, un optimizador de JavaScript que compila las aplicaciones web con el fin de hacerlas ágiles y compactas; Closure Inspector, basado en Firebug que [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Google Closure Tools</strong> es un pack de herramientas de <strong>Google </strong>con las que los desarrolladores pueden optimizar el código <strong>JavaScript </strong>de sus aplicaciones de forma impresionante, pero de manera sencilla.</p>
<p>Brevemente, está compuesto de: <strong>Closure Compiler</strong>, un optimizador de JavaScript que compila las aplicaciones web con el fin de hacerlas ágiles y compactas; <strong>Closure Inspector</strong>, basado en Firebug que nos ayuda a encontrar errores en e código fuente; <a href="http://code.google.com/closure/library"><strong>Closure Library</strong></a>, una librería de funciones JavaScript modular y compatible con muchos navegadores; y <strong>Closure Templates</strong>, es pack de modelos basado en JavaScript/HTML con los que podemos crear componentes para nuestras aplicaciones. (Via <a href="http://googlecode.blogspot.com/2009/11/introducing-closure-tools.html">Google Code</a>)</p>
<p>En <a href="http://teebes.com">teebes.com</a> podemos apreciar como le ayuda <strong>Closure Library</strong> a este desarrollador para crear una pequeña aplicación que hace uso de las teclas de dirección del teclado. Puedes ver la <a href="http://teebes.com/closure/">demo en esta web</a>, y puedes apreciar el código fuente de esta:</p>
<pre class="brush: html">

&lt;!-- * { margin: 0; padding: 0 } --&gt;

&lt;script src=&quot;http://closure-library.googlecode.com/svn/trunk/closure/goog/base.js&quot;&gt;&lt;/script&gt; &lt;script type=&quot;text/javascript&quot;&gt;// &lt;![CDATA[
goog.require(&#039;goog.graphics&#039;);
goog.require(&#039;goog.events&#039;);
goog.require(&#039;goog.events.KeyCodes&#039;);
goog.require(&#039;goog.events.KeyHandler&#039;);
// ]]&gt;&lt;/script&gt;
Use your up / down / right / left arrows to move the ball

&lt;script type=&quot;text/javascript&quot;&gt;// &lt;![CDATA[
var graphics = goog.graphics.createGraphics(200, 150);

// define the colors for the squares and the dot
var square_fill = new goog.graphics.SolidFill(&#039;yellow&#039;);
var square_stroke = new goog.graphics.Stroke(2, &#039;green&#039;);
var dot_fill = new goog.graphics.SolidFill(&#039;blue&#039;);
var dot_stroke = new goog.graphics.Stroke(1, &#039;black&#039;);

// the dot&#039;s initial position
var dot = {x: 1, y: 1};

// properties
var size = 40;
var margin = 5;
var width = size - margin;
var num_rows = 3;
var num_cols = 4;

// draw the squares
for (var x = 0; x &lt; num_cols; x++) {
for (var y = 0; y &lt; num_rows; y++) { graphics.drawRect(margin + x * size, margin + y * size, width, width, square_stroke, square_fill); } } // draw the dot dot[&#039;graphic&#039;] = graphics.drawEllipse(margin + dot[&#039;x&#039;] * size + width / 2, margin + dot[&#039;y&#039;] * size + width / 2, width / 4, width / 4, dot_stroke, dot_fill); // call if the dot&#039;s position changes redraw_dot = function() { dot[&#039;graphic&#039;].setCenter(margin + dot[&#039;x&#039;] * size + width / 2, margin + dot[&#039;y&#039;] * size + width / 2); } // key event handler var key_handler = new goog.events.KeyHandler(document); var key_event = function (e) { if (e.keyCode == goog.events.KeyCodes.UP &amp;&amp; dot[&#039;y&#039;] &gt; 0) {
dot[&#039;y&#039;] -= 1;
} else if (e.keyCode == goog.events.KeyCodes.RIGHT &amp;&amp; dot[&#039;x&#039;] &lt;= num_cols - 2) {
dot[&#039;x&#039;] += 1;
} else if (e.keyCode == goog.events.KeyCodes.DOWN &amp;&amp; dot[&#039;y&#039;] &lt;= num_rows - 2) { dot[&#039;y&#039;] += 1; } else if (e.keyCode == goog.events.KeyCodes.LEFT &amp;&amp; dot[&#039;x&#039;] &gt; 0) {
dot[&#039;x&#039;] -= 1;
}
redraw_dot();
}

// put everything together
goog.events.listen(key_handler, &#039;key&#039;, key_event);
graphics.render(document.getElementById(&#039;shapes&#039;));
// ]]&gt;&lt;/script&gt;
</pre>
<p>Vía <a href="http://teebes.com/blog/19/">http://teebes.com/blog/19/</a></p>
<p>Enlaces de interes:</p>
<ul>
<li><a title="Closure Compiler" href="http://code.google.com/closure/compiler">Closure Compiler</a></li>
<li><a title="Closure Inspector" href="http://code.google.com/closure/compiler/docs/inspector.html">Closure Inspector</a></li>
<li><a id="qnzg" title="Closure Library" href="http://code.google.com/closure/library">Closure Library</a></li>
<li><a id="j_2h" title="Closure Templates" href="http://code.google.com/closure/templates">Closure Templates</a></li>
</ul>
<img src="http://blog.mariocolque.com.ar/?ak_action=api_record_view&id=135&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.mariocolque.com.ar/2010/01/30/jugando-con-la-libreria-google-closure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

