<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>aNieto2K</title>
	
	<link>http://www.anieto2k.com</link>
	<description>Desarrollo web, Wordpress, y alguna cosilla más</description>
	<lastBuildDate>Tue, 10 Nov 2009 14:18:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/anieto2k/Xzqf" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>¿Que navegador tiene el Javascript más estándar?</title>
		<link>http://feedproxy.google.com/~r/anieto2k/Xzqf/~3/uVLCMW0SK2Y/</link>
		<comments>http://www.anieto2k.com/2009/11/10/%c2%bfque-navegador-tiene-el-javascript-mas-estandar/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 14:18:34 +0000</pubDate>
		<dc:creator>aNieto2k</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[estandares]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://www.anieto2k.com/?p=9249</guid>
		<description><![CDATA[Ajaxian habla hoy de Sputniktests que son una implementación web de Sputniktests ECMA-262 desarrollado por Google, una herramienta de testeo de Javascript estándar, lo que nos permite comprobarlo directamente desde nuestro navegador.

(Ver Imagen)

Para los que no lo sepan,  ECMA-262 es una norma de implementación de Javascript, osea una serie de estándares que los navegadores deben [...]]]></description>
			<content:encoded><![CDATA[<a href="http://ajaxian.com/archives/sputniktests-via-browsers">Ajaxian </a>habla hoy de <a href="http://github.com/kangax/sputniktests-webrunner">Sputniktests que son una implementación web</a> de<a href="http://code.google.com/p/sputniktests/"> Sputniktests ECMA-262</a> desarrollado por Google, una herramienta de testeo de Javascript estándar, lo que nos permite <a href="http://thinkweb2.com/projects/prototype/sputniktests-web-runner/">comprobarlo directamente desde nuestro navegador</a>.
<p style="text-align: center;"><a rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2009/11/sputniktests-webrunner.png"><img src="http://www.anieto2k.com/wp-content/uploads/2009/11/sputniktests-webrunner-524x300.png" alt="sputniktests-webrunner" /></a>
<a href="http://www.anieto2k.com/wp-content/uploads/2009/11/sputniktests-webrunner.png"><small>(Ver Imagen)</small></a>

Para los que no lo sepan, <a href="http://www.ecma-international.org/publications/standards/Ecma-262.htm"> ECMA-262 es una norma de implementación de Javascript</a>, osea una serie de estándares que los navegadores deben de seguir a la hora de implementar el motor Javascript en su navegador.
</p><p style="text-align: center;"><a rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2009/11/sputniktests_chart.png"><img src="http://www.anieto2k.com/wp-content/uploads/2009/11/sputniktests_chart-318x300.png" alt="sputniktests_chart" /></a>
<a href="http://www.anieto2k.com/wp-content/uploads/2009/11/sputniktests_chart.png"><small>(Ver Imagen)</small></a>

<a href="http://kangax.github.com/sputniktests-webrunner/">El test comprueba</a> <em>hasta 5000 puntos del estándar Javascript que los navegadores deberían respetar</em>. En esta imagen vemos el listado de resultados (hay que tener en cuenta que menos es mejor, ya que indica el número de fallos), vemos como Opera 9.64 seguido de Firefox 3.5 son los navegadores más estándares en cuanto a Javascript se refiere.

Me han sorprendido unos resultados como:
<ul>
	<li>El 5º puesto de Google Chrome</li>
	<li>El 7º de Safari 4</li>
	<li>El horrible resultado de Opera 10 por detrás de Internet Explorer 8</li>
	<li>El caso omiso que hace Internet Explorer a este estándar (los resultado básicamente son los mismos).... O.o</li>
	<li>Que todas las versiones de Firefox 3, 3.5, y 3.7a1 estén entre los 4 primeros</li>
</ul></p><h3>Artículos relacionados</h3>
<ul><li><a href="http://www.anieto2k.com/2006/06/29/%c2%bfque-filtro-css-usar-para-que-navegador/" rel="bookmark" title="Permanent Link: ¿Que filtro CSS usar para que navegador?">¿Que filtro CSS usar para que navegador?</a></li><li><a href="http://www.anieto2k.com/2008/03/04/internet-explorer-80-sera-super-estandar-por-defecto/" rel="bookmark" title="Permanent Link: Internet Explorer 8.0, será super estandar por defecto">Internet Explorer 8.0, será super estandar por defecto</a></li><li><a href="http://www.anieto2k.com/2006/09/23/%c2%bfque-es-rss-dos-explicaciones-en-lenguaje-nada-tecnico/" rel="bookmark" title="Permanent Link: ¿Qué es RSS?: dos explicaciones en lenguaje nada técnico">¿Qué es RSS?: dos explicaciones en lenguaje nada técnico</a></li><li><a href="http://www.anieto2k.com/2006/12/11/conoce-el-tamano-del-navegador-mediante-javascript/" rel="bookmark" title="Permanent Link: Conoce el tamaño del navegador mediante Javascript">Conoce el tamaño del navegador mediante Javascript</a></li><li><a href="http://www.anieto2k.com/2008/07/03/el-pdf-por-fin-es-un-estandar/" rel="bookmark" title="Permanent Link: El PDF por fin es un estandar">El PDF por fin es un estandar</a></li></ul><p><a href="http://www.anieto2k.com" id="unknown"><img rel="unknown" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><img src="http://feeds.feedburner.com/~r/anieto2k/Xzqf/~4/uVLCMW0SK2Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.anieto2k.com/2009/11/10/%c2%bfque-navegador-tiene-el-javascript-mas-estandar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.anieto2k.com/2009/11/10/%c2%bfque-navegador-tiene-el-javascript-mas-estandar/</feedburner:origLink></item>
		<item>
		<title>Rendimiento extremo de Javascript</title>
		<link>http://feedproxy.google.com/~r/anieto2k/Xzqf/~3/fj8S3z_18oY/</link>
		<comments>http://www.anieto2k.com/2009/11/10/rendimiento-extremo-de-javascript/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 12:25:33 +0000</pubDate>
		<dc:creator>aNieto2k</dc:creator>
				<category><![CDATA[Curiosidades]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[optimización]]></category>

		<guid isPermaLink="false">http://www.anieto2k.com/?p=9244</guid>
		<description><![CDATA[En uno de esos momento de querer pulir scripts en Javascript me pegó la neura de probar diferente formas de hacer lo mismo sacando el cronómetro y midiendo tiempos para ver que era más eficiente y que lo era menos.

Al final, por esas cosas del destino, me tuve que ir al final terminé olvidándome de [...]]]></description>
			<content:encoded><![CDATA[En uno de esos momento de querer pulir scripts en Javascript me pegó la neura de probar diferente formas de hacer lo mismo sacando el cronómetro y midiendo tiempos para ver que era más eficiente y que lo era menos.

Al final, por esas cosas del destino, me tuve que ir al final terminé olvidándome de lo que quería hacer. Hasta ahora que me he encontrado con <a href="http://www.slideshare.net/madrobby/extreme-javascript-performance">esta presentación</a> de <a href="http://en.wikipedia.org/wiki/Thomas_Fuchs">Thomas Fuchs</a> (author de <a href="http://script.aculo.us/">Script.aculo.us</a>). En ella (la recomiendo) hace exáctamente lo que yo quería hacer, medir los tiempos de ciertas <a href="http://gist.github.com/227048">tareas cotidianas y compararlas con alternativas</a> que nos ofrece el mismo resultado.

Algunos de los resultados muestran cosas realmente interesantes:
<h3>Rendimiento</h3>
<h4>Objetos literales frente a clásicos</h4>
<pre><code><strong>// Más lento
</strong>function literals(){
 var a = [], o = {};
}
<strong>// Más rápido
</strong>function classic(){
 var a new Array, o = new Object:
}</code></pre>
En la presentación se ven los resultados sobre los diferentes navegadores y podemos ver como de usar uno u otro en <strong>Google Chrome podemos multiplicar por 2 el tiempo de proceso</strong>.
<h4>Loops</h4>
Los loops tambien muestran unos resultados curiosos:
<pre><code>var test = '';
for (var i = 0; i&lt;10000; i++)
 test = test + str;

var test = '', i = 10000;
while(i--) test = test + str;</code></pre>
Entre los dos anteriores, no se muestran diferencias en los resultados devueltos.
<pre><strong>// Más lenta
</strong>function normalLoop(){
 var i = 60, j = 0;
 while<code>(i--) j++;
}

<strong>// Más rápida
</strong>function unrolledLoop(){
 var j = 0;
 j++; j++; j++; j++; j++; j++;
 j++; j++; j++; j++; j++; j++;
 j++; j++; j++; j++; j++; j++;
 j++; j++; j++; j++; j++; j++;
 j++; j++; j++; j++; j++; j++;
 j++; j++; j++; j++; j++; j++;
 j++; j++; j++; j++; j++; j++;
 j++; j++; j++; j++; j++; j++;
 j++; j++; j++; j++; j++; j++;
 j++; j++; j++; j++; j++; j++;
}</code></pre>
Tambien vemos que muy caro hacer un loop, en <strong>Firefox multiplicamos por 2 el tiempo y en Google Chrome lo multiplicamos por 5</strong>.
<h4>Cachear variables globales</h4>
<pre><code><strong>// Más rádida
</strong>function cache(){
 var w = window, i = 10000;
 while(i--) w.test = 'test';
}

<strong>// Más lenta
</strong>function nocache(){
 var i = 10000;
 while(i--) window.test = 'test';
}</code></pre>
El cachear variables globables nos ayudará en la mayoría de casos.
<h4>Acceder a atributos de un objeto frente a <code>with()</code></h4>
<pre><code><strong>// Más lento
</strong>function conwith(){
 var obj = { prop: 'test', str: '' };
 with(obj){
 var i = 10000;
 while(i--) str += prop;
 return str;
 }
}

<strong>// Más rápido
</strong>function sinwith(){
 var obj = { prop: 'test', str: '' }, i = 10000;
 while(i--) obj.str += obj.prop;
 return obj.str;
}</code></pre>
En los resultados nos muestra que usar <code>with()</code> para acceder a un objeto nos puede penalizar el tiempo de proceso de nuestro Javascript. En el caso de <strong>Google Chrome reducimos el tiempo a un 7% del empleado con <code>with()</code></strong>.
<h3>Pasar a bits frente a <code>parseInt()</code></h3>
<pre><code><strong>// Más lenta
</strong>parseInt(12.50);

<strong>// Más rápida
</strong>~~(1 * "12.5");</code></pre>
<a href="https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Operators/Bitwise_Operators">Javascript 1.5 integra una serie de operadores a nivel de bit</a>, entre ellos nos encontramos <code>~</code>(Alt Gr + 4) que representa el NOT a nivel de bit y que en este caso nos ayuda a convertir a entero una cadena como podemos ver en el ejemplo (haciendo un doble NOT para obtener un valor positivo).
<h3>Curiosidades del lenguaje</h3>
<h4>Diferencia entre <code>&amp;&amp;</code> y <code>||</code></h4>
<pre><code>var n = 1;
if (true &amp;&amp; (n=2)) ...;
console.log(n);
// --&gt; n = 2
if (true || (n=3)) ...;
console.log(n);
<strong>// --&gt; n = 2</strong></code></pre>
Como es lógico, el uso de <code>&amp;&amp;</code> evalua las dos condiciones frente a <code>||</code> que si ya se cumple la primera, nos evitamos comprobar la segunda.
<h4><code>(...).toString()</code></h4>
<pre><code>(function(){ return 2 * 3; }).toString();

<strong>// IE, Safari y Google Chrome
</strong>function(){ return 2 * 3; }

<strong>// Firefox
</strong>function(){ return 6; }</code></pre>
En este ejemplo vemos como la ejecución de esta función anónima nos muestra un resultado algo extraño en Firefox.
<h3>Más info</h3>
<ol>
	<li><a href="http://www.slideshare.net/madrobby/extreme-javascript-performance">Extreme Javascript Perfomance (Thomas Fuchs)</a></li>
	<li><a href="http://javascriptrocks.com/performance/">JsRocks</a></li>
</ol><h3>Artículos relacionados</h3>
<ul><li><a href="http://www.anieto2k.com/2008/12/17/25-juegos-en-javascript-que-son-interesantes-conocer/" rel="bookmark" title="Permanent Link: 25 juegos en javascript que son interesantes conocer">25 juegos en javascript que son interesantes conocer</a></li><li><a href="http://www.anieto2k.com/2006/06/13/pruebas-de-rendimiento-de-js-en-navegadores/" rel="bookmark" title="Permanent Link: Pruebas de rendimiento de JS en navegadores">Pruebas de rendimiento de JS en navegadores</a></li><li><a href="http://www.anieto2k.com/2007/03/02/canvas-3d-%c2%bfel-futuro-del-javascript/" rel="bookmark" title="Permanent Link: Canvas 3D, ¿el futuro del javascript?">Canvas 3D, ¿el futuro del javascript?</a></li><li><a href="http://www.anieto2k.com/2007/07/03/3d-tomb-ii-un-fps-en-javascript-de-solo-4003bytes/" rel="bookmark" title="Permanent Link: 3D Tomb II, un FPS en Javascript de solo 4003bytes">3D Tomb II, un FPS en Javascript de solo 4003bytes</a></li><li><a href="http://www.anieto2k.com/2006/06/14/prueba-el-rendimiento-de-tu-servidor/" rel="bookmark" title="Permanent Link: Prueba el rendimiento de tu Servidor">Prueba el rendimiento de tu Servidor</a></li></ul><p><a href="http://www.anieto2k.com" id="unknown"><img rel="unknown" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><img src="http://feeds.feedburner.com/~r/anieto2k/Xzqf/~4/fj8S3z_18oY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.anieto2k.com/2009/11/10/rendimiento-extremo-de-javascript/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.anieto2k.com/2009/11/10/rendimiento-extremo-de-javascript/</feedburner:origLink></item>
		<item>
		<title>Frase de V 2009 1×01</title>
		<link>http://feedproxy.google.com/~r/anieto2k/Xzqf/~3/HzCSzkbc_og/</link>
		<comments>http://www.anieto2k.com/2009/11/09/frase-v/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 10:06:44 +0000</pubDate>
		<dc:creator>aNieto2k</dc:creator>
				<category><![CDATA[frases]]></category>

		<guid isPermaLink="false">http://www.anieto2k.com/?p=9238</guid>
		<description><![CDATA[Existe un Arma poderosa ahí fuera....Devoción.
Erica Evans(V 2009 1x01)Artículos relacionados
#Frase 52#fraseFrase #48frase #54Frase]]></description>
			<content:encoded><![CDATA[Existe un Arma poderosa ahí fuera....Devoción.
<p class="autorfrase">Erica Evans(V 2009 1x01)</p><h3>Artículos relacionados</h3>
<ul><li><a href="http://www.anieto2k.com/2007/06/28/frase-52-2/" rel="bookmark" title="Permanent Link: #Frase 52">#Frase 52</a></li><li><a href="http://www.anieto2k.com/2008/11/23/frase-5/" rel="bookmark" title="Permanent Link: #frase">#frase</a></li><li><a href="http://www.anieto2k.com/2006/12/19/frase-48/" rel="bookmark" title="Permanent Link: Frase #48">Frase #48</a></li><li><a href="http://www.anieto2k.com/2007/05/16/frase-54-2/" rel="bookmark" title="Permanent Link: frase #54">frase #54</a></li><li><a href="http://www.anieto2k.com/2006/05/24/frase/" rel="bookmark" title="Permanent Link: Frase">Frase</a></li></ul><p><a href="http://www.anieto2k.com" id="unknown"><img rel="unknown" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><img src="http://feeds.feedburner.com/~r/anieto2k/Xzqf/~4/HzCSzkbc_og" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.anieto2k.com/2009/11/09/frase-v/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.anieto2k.com/2009/11/09/frase-v/</feedburner:origLink></item>
		<item>
		<title>Google Closure, Google nos ayuda a optimizar nuestro Javascript</title>
		<link>http://feedproxy.google.com/~r/anieto2k/Xzqf/~3/qBkccG_QutY/</link>
		<comments>http://www.anieto2k.com/2009/11/09/google-closure-google-nos-ayuda-a-optimizar-nuestro-javascript/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 10:02:17 +0000</pubDate>
		<dc:creator>aNieto2k</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[google.closure]]></category>

		<guid isPermaLink="false">http://www.anieto2k.com/?p=9233</guid>
		<description><![CDATA[Google nos ofrece sus herramientas para optimizar Javascript mediante una serie de componentes que podremos usar desde nuestras aplicaciones. Con ellas podremos conseguir aplicaciones muy ricas en Javascript y rápidas como gMail, Google Docs o Google Maps.
Closure Compiler
Se trata de un optimizador de código que hará nuestras aplicaciones más ligeras y compactas, haciendo que el [...]]]></description>
			<content:encoded><![CDATA[<a href="http://googlecode.blogspot.com/2009/11/introducing-closure-tools.html">Google nos ofrece sus herramientas para optimizar Javascript</a> mediante una serie de componentes que podremos usar desde nuestras aplicaciones. Con ellas podremos conseguir aplicaciones muy ricas en Javascript y rápidas como gMail, Google Docs o Google Maps.
<h3>Closure Compiler</h3>
Se trata de un optimizador de código que hará nuestras aplicaciones más ligeras y compactas, haciendo que el código redundante, al igual que los espacios en blanco, comentarios y demás desaparezcan de nuestro código.

Ya tenemos <a href="http://bohuco.net/blog/2009/11/google-closure-compiler-with-php/">un ejemplo de como usarlo en nuestras aplicaciones PHP</a>
<pre>$script = file_get_contents('<strong>http://www.domain.com/scripts/script.js</strong>');
$ch = curl_init('http://closure-compiler.appspot.com/compile');

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'output_info=compiled_code&amp;output_format=text&amp;compilation_level=SIMPLE_OPTIMIZATIONS&amp;js_code=' . urlencode($script));
$output = curl_exec($ch);
curl_close($ch);</pre>
Basta con cambiar la URL del fichero .js por nuestro fichero Javascript.

[<a href="http://code.google.com/closure/compiler">Closure Compile</a>]
<h3>Closure Inspector</h3>
Extensión para Firebug que nos permite detectar errores del código fuente compactado. Ideal para depurar esas aplicaciones que tenemos en real y que por motivos de optimización hemos compactado.
<p style="text-align: center;"><a rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2009/11/inspector_originalsource.png"><img src="http://www.anieto2k.com/wp-content/uploads/2009/11/inspector_originalsource-600x134.png" alt="inspector_originalsource" /></a>
<a href="http://www.anieto2k.com/wp-content/uploads/2009/11/inspector_originalsource.png"><small>(Ver Imagen)</small></a>

[<a href="http://code.google.com/closure/compiler/docs/inspector.html">Closure Inspector</a>]
<h3>Closure Library</h3>
Se trata de una librería Javascript, al igual que jQuery, MooTools, Prototype,... con un conjunto de funciones compatibles entre los diferentes navegadores.

[<a href="http://closure-library.googlecode.com/svn/trunk/closure/goog/docs/index.html">Closure Library</a>]
<h3>Closure Templates</h3>
Packs basados en HTML/Javascript que nos permite generar componentes web fácilmente.

[<a href="http://code.google.com/closure/templates">Closure Templates</a>]</p><h3>Artículos relacionados</h3>
<ul><li><a href="http://www.anieto2k.com/2007/09/15/demostracion-del-poder-de-google-gwt/" rel="bookmark" title="Permanent Link: Demostración del poder de Google GWT">Demostración del poder de Google GWT</a></li><li><a href="http://www.anieto2k.com/2006/05/17/google-web-tools-las-herramientas-de-google/" rel="bookmark" title="Permanent Link: Google Web Tools, las herramientas de Google">Google Web Tools, las herramientas de Google</a></li><li><a href="http://www.anieto2k.com/2009/04/22/google-analytics-libera-su-api/" rel="bookmark" title="Permanent Link: Google Analytics libera su API">Google Analytics libera su API</a></li><li><a href="http://www.anieto2k.com/2009/05/13/jquery-google-charting-haciendo-google-chart-mas-facil/" rel="bookmark" title="Permanent Link: jQuery Google Charting, haciendo Google Chart más fácil">jQuery Google Charting, haciendo Google Chart más fácil</a></li><li><a href="http://www.anieto2k.com/2007/06/05/utilidades-para-google-gears/" rel="bookmark" title="Permanent Link: Utilidades para Google Gears">Utilidades para Google Gears</a></li></ul><p><a href="http://www.anieto2k.com" id="unknown"><img rel="unknown" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><img src="http://feeds.feedburner.com/~r/anieto2k/Xzqf/~4/qBkccG_QutY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.anieto2k.com/2009/11/09/google-closure-google-nos-ayuda-a-optimizar-nuestro-javascript/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.anieto2k.com/2009/11/09/google-closure-google-nos-ayuda-a-optimizar-nuestro-javascript/</feedburner:origLink></item>
		<item>
		<title>Wp-Answers, crea una comunidad de preguntas y respuestas con Wordpress</title>
		<link>http://feedproxy.google.com/~r/anieto2k/Xzqf/~3/Rv2JIdPaacM/</link>
		<comments>http://www.anieto2k.com/2009/11/07/wp-answers-crea-una-comunidad-de-preguntas-y-respuestas-con-wordpress/#comments</comments>
		<pubDate>Sat, 07 Nov 2009 11:49:13 +0000</pubDate>
		<dc:creator>aNieto2k</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[wordpress.plugin]]></category>

		<guid isPermaLink="false">http://www.anieto2k.com/?p=9223</guid>
		<description><![CDATA[Hace unos meses empecé a montar este plugin que permite crear comunidades basadas en preguntas y respuestas, al estilo StackOverFlow y/o Yahoo! Answers. La idea es generar, sin modificar para nada el núcleo de Wordpress, un sistema basado en votaciones de comentarios y ordenarlos por este número de votaciones.

De esta forma, podremos disponer de un [...]]]></description>
			<content:encoded><![CDATA[Hace unos meses empecé a montar este plugin que permite <strong>crear comunidades basadas en preguntas y respuestas</strong>, al estilo <a href="http://stackoverflow.com/">StackOverFlow</a> y/o <a href="http://es.answers.yahoo.com/">Yahoo! Answers</a>. La idea es generar, sin modificar para nada el núcleo de Wordpress, un sistema basado en votaciones de comentarios y ordenarlos por este número de votaciones.

De esta forma, podremos disponer de un sistema que nos permita lanzar preguntas y que mediante las contestaciones de los usuarios y sus votos, podamos obtener una respuesta lo más acertada posible.
<h3>Wp-Answers</h3>
El plugin se encarga de añadir un formulario a cada comentario permitiendo que los usuarios puedan votar positiva o negativamente dicho comentario. Posteriormente y dependiendo del número de comentarios de este comentario y los demás, lo ordenará de forma que el comentario con más votos quede primero, el segundo mejor votado segundo y así sucesivamente.
<p style="text-align: center;"><a rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2009/11/wp-answers.jpg"><img src="http://www.anieto2k.com/wp-content/uploads/2009/11/wp-answers-477x300.jpg" alt="wp-answers" /></a>
<a href="http://www.anieto2k.com/wp-content/uploads/2009/11/wp-answers.jpg"><small>(Ver Imagen)</small></a>
<h3>Nuestro theme</h3>
El plugin, está pensado para no depender de ningún theme y que pueda funcionar en cualquiera, por ello todo el estilo CSS y el Javascript (para realizar las llamadas con Ajax) se puede añadir fácilmente adaptándolo a cada Wordpress.
<h4>Dándole estilos</h4>
El formulario, por defecto no tiene estilos aunque puede personalizarse como más nos guste <strong>incluyendo los estilos a nuestro style.css de nuestro theme</strong>. Os dejo un ejemplo del que he usado para las pruebas:
<pre><code>.wp_answers_votes {
 float:right;
 background-color:#F1F1F1;
 margin-bottom:10px;
 padding:10px
 text-align:center;
 -moz-border-radius:6px;
 -webkit-border-radius:6px;
 border-radius:6px;
}
.wp_answers_total_votes{
 font-size:2em;
}</code></pre>
<h3>Opciones</h3>
Disponemos de una serie de opciones, muy sencillas que nos permiten configurar el nivel de Karma que aporta o resta la votación de comentarios. Además de poder indicar si necesitamos que el usuario este registrado en el blog o no.
</p><p style="text-align: center;"><a rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2009/11/wp-answers-options.jpg"><img src="http://www.anieto2k.com/wp-content/uploads/2009/11/wp-answers-options-442x300.jpg" alt="wp-answers-options" /></a>
<a href="http://www.anieto2k.com/wp-content/uploads/2009/11/wp-answers-options.jpg"><small>(Ver Imagen)</small></a>
<h3>Widget</h3>
He creado un pequeño Widget que nos permitirá mostrar un top N usuarios, ordenados por karma acumulado en nuestro sidebar, simplemente tendremos que indicar las opciones del Widget y añadirlo al sidebar que deseemos.
</p><p style="text-align: center;"><a rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2009/11/wp-answers-widget.jpg"><img src="http://www.anieto2k.com/wp-content/uploads/2009/11/wp-answers-widget.jpg" alt="wp-answers-widget" /></a>
<a href="http://www.anieto2k.com/wp-content/uploads/2009/11/wp-answers-widget.jpg"><small>(Ver Imagen)</small></a>
<h3>Descargar</h3>
Aquí <a href="http://downloads.wordpress.org/plugin/wp-answers.zip">teneis el enlace</a>, también podeis <a href="http://www.anieto2k.com/stack/">verlo en funcionamiento</a> con el theme <a href="http://wordpress.org/extend/themes/p2">P2 (de Wordpress)</a>

<strong>Actualización</strong>

Por sugerencia de <a href="http://www.anieto2k.com/2009/11/07/wp-answers-crea-una-comunidad-de-preguntas-y-respuestas-con-wordpress/comment-page-1/#comment-61162">Cristian Eslava</a> añado la opción de seleccionar una categoría a la que asociar este sistema de mostrar los comentarios. De esta forma, es posible asociarlo a una parte de tu Wordpress y no a todo.</p><h3>Artículos relacionados</h3>
<ul><li><a href="http://www.anieto2k.com/plugins-themes/" rel="bookmark" title="Permanent Link: Plugins &amp; Themes">Plugins &amp; Themes</a></li><li><a href="http://www.anieto2k.com/2006/05/17/respuestas-de-programador/" rel="bookmark" title="Permanent Link: Respuestas de programador">Respuestas de programador</a></li><li><a href="http://www.anieto2k.com/2005/12/01/un-amigo-muy-listo/" rel="bookmark" title="Permanent Link: Un amigo muy listo">Un amigo muy listo</a></li><li><a href="http://www.anieto2k.com/2008/03/29/%c2%bfquieres-ser-millonario-version-geek-para-tu-iphone/" rel="bookmark" title="Permanent Link: ¿Quieres ser millonario? versión Geek para tu iPhone">¿Quieres ser millonario? versión Geek para tu iPhone</a></li><li><a href="http://www.anieto2k.com/2008/01/06/analizando-la-usabilidad-del-nuevo-panel-de-wordpress/" rel="bookmark" title="Permanent Link: Analizando la usabilidad del nuevo panel de Wordpress">Analizando la usabilidad del nuevo panel de Wordpress</a></li></ul><p><a href="http://www.anieto2k.com" id="unknown"><img rel="unknown" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><img src="http://feeds.feedburner.com/~r/anieto2k/Xzqf/~4/Rv2JIdPaacM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.anieto2k.com/2009/11/07/wp-answers-crea-una-comunidad-de-preguntas-y-respuestas-con-wordpress/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		<feedburner:origLink>http://www.anieto2k.com/2009/11/07/wp-answers-crea-una-comunidad-de-preguntas-y-respuestas-con-wordpress/</feedburner:origLink></item>
		<item>
		<title>Another World JS</title>
		<link>http://feedproxy.google.com/~r/anieto2k/Xzqf/~3/peLwJcICu08/</link>
		<comments>http://www.anieto2k.com/2009/11/05/another-world-js/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 19:08:13 +0000</pubDate>
		<dc:creator>aNieto2k</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[estandares]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[juegos]]></category>

		<guid isPermaLink="false">http://www.anieto2k.com/?p=9220</guid>
		<description><![CDATA[Impresionante versión del famoso juego Another World implementado completamente en Javascript. Impresionante el uso de &#60;canvas /&#62; e impresionante el consumo de CPU :DArtículos relacionados
La mayor colección de Hello WorldCalendario con CSSWoWMaX, el theme para los amantes de WoW (World of Warcraft)Hola mundo en canvasMás Themes para Wordpress]]></description>
			<content:encoded><![CDATA[Impresionante versión del famoso juego <a href="http://megidish.net/awjs/">Another World implementado completamente en Javascript</a>. Impresionante <a href="http://www.anieto2k.com/2009/09/10/hola-mundo-en-canvas/">el uso de &lt;canvas /&gt;</a> e impresionante el consumo de CPU :D<h3>Artículos relacionados</h3>
<ul><li><a href="http://www.anieto2k.com/2006/07/16/la-mayor-coleccion-de-hello-world/" rel="bookmark" title="Permanent Link: La mayor colección de Hello World">La mayor colección de Hello World</a></li><li><a href="http://www.anieto2k.com/2006/07/16/calendario-con-css/" rel="bookmark" title="Permanent Link: Calendario con CSS">Calendario con CSS</a></li><li><a href="http://www.anieto2k.com/2007/08/10/wowmax-el-theme-para-los-amantes-de-wow-world-of-warcraft/" rel="bookmark" title="Permanent Link: WoWMaX, el theme para los amantes de WoW (World of Warcraft)">WoWMaX, el theme para los amantes de WoW (World of Warcraft)</a></li><li><a href="http://www.anieto2k.com/2009/09/10/hola-mundo-en-canvas/" rel="bookmark" title="Permanent Link: Hola mundo en canvas">Hola mundo en canvas</a></li><li><a href="http://www.anieto2k.com/2006/12/01/mas-themes-para-wordpress-2/" rel="bookmark" title="Permanent Link: Más Themes para Wordpress">Más Themes para Wordpress</a></li></ul><p><a href="http://www.anieto2k.com" id="unknown"><img rel="unknown" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><img src="http://feeds.feedburner.com/~r/anieto2k/Xzqf/~4/peLwJcICu08" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.anieto2k.com/2009/11/05/another-world-js/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.anieto2k.com/2009/11/05/another-world-js/</feedburner:origLink></item>
		<item>
		<title>MooTools nos pide que actualicemos nuestras librerías</title>
		<link>http://feedproxy.google.com/~r/anieto2k/Xzqf/~3/Gg7qBiMHrNo/</link>
		<comments>http://www.anieto2k.com/2009/11/05/mootools-nos-pide-que-actualizemos-nuestras-librerias/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 12:21:45 +0000</pubDate>
		<dc:creator>aNieto2k</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[estandares]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[MooTools]]></category>

		<guid isPermaLink="false">http://www.anieto2k.com/?p=9218</guid>
		<description><![CDATA[La gente de MooTools publica en su blog una entrada para recomendarnos que actualicemos las versiones 1.1.2 y la versión 1.2.4.

El motivo, la desaparición de el método document.getBoxObjectFor en Mozilla Firefox 3.6.

La última versión de Gecko, elimina este método y afectará directamente a la versión 1.1.2 de MooTools ya que se usa en dos casos [...]]]></description>
			<content:encoded><![CDATA[La gente de MooTools publica en su blog una entrada para <a href="http://mootools.net/blog/2009/11/02/upgrade-mootools/">recomendarnos que actualicemos las versiones 1.1.2 y la versión 1.2.4</a>.

El motivo, la desaparición de el método <code>document.getBoxObjectFor</code> en Mozilla Firefox 3.6.

La última versión de Gecko, elimina este método y afectará directamente a la versión 1.1.2 de MooTools ya que se usa en dos casos concretos:
<ul>
	<li><code>Event.relatedTarget</code>: Identifica el target de cualquier evento. Esta propiedad se usa en muchos sitios del framework.</li>
	<li>Evento MooseWheel:  Firefox identifica el evento usando "<code>DOMMouseScroll</code>" en lugar "mousewheel"</li>
</ul>
Por este motivo nos informan de que tenemos la actualización de las dos versiones disponibles para descargar y reemplazar las que usamos actualmente.
<p style="text-align: center;"><a href="http://mootools.net/download/version/1.1.2">MooTools 1.1.2</a> / <a href="http://mootools.net/download">MooTools 1.2.4</a></p><h3>Artículos relacionados</h3>
<ul><li><a href="http://www.anieto2k.com/2008/10/17/mootools-121-esta-en-la-calle/" rel="bookmark" title="Permanent Link: MooTools 1.2.1 está en la calle">MooTools 1.2.1 está en la calle</a></li><li><a href="http://www.anieto2k.com/2009/04/28/mootools-122/" rel="bookmark" title="Permanent Link: MooTools 1.2.2">MooTools 1.2.2</a></li><li><a href="http://www.anieto2k.com/2007/09/24/mootools-ext-adapter/" rel="bookmark" title="Permanent Link: MooTools Ext Adapter">MooTools Ext Adapter</a></li><li><a href="http://www.anieto2k.com/2008/06/13/mootools-12-cheat-sheet/" rel="bookmark" title="Permanent Link: MooTools 1.2 cheat sheet">MooTools 1.2 cheat sheet</a></li><li><a href="http://www.anieto2k.com/2008/06/10/mootools-12-ve-la-luz/" rel="bookmark" title="Permanent Link: MooTools 1.2 ve la luz">MooTools 1.2 ve la luz</a></li></ul><p><a href="http://www.anieto2k.com" id="unknown"><img rel="unknown" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><img src="http://feeds.feedburner.com/~r/anieto2k/Xzqf/~4/Gg7qBiMHrNo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.anieto2k.com/2009/11/05/mootools-nos-pide-que-actualizemos-nuestras-librerias/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.anieto2k.com/2009/11/05/mootools-nos-pide-que-actualizemos-nuestras-librerias/</feedburner:origLink></item>
		<item>
		<title>Excerpt2Content, muestra todo el contenido a tus usuarios</title>
		<link>http://feedproxy.google.com/~r/anieto2k/Xzqf/~3/_Fn6W9V-7dw/</link>
		<comments>http://www.anieto2k.com/2009/11/04/excerpt2content-muestra-todo-el-contenido-a-tus-usuarios/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 09:36:14 +0000</pubDate>
		<dc:creator>aNieto2k</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[hacks]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[wordpress.hacks]]></category>

		<guid isPermaLink="false">http://www.anieto2k.com/?p=9213</guid>
		<description><![CDATA[Muchos son los mails que he recibido pidiendome una solución al problema de que el theme de su Wordpress muestra solo una pequeña porción del contenido. Esto es debido a que el theme que están usando está haciendo uso de la función the_excerpt() en lugar de the_content().

La diferencia es que la primera nos muestra únicamente [...]]]></description>
			<content:encoded><![CDATA[Muchos son los mails que he recibido pidiendome una solución al problema de que el theme de su Wordpress muestra solo una pequeña porción del contenido. Esto es debido a que el theme que están usando está haciendo uso de la función <a href="http://codex.wordpress.org/Template_Tags/the_excerpt"><code>the_excerpt()</code></a> en lugar de <a href="http://codex.wordpress.org/Template_Tags/the_content"><code>the_content()</code></a>.

La diferencia es que la primera nos muestra únicamente el extracto del artículo, sino lo hemos redactado este cogerá l<em>as primeras 55 palabras (por defecto) del artículo</em>, eliminando tags HTML como <code>&lt;img /&gt;</code>, <code>&lt;strong /&gt;</code>,... haciendo que el contenido tenga un aspecto de "extracto" del original. Generalmente este contenido está seguido de unos puntos suspensivos indicando que el artículo no está completo ([...]). Lo que hace que el usuario tenga que acceder a leer el artículo directamente para ver el contenido completo.

Por otro lado, <code>the_content()</code> nos muestra el contenido completo y nos permite cortarlo donde queramos mediante el uso de 2 tags:
<ul>
	<li><code>&lt;!--more--&gt;</code>: Añade un<a href="http://www.anieto2k.com/2005/12/28/cambiar-el-more-de-wordpress/"> texto de "Leer Más" (que puedes cambiar)</a> al final de la página principal y que te lleva al artículo completo.</li>
	<li><code>&lt;!--nextpage--&gt;</code>: Te permite generar una paginación y cada tag generará una página nueva.</li>
</ul>
<p style="text-align: center;"><a rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2009/11/anieto2k_excerpt.JPG"><img src="http://www.anieto2k.com/wp-content/uploads/2009/11/anieto2k_excerpt-438x300.jpg" alt="anieto2k_excerpt" /></a>
<a href="http://www.anieto2k.com/wp-content/uploads/2009/11/anieto2k_excerpt.JPG"><small>(Ver Imagen)</small></a>

Muchos themes traen <code>the_excerpt()</code> por defecto, ya que la teoría dice (y la práctica lo demuestra) que al mostrar parte del contenido, el usuario genera un mayor número de páginas vistas (una de la página principal y una por cada noticia que quiere ver completa) pero en muchos casos quieres mostrar imágenes o simplemente no quieres que el usuario tenga que acceder a ver un post completo para leer toda la noticia, en estos casos tenemos varias soluciones.
<h3>1) Reemplazar <code>the_excerpt()</code> por <code>the_content()</code></h3>
La primera solución sería la de buscar en el theme que estamos usando la palabra <code>the_excerpt()</code> y reemplazarla por <code>the_content()</code> haciendo que siempre se muestre el contenido.
<h3>2) Añadir filtro a <code>the_excerpt()</code></h3>
Otra solución más sencilla y fácil de deshacer sería la de añadir un pequeño (muy pequeño) filtro a la llamada <code>the_excerpt()</code> para hacer que nos devuelva el contenido completo.
<pre><code>function excerpt2content(){
 return get_the_content();
}
<strong>// Añadimos excerpt2content al filtro</strong>
add_filter('get_the_excerpt', 'excerpt2content');</code></pre>
Este código, puede ir alojado en el fichero <code>functions.php</code> del theme y si queremos volver al estado inicial, simplemente tendremos que eliminar estas 4 líneas para volver a la normalidad :D</p><h3>Artículos relacionados</h3>
<ul><li><a href="http://www.anieto2k.com/2009/05/13/ocultar-contenido-a-los-usuarios-no-registrados/" rel="bookmark" title="Permanent Link: Ocultar contenido a los usuarios no registrados">Ocultar contenido a los usuarios no registrados</a></li><li><a href="http://www.anieto2k.com/2006/07/11/contenido-centrado-con-css/" rel="bookmark" title="Permanent Link: Contenido Centrado con CSS">Contenido Centrado con CSS</a></li><li><a href="http://www.anieto2k.com/2008/11/12/funciones-personalizadas-en-tu-wordpress/" rel="bookmark" title="Permanent Link: Funciones personalizadas en tu Wordpress">Funciones personalizadas en tu Wordpress</a></li><li><a href="http://www.anieto2k.com/2009/09/25/como-evitar-que-dejen-comentarios-en-google-sidewiki-desde-tu-pagina-web/" rel="bookmark" title="Permanent Link: Como evitar que dejen comentarios en Google Sidewiki desde tu página web">Como evitar que dejen comentarios en Google Sidewiki desde tu página web</a></li><li><a href="http://www.anieto2k.com/2007/03/19/creando-paginas-404-amigables-para-los-usuarios/" rel="bookmark" title="Permanent Link: Creando páginas 404 amigables para los usuarios">Creando páginas 404 amigables para los usuarios</a></li></ul><p><a href="http://www.anieto2k.com" id="unknown"><img rel="unknown" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><img src="http://feeds.feedburner.com/~r/anieto2k/Xzqf/~4/_Fn6W9V-7dw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.anieto2k.com/2009/11/04/excerpt2content-muestra-todo-el-contenido-a-tus-usuarios/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		<feedburner:origLink>http://www.anieto2k.com/2009/11/04/excerpt2content-muestra-todo-el-contenido-a-tus-usuarios/</feedburner:origLink></item>
		<item>
		<title>El consumo de memoria de Firefox 3.6 Beta 1</title>
		<link>http://feedproxy.google.com/~r/anieto2k/Xzqf/~3/I1YZHxsF9Cs/</link>
		<comments>http://www.anieto2k.com/2009/11/04/el-consumo-de-memoria-de-firefox-3-6-beta-1/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 09:00:27 +0000</pubDate>
		<dc:creator>aNieto2k</dc:creator>
				<category><![CDATA[webdev]]></category>
		<category><![CDATA[Firefox3.6]]></category>

		<guid isPermaLink="false">http://www.anieto2k.com/?p=9210</guid>
		<description><![CDATA[En lifehacker hacen una comparativa de los diferentes navegadores web sobre Windows 7 y aunque los resultados no sorprenden a nadie (Google Chrome 4.0 vence sobre Firefox 3.6 beta 1 e Internet Explorer 8.0 termina la lista por detrás de Opera 10.01) nos deja una fantástica gráfica que alegrará a más de uno.

(Ver Imagen)

Se trata [...]]]></description>
			<content:encoded><![CDATA[En <a href="http://lifehacker.com/5395555/browser-speed-tests-the-windows-7-results">lifehacker hacen una comparativa de los diferentes navegadores web sobre Windows 7</a> y aunque los resultados no sorprenden a nadie (<em>Google Chrome 4.0 vence sobre Firefox 3.6 beta 1 e Internet Explorer 8.0 termina la lista por detrás de Opera 10.01</em>) nos deja una fantástica gráfica que alegrará a más de uno.
<p style="text-align: center;"><a rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2009/11/memory_use.png"><img src="http://www.anieto2k.com/wp-content/uploads/2009/11/memory_use-452x300.png" alt="memory_use" /></a>
<a href="http://www.anieto2k.com/wp-content/uploads/2009/11/memory_use.png"><small>(Ver Imagen)</small></a>

Se trata del consumo de memoria de los navegadores consumida en el arranque y trás la carga completa de 9 pestañas. Como podemos ver<strong> Firefox 3.6 beta 1 se alza campeón</strong> de esta prueba sorprendiendonos con un consumo inferior al de la versión estable actual (3.5.4).

Una gran noticia para los que usamos Firefox y conocemos los problemas de consumo de memoria con los que lidiamos día a día.</p><h3>Artículos relacionados</h3>
<ul><li><a href="http://www.anieto2k.com/2008/02/21/firefox-30-gran-paradiso-usa-jemalloc/" rel="bookmark" title="Permanent Link: Firefox 3.0 (Gran Paradiso) usa jemalloc">Firefox 3.0 (Gran Paradiso) usa jemalloc</a></li><li><a href="http://www.anieto2k.com/2008/03/13/la-memoria-consumida-por-firefox-3/" rel="bookmark" title="Permanent Link: La memoria consumida por Firefox 3">La memoria consumida por Firefox 3</a></li><li><a href="http://www.anieto2k.com/2008/12/09/firefox-31-beta-2-disponible/" rel="bookmark" title="Permanent Link: Firefox 3.1 beta 2 disponible">Firefox 3.1 beta 2 disponible</a></li><li><a href="http://www.anieto2k.com/2008/04/02/mas-datos-sobre-el-rendimiento-de-firefox-3/" rel="bookmark" title="Permanent Link: Más datos sobre el rendimiento de Firefox 3">Más datos sobre el rendimiento de Firefox 3</a></li><li><a href="http://www.anieto2k.com/2009/06/22/consumo-de-memoria-de-los-navegadores-modernos/" rel="bookmark" title="Permanent Link: Consumo de memoria de los navegadores modernos">Consumo de memoria de los navegadores modernos</a></li></ul><p><a href="http://www.anieto2k.com" id="unknown"><img rel="unknown" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><img src="http://feeds.feedburner.com/~r/anieto2k/Xzqf/~4/I1YZHxsF9Cs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.anieto2k.com/2009/11/04/el-consumo-de-memoria-de-firefox-3-6-beta-1/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		<feedburner:origLink>http://www.anieto2k.com/2009/11/04/el-consumo-de-memoria-de-firefox-3-6-beta-1/</feedburner:origLink></item>
		<item>
		<title>Opera Mobile 10 beta para desarrolladores</title>
		<link>http://feedproxy.google.com/~r/anieto2k/Xzqf/~3/5Aen2ls2Ix4/</link>
		<comments>http://www.anieto2k.com/2009/11/03/opera-mobile-10-beta-para-desarrolladores/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 08:06:43 +0000</pubDate>
		<dc:creator>aNieto2k</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[estandares]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[Movil]]></category>
		<category><![CDATA[Opera]]></category>

		<guid isPermaLink="false">http://www.anieto2k.com/?p=9204</guid>
		<description><![CDATA[Opera Mobile está evolucionando y es que no solo su hermano mayor lo iba a hacer. La versión móvil, por fin se pasa a Presto 2.4 para renderizar las páginas web y no lo hace solo ya que además incorpora una gran cantidad de mejoras y nuevas funcionalidades para la Internet de hoy.

(Ver Imagen)

Como podemos [...]]]></description>
			<content:encoded><![CDATA[<a href="http://dev.opera.com/articles/view/opera-mobile-10-beta-developers-introduction/">Opera Mobile está evolucionando</a> y es que no solo su hermano mayor lo iba a hacer. La versión móvil, <em>por fin se pasa a Presto 2.4</em> para renderizar las páginas web y no lo hace solo ya que además incorpora una gran cantidad de mejoras y nuevas funcionalidades para la Internet de hoy.
<p style="text-align: center;"><a rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2009/11/Opera_Mobile_10_beta.png"><img src="http://www.anieto2k.com/wp-content/uploads/2009/11/Opera_Mobile_10_beta.png" alt="Opera_Mobile_10_beta" /></a>
<a href="http://www.anieto2k.com/wp-content/uploads/2009/11/Opera_Mobile_10_beta.png"><small>(Ver Imagen)</small></a>

Como podemos ver el cambio a nivel de interfaz de usuario es destacable y el nuevo aspecto ofrece la capacidad de interactuar mediante el dedo con todas las opciones del navegador. Además esta versión dispondrá de <em>Speed Dial portado a la versión móvil</em>.

Al igual que su hermano mayor, esta versión dispone de <a href="http://www.opera.com/business/solutions/turbo/">Opera Turbo</a>, lo que nos permitirá <strong>comprimir las páginas hasta un 70%</strong> en caso de disponer de una conexión lenta.
<h3>Datos para desarrolladores</h3>
Los desarrolladores web, tenemos que tener presente algunas formas de detectar el navegador para condicionar las funcionalidades y/o apariencia.
<h4>Agente de usuario</h4>
El agente de usuario que arroja esta versión nos permitirá reconocer la versión móvil desde nuestro Javascript.
<pre><code>Opera/9.80 (S60; SymbOS; Opera Mobi/275; U; en-GB) Presto/2.4.13 Version/10.00</code></pre>
<h3>Desarrollando para el móvil</h3>
<a href="http://www.anieto2k.com/2007/07/04/trucos-y-consejos-para-desarrollar-para-el-iphone/">Al igual que la versión móvil de Webkit</a> disponemos de una serie de tags HTML y expresiones CSS para condicionar el aspecto para dispositivos móviles.
<h4>Meta tag viewport</h4>
Tenemos un tag HTML que nos permite especificar el tamaño de la página.
<pre><code>&lt;meta name="viewport" content="width=device-width" /&gt;</code></pre>
<h4>Media Query</h4>
Gracias a la implementación de CSS3 nos es posible condicionar parte del CSS a unos dispositivos u otros, dependiendo del tamaño de la pantalla o del tipo de la misma.
<pre><code>@media screen and (max-width: 480px) {
  background-color: red;
  font-size: 1.5em;
}</code></pre>
<h3>Dragonfly</h3>
Esta nueva versión nos sorprende con una versión beta de <a href="http://www.anieto2k.com/2008/05/06/probando-opera-dragonfly-beta/">Dragonfly</a> para esta dispositivos móviles. No ofrece las mismas posibilidades que la versión de escritorio, pero nos permitirá seleccionar elementos y debugear nuestras aplicaciones desde el dispositivo móvil.
</p><p style="text-align: center;"><a rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2009/11/dragonfly-highlight2.png"><img src="http://www.anieto2k.com/wp-content/uploads/2009/11/dragonfly-highlight2.png" alt="dragonfly-highlight2" /></a>
<a href="http://www.anieto2k.com/wp-content/uploads/2009/11/dragonfly-highlight2.png"><small>(Ver Imagen)</small></a>
<h3>Nuevos estándares</h3>
Entre <a href="http://www.anieto2k.com/2009/06/03/opera-10-beta-ya-ha-visto-la-luz/">los nuevos estándares disponibles</a>, que son prácticamente los mismos que la versión de escritorio, cabe destacar la capacidad word-wrap que nos permitirá que el texto se ajuste a la pantalla automáticamente.
</p><p style="text-align: center;"><a rel="lightbox" href="http://www.anieto2k.com/wp-content/uploads/2009/11/word-wrap_demo_mobile.png"><img src="http://www.anieto2k.com/wp-content/uploads/2009/11/word-wrap_demo_mobile.png" alt="word-wrap_demo_mobile" /></a>
<a href="http://www.anieto2k.com/wp-content/uploads/2009/11/word-wrap_demo_mobile.png"><small>(Ver Imagen)</small></a>
<pre><code>div p.wrap { word-wrap: break-word; }</code></pre>
Opera siempre ha estado a la última y esta vez no va a ser diferente, con esta versión los dispositivos móviles podrán disfrutar de Internet rica y rápida en su propia mano.</p><h3>Artículos relacionados</h3>
<ul><li><a href="http://www.anieto2k.com/2006/08/28/opera-para-desarrolladores/" rel="bookmark" title="Permanent Link: Opera para desarrolladores">Opera para desarrolladores</a></li><li><a href="http://www.anieto2k.com/2009/06/07/wordpress-mobile-edition-305/" rel="bookmark" title="Permanent Link: Wordpress Mobile Edition 3.0.5">Wordpress Mobile Edition 3.0.5</a></li><li><a href="http://www.anieto2k.com/2008/07/17/opera-mobile-95-la-vision-del-desarrollador/" rel="bookmark" title="Permanent Link: Opera Mobile 9.5, la visión del desarrollador">Opera Mobile 9.5, la visión del desarrollador</a></li><li><a href="http://www.anieto2k.com/2008/04/02/opera-mini-41beta-y-firefox-3-beta-5-disponibles/" rel="bookmark" title="Permanent Link: Opera Mini 4.1beta y Firefox 3 beta 5 disponibles">Opera Mini 4.1beta y Firefox 3 beta 5 disponibles</a></li><li><a href="http://www.anieto2k.com/2008/08/26/google-gears-para-safari/" rel="bookmark" title="Permanent Link: Google Gears para Safari">Google Gears para Safari</a></li></ul><p><a href="http://www.anieto2k.com" id="unknown"><img rel="unknown" src="http://www.anieto2k.com/favicon.ico" alt="aNieto2k" /></a></p><img src="http://feeds.feedburner.com/~r/anieto2k/Xzqf/~4/5Aen2ls2Ix4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.anieto2k.com/2009/11/03/opera-mobile-10-beta-para-desarrolladores/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.anieto2k.com/2009/11/03/opera-mobile-10-beta-para-desarrolladores/</feedburner:origLink></item>
	</channel>
</rss>
