<?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>Ajaxman &#187; Librerias</title>
	<atom:link href="http://www.ajaxman.net/tag/librerias/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ajaxman.net</link>
	<description>Servicios Web, Desarrollo de aplicaciones, tutoriales sobre software</description>
	<lastBuildDate>Sun, 01 Apr 2012 06:18:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>[Php] Descarga y manual de Cake PHP 1.2</title>
		<link>http://www.ajaxman.net/php-descarga-y-manual-de-cake-php-12.html</link>
		<comments>http://www.ajaxman.net/php-descarga-y-manual-de-cake-php-12.html#comments</comments>
		<pubDate>Tue, 06 Jan 2009 15:51:56 +0000</pubDate>
		<dc:creator>ajaxman</dc:creator>
				<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[Librerias]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[Manual]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/?p=1388</guid>
		<description><![CDATA[<p>Haber si continuamos con el blog y para empezar a romper el hielo les platico esta entrada publicada en el blog de carlos leopoldo. Se trata de el aviso que CakePHP 1.2 ha sido liberado y tal como comenta, este sistema se trata de un framework, con el cual podemos hacer maravillas sin tener que [...]</p>
 ]]></description>
			<content:encoded><![CDATA[<p>Haber si continuamos con el blog y para empezar a romper el hielo les platico esta entrada publicada en el blog de carlos leopoldo.</p>
<p>Se trata de el aviso que <strong>CakePHP 1.2</strong> ha sido liberado y tal como comenta, este sistema se trata de un <strong>framework</strong>, con el cual podemos hacer maravillas sin tener que rompernos la cabeza con php.</p>
<div id="attachment_1389" class="wp-caption aligncenter" style="width: 240px"><a href="http://www.cakephp.org"><img class="size-full wp-image-1389" title="CakePHP" src="http://www.ajaxman.net/wp-content/uploads/2009/01/cakephp.png" alt="CakePHP" width="230" height="225" /></a><p class="wp-caption-text">CakePHP</p></div>
<p>Esta claro que para poder usarlo es necesario tener conocimientos en <strong>Php, html, Javascript, Css entre otros,</strong> pero solo nos centraremos en usar los componentes que estáne ya programados y listos para ello, por ejemplo con este framework podemos crear todo un sistema de publicación para un blog, claro que sin la potencia de <strong>Wordpres </strong> <img src='http://www.ajaxman.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />   pero es solo un ejemplo.</p>
<p>Lo interesante también es que hay un manual completamente en español, y esta muy fácil de seguir, yo personalmente no le he dado oportunidad a este <strong>framework</strong>(ni a <strong>smarty</strong>), por que siento el que código manual es mejor y muy potente, pero por si alguno de ustedes le interesa, aquí les dejo los datos de dicho framework.</p>
<p>Descarga de CakePHP 1.2 <a href="http://cakeforge.org/frs/?group_id=23&amp;release_id=433">Aqui </a><br />
Manual en español <a href="http://book.cakephp.org/es">Aqui</a>.<br />
Pagina oficial <a href="http://www.cakephp.org">CakePHP</a>.</p>
<p>Via | <a title="Permalink para Manual de CakePHP 1.2 y descarga versión final" rel="bookmark" href="http://www.carlosleopoldo.com/post/manual-descarga-cakephp-1.2/">Manual de CakePHP 1.2 y descarga versión final</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/php-descarga-y-manual-de-cake-php-12.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>[Google-Ajax] Google Ajax Libraries API, La gran biblioteca de Librerias Ajax</title>
		<link>http://www.ajaxman.net/google-ajax-google-ajax-libraries-api-la-gran-biblioteca-de-librerias-ajax.html</link>
		<comments>http://www.ajaxman.net/google-ajax-google-ajax-libraries-api-la-gran-biblioteca-de-librerias-ajax.html#comments</comments>
		<pubDate>Wed, 28 May 2008 17:36:03 +0000</pubDate>
		<dc:creator>ajaxman</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Ajaxman]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[Librerias]]></category>
		<category><![CDATA[Mootools]]></category>
		<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Google Ajax Libraries API]]></category>
		<category><![CDATA[Prototype]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/?p=823</guid>
		<description><![CDATA[<p>Leyendo el blog de Andrés Nieto veo una nueva iniciativa de Google, se llama: Google Ajax Libraries API Que viene siendo una especie de lugar donde se almacenaran librerías Ajax, (como Jquery, Mootools, Prototype, Etc..), y las cuales estarán accesibles a todo el publico. Las librerias/Frameworks disponibles en este momento son jQuery prototype script.aculo.us MooTools [...]</p>
 ]]></description>
			<content:encoded><![CDATA[<p>Leyendo el blog de Andrés Nieto veo una nueva iniciativa de Google, se llama:</p>
<h2 style="text-align: center;"><span style="color: #3366ff;"><a href="http://code.google.com/apis/ajaxlibs/">Google Ajax Libraries API</a></span></h2>
<p>Que viene siendo una especie de lugar donde se almacenaran librerías Ajax, (como Jquery, Mootools, Prototype, Etc..), y las cuales estarán accesibles a todo el publico.</p>
<p>Las librerias/Frameworks disponibles en este momento son</p>
<ul>
<li><a href="http://jquery.com/">jQuery</a></li>
<li><a href="http://www.prototypejs.org/">prototype</a></li>
<li><a href="http://script.aculo.us/">script.aculo.us</a></li>
<li><a href="http://mootools.net/">MooTools</a></li>
<li><a href="http://dojotoolkit.org/">dojo</a></li>
<li><a href="http://maps.google.com/">Google Maps</a></li>
<li><a href="http://code.google.com/apis/ajaxsearch/">Google Ajax Search</a></li>
<li><a href="http://code.google.com/apis/ajaxfeeds/">Google AJAX Feed API</a></li>
<li><a href="http://code.google.com/apis/gdata/">Google data APIs</a></li>
</ul>
<p>Las <strong>ultimas 4 no son Librerias JS</strong>, sin embargo tambien forman parte de este abanico de posibilidades.</p>
<p>Su implementación/uso es simple y de la siguiente forma:</p>
<p></p><pre class="crayon-plain-tag">&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js&quot;&gt;&lt;/script&gt;</pre><p></p>
<p>Esto es para cargar Jquery, para cargar alguna de las otras librerías JS, debemos cambiar la ruta del script(SRc) por alguna de las siguientes:</p>
<p></p><pre class="crayon-plain-tag">//jQuery
http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js

// Prototype
http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js

//Script.aculo.us
http://ajax.googleapis.com/ajax/libs/scriptaculous/1.8.1/scriptaculous.js

//MooTools
http://ajax.googleapis.com/ajax/libs/mootools/1.11/mootools-yui-compressed.js

//Dojo
http://ajax.googleapis.com/ajax/libs/dojo/1.1.1/dojo/dojo.xd.js</pre><p></p>
<p>También se pueden agregar dichas librerías usando funciones de la api de Google, para ello, necesitaremos cargar la api de google y llamar lo que deseemos como el siguiente ejemplo</p>
<p></p><pre class="crayon-plain-tag">&lt;script src=&quot;http://www.google.com/jsapi&quot;&gt;&lt;/script&gt;

&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
// Load jQuery
google.load(&quot;jquery&quot;, &quot;1&quot;);

// on page load complete, fire off a jQuery json-p query
// against Google web search
google.setOnLoadCallback(function() {
$.getJSON(&quot;http://ajax.googleapis.com/ajax/services/search/web?q=google&amp;;v=1.0&amp;;callback=?&quot;,

// on search completion, process the results
function (data) {
if (data.responseDate.results &amp;&amp;
data.responseDate.results.length&gt;0) {
renderResults(data.responseDate.results);
}
});
});
// --&gt;&lt;/script&gt;</pre><p></p>
<p>Como pudimos ver la carga se realizo usando la función <strong>google.load</strong>, la cual funciona de la siguiente forma:</p>
<p></p><pre class="crayon-plain-tag">google.load(name, version, opt);</pre><p></p>
<p>Como podemos observar se utilizan <strong>3 parámetros</strong>, los cuales son, el nombre de la librería, la versión de dicha librería, y el ultimo parámetro, que es opcional es para indicar algunas opciones para personalizar mejor la carga de dicha librería, por ejemplo si la deseamos comprimida o no, entre otras opciones mas.<br />
<span id="more-823"></span><br />
Ejemplo de carga</p><pre class="crayon-plain-tag">//con 2 parametros
google.load(&quot;jquery&quot;, &quot;1.2.3&quot;);
google.load(&quot;prototype&quot;, &quot;1.6&quot;);
google.load(&quot;scriptaculous&quot;, &quot;1.8.1&quot;);
google.load(&quot;mootools&quot;, &quot;1.11&quot;);
google.load(&quot;dojo&quot;, &quot;1.1.1&quot;);

//con 3 parametros
google.load(&quot;mootools&quot;, &quot;1.11&quot;, {uncompressed:true});</pre><p></p>
<p>Andrés también comenta que el segundo parámetro tiene la opción de que si no indicas exactamente que versión utilizaras, es decir sin pones por ejemplo usar &#8220;scriptaculous con la version 1.8&#8243;, google automaticamente te mandara ultima versión  que haya salido de dicha rama por ejemplo la &#8220;1.8.1&#8243;.</p>
<p>Google ahora esta explotando una parte que la tenia olvidada, que es, la potencialidad y la necesidad de usar librerías ajax, aunque yo preferiría tener alojadas las librerías que uso en mi propio server, yo creo que es una buena iniciativa de Google, aunque también no hay que depender siempre de Google.</p>
<p>Para completar este post pueden leer la fuente | <a href="http://www.anieto2k.com/2008/05/27/google-ajax-libraries-api-ajax-sobre-la-arquitectura-google/">Google Ajax Libraries API, ajax sobre la arquitectura Google</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/google-ajax-google-ajax-libraries-api-la-gran-biblioteca-de-librerias-ajax.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Javascript] Teclado virtual usando Javascript</title>
		<link>http://www.ajaxman.net/javascript-teclado-virtual-usando-javascript.html</link>
		<comments>http://www.ajaxman.net/javascript-teclado-virtual-usando-javascript.html#comments</comments>
		<pubDate>Mon, 19 May 2008 17:18:02 +0000</pubDate>
		<dc:creator>ajaxman</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Librerias]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/?p=797</guid>
		<description><![CDATA[<p>Los formularios, se pueden mejorar de diferentes formas, como por ejemplo usando css, como vimos en anteriores posts o agregandole una funcionalidad extra. Andrés Nieto nos comenta desde su blog, sobre un teclado virtual construido con Javascript, que nos permitirá ingresar texto como nosotros lo deseemos, además de que podemos elegir el idioma del teclado, [...]</p>
 ]]></description>
			<content:encoded><![CDATA[<p>Los formularios, se pueden mejorar de diferentes formas, como por ejemplo usando css, como vimos en anteriores posts o agregandole una funcionalidad extra.</p>
<p>Andrés Nieto nos comenta desde su blog, sobre un teclado virtual construido con Javascript, que nos permitirá ingresar texto como nosotros lo deseemos, además de que podemos elegir el idioma del teclado, en el que queramos que se nos muestre, claro, solo cambiara el idioma del teclado(osea la distribución  de teclas) mas no lo que escribimos.<br />
Su implementación es realmente fácil solo basta con bajarse el js y el Css.</p>
<p></p><pre class="crayon-plain-tag">&lt;script src=&quot;http://www.ajaxman.net/wp-admin/keyboard.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;keyboard.css&quot;&gt;</pre><p></p>
<p>Y cuando lo queramos usar simplemente invocamos la clase &#8220;keyboardinput&#8221; de esta forma:</p>
<p></p><pre class="crayon-plain-tag">.
...
&lt;input class=&quot;keyboardInput&quot; type=&quot;text&quot; /&gt;
...
.</pre><p></p>
<p>La licencia que usa es BSD.</p>
<p>Aprovecho este post para felicitar a <a href="http://www.anieto2k.com/2008/05/18/siento-la-paliza-que-os-he-dado-en-estos-3000-posts/">Andrés Nieto por sus 3000 posts escritos</a>, los cuales en lo personal me han ayudado muchisimo a aprender y mejorar sobre Javascript, y por supuesto es una fuente de información excelente para mi blog, en hora buena Felicidades <a href="http://www.anieto2k.com/">Andrés vamos por los 10000 posts</a>.</p>
<p><strong>Nota: Fui al Bugcon, Pero tome un par de fotos, y nos las tengo a la mano, les prometo platicar que tal estuvo, solo que mañana pondré el post.</strong></p>
<p>Vía | <a href="http://www.anieto2k.com/2008/05/18/anade-un-teclado-virtual-a-tus-aplicaciones-web/">Añade un teclado virtual a tus aplicaciones web </a></p>
<p>Recurso | <a href="http://www.greywyvern.com/code/js/keyboard.html">Javascript Graphical / Virtual Keyboard Interface</a></link>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/javascript-teclado-virtual-usando-javascript.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Ajax-Php] mooHP: Mootools y Php</title>
		<link>http://www.ajaxman.net/ajax-php-moohp-mootools-y-php.html</link>
		<comments>http://www.ajaxman.net/ajax-php-moohp-mootools-y-php.html#comments</comments>
		<pubDate>Mon, 28 Apr 2008 15:29:43 +0000</pubDate>
		<dc:creator>ajaxman</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Librerias]]></category>
		<category><![CDATA[Mootools]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Frameworks]]></category>
		<category><![CDATA[MooHP]]></category>
		<category><![CDATA[Php]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/?p=752</guid>
		<description><![CDATA[<p>Buscando un script que me facilitara poner unas tabs para el próximo theme de el blog, el cual por cierto al parecer usara Mootools para unas tabs, las cuales luego verán, Me tope con este Framework. Se llama mooHP, el cual como su nombre lo indica es una mezcla entre Mootools y Php. La ventaja [...]</p>
 ]]></description>
			<content:encoded><![CDATA[<p>Buscando un script que me facilitara poner unas tabs para el próximo theme de el blog, el cual por cierto al parecer usara Mootools para unas tabs, las cuales luego verán, Me tope con este Framework.</p>
<p>Se llama mooHP, el cual como su nombre lo indica es una mezcla entre Mootools y Php.</p>
<p>La ventaja reside en que su sintaxis es muy similar a la de Mootools , por lo cual si estas acostumbrado a usar esta librería la implementación sera fácil y las ventajas muchas mas, como gestionar la gran mayoría de código vía Php.</p>
<p>A continuación les pongo un ejemplo de código y posteriormente un  link para que vean el demo.</p>
<p></p><pre class="crayon-plain-tag">&lt; ?php
include(&quot;mooHP2/dom.class.php&quot;);
include(&quot;mooHP2/element.class.php&quot;);
include(&quot;mooHP2/css.class.php&quot;);
include(&quot;mooHP2/utility.class.php&quot;);

//New instance of the dom class
$t = new dom();

//Loads a template from file
$t-&gt;loadFile(&quot;base.html&quot;);

//Gets element by css selector  and sets it's HTML content.
$t-&gt;SE(&quot;body&quot;)-&gt;setHTML(&quot;&quot;);

//Selected ellement: body adopts  new element
$t-&gt;SE(&quot;body&quot;)-&gt;adopt( $t-&gt;element(&quot;div&quot;, array(&quot;id&quot;=&gt;&quot;header&quot;) ,&quot;Hello world!&quot;) );

//Body adopts  &lt;br /&gt;
$t-&gt;SE(&quot;body&quot;)-&gt;newLine();


$picked = &quot;&quot;;
if (isset( $_GET[&quot;cd&quot;] )) {
 $picked = &quot; you have selected #&quot;.$_GET[&quot;cd&quot;];
}

//Body adopts new element div: with assigned properties as second argument and text as content;
$t-&gt;SE(&quot;body&quot;)-&gt;adopt( $t-&gt;element(&quot;div&quot;, array(&quot;style&quot;=&gt;&quot;margin:10px; padding:10px; border:1px solid #444;&quot;), &quot;Counting down:&quot;.$picked) );

// $select  = new Element()
$select = $t-&gt;element(&quot;select&quot;, array(&quot;name&quot;=&gt;&quot;cd&quot;), &quot;&quot;);

//Body adopts new element of type form
$t-&gt;SE(&quot;body&quot;)-&gt;adopt( $t-&gt;element(&quot;form&quot;, array(&quot;id&quot;=&gt;&quot;newForm&quot;,&quot;method&quot;=&gt;&quot;get&quot;) ) );
//Selects new element by ID and adopts previously defined element $select
$t-&gt;S(&quot;newForm&quot;)-&gt;adopt( $select );
// #newForm adopts new Element input
$t-&gt;S(&quot;newForm&quot;)-&gt;adopt( $t-&gt;element(&quot;input&quot;, array(&quot;type&quot;=&gt;&quot;submit&quot;, &quot;value&quot;=&gt;&quot;CLICK!&quot;) ) );


for ($i=1; $i&lt; =20; $i++) {
	//$newOption is new option element
	$newOption = $t-&gt;element(&quot;option&quot;, array(&quot;value&quot;=&gt;$i), &quot;Count down: &quot; . $i );
	//$select adopt as it's first child the $newOption element
	$select-&gt;adoptTop( $newOption );
	if ( isset($_GET[&quot;cd&quot;]) &amp;&amp; $_GET[&quot;cd&quot;] == $i ) {
		//Setting an attribute to an element
		$newOption-&gt;setProperty(&quot;selected&quot;,&quot;selected&quot;);
	}
}

//Body accepts  new style rules
$t-&gt;SE(&quot;body&quot;)-&gt;setStyle(&quot;margin&quot;,&quot;10px&quot;);

//Body adopts &lt;br /&gt;
$t-&gt;SE(&quot;body&quot;)-&gt;newLine();

//Appending text to the body
$t-&gt;SE(&quot;body&quot;)-&gt;appendText(&quot;and here comes the appended text&quot;);

//Body is adopting the inc.html contents
$t-&gt;SE(&quot;body&quot;)-&gt;adopt( $t-&gt;includeFile(&quot;inc.html&quot;) );

if (!isset( $_GET[&quot;cd&quot;] )) {
	//Make simple alert with javascript
	$t-&gt;alert(&quot;Hello and welcome to mooHP&quot;);
}

//Setting the &lt;title&gt; tah innerHTML
$t-&gt;setPageTitle(&quot;..:: Hello and welcome to mooHP ::..&quot;);


//Creating new instance of the css class
$newCss = new css();
//Setting rule in css
$newCss-&gt;setStyle(&quot;color&quot;,&quot;#ff9900&quot;);
//Setting rules in css
$newCss-&gt;setStyles(array(&quot;font-weight&quot;=&gt;&quot;bold&quot;,&quot;font-size&quot;=&gt;&quot;24px&quot; ));
//Writing the defined css to element
$newCss-&gt;writeToElement( $t-&gt;S(&quot;header&quot;) );


//Creating new instance of the css class
$newCss2 = new css();
//Setting rule in css
$newCss2-&gt;setStyle(&quot;border&quot;,&quot;10px solid #DDD&quot;);
//Setting rule in css
$newCss2-&gt;setStyle(&quot;padding&quot;,&quot;10px&quot;);
//Writing the defined css as #newForm selector in $t dom instance
$newCss2-&gt;writeToDom(&quot;#newForm&quot;, $t);

//Writing the page   if true is passed as argument the page will be compresed
$t-&gt;writePage(true);

?&gt;</pre><p></p>
<p>El resultado de esto seria lo siguiente.<br />
<a href="http://www.devpartment.com/testdrive/mooHP/">http://www.devpartment.com/testdrive/mooHP/</a></p>
<p>Creo que Mootools, me esta ganando, y eso se debe a una gran ventaja que ofrece ante otras Frameworks, como JQuery o Prototype, y eso es su peso, que es extremadamente pequeño, bueno aun sigo defendiendo a Jquery, pero si no se compacta un poco mas quiza tenga que darle un vistazo a Mootools.</p>
<p>Por cierto fui la Flisol, no participe casi en nada y es por que no me dio tuve mucho tiempo, eso si me compre una nueva playera muy chida de Debian Linux, tome unas fotos y me queria traer la de Php, pero pues no habia mas Varo($), asi que sera para la próxima, en cunato baje las fotos les platicare como estuvo la cosa.</p>
<p>Via | <a href="http://questchile.wordpress.com/2007/11/03/mootools-php-moohp/">mootools + PHP = mooHP</a><br />
Descarga | <a href="http://www.devpartment.com/testdrive/mooHP/mooHP.zip">Descargar MooHP</a><br />
Mas información en | <a href="http://www.devpartment.com/posts/mootools-php-moohp/">http://www.devpartment.com/posts/mootools-php-moohp/</a></title></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/ajax-php-moohp-mootools-y-php.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Recursos] Resumen de una encuesta sobre desarrollo web y Ajax</title>
		<link>http://www.ajaxman.net/recursos-resumen-de-una-encuesta-sobre-desarrollo-web-y-ajax.html</link>
		<comments>http://www.ajaxman.net/recursos-resumen-de-una-encuesta-sobre-desarrollo-web-y-ajax.html#comments</comments>
		<pubDate>Tue, 25 Mar 2008 20:08:54 +0000</pubDate>
		<dc:creator>ajaxman</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Ajaxman]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[Librerias]]></category>
		<category><![CDATA[Mootools]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Analisis]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/640/recursos-resumen-de-una-encuesta-sobre-desarrollo-web-y-ajax/</guid>
		<description><![CDATA[<p>Antes de que me digan ¿y donde esta la encuesta? dejeneme decirles que esta encuesta no la hice yo, si no la hiciceron en http://www.nitobi.com/survey/. Y lo encontre visitando ajaxian, y bueno les cuento sobre esto: Se hizo una encuesta sobre algunos gustos y preferencias sobre desarrollo web y ajax, los resultados muestran varias tendencias [...]</p>
 ]]></description>
			<content:encoded><![CDATA[<p>Antes de que me digan ¿y donde esta la encuesta? dejeneme decirles que esta encuesta no la hice yo, si no la hiciceron en <a href="http://www.nitobi.com/survey/">http://www.nitobi.com/survey/</a>.</p>
<p>Y lo encontre visitando ajaxian, y bueno les cuento sobre esto:</p>
<p>Se hizo una encuesta sobre algunos gustos y preferencias sobre desarrollo web y ajax, los resultados muestran varias tendencias sobre los frameworks ajax mas usados asi como el lenguaje de script del lado del servidor tambien mas usado o talvez preferido.</p>
<p>Hubo varias preguntas y respuestas pero las que sin duda me interesaron mas fueron:</p>
<p><strong>¿Que Plataformas de desarrollo que está usando?</strong></p>
<p>La respuesta con grafica y con numeros.</p>
<p><img src="http://www.ajaxman.net/wp-content/uploads/2008/03/surveyq3.gif" alt="encuesta ajax" align="middle" /></p>
<ul>
<li><strong>PHP: 296</strong></li>
<li><strong>Just HTML and CSS: 289</strong></li>
<li><strong>Java (other): 177</strong></li>
<li><strong>.Net: 163</strong></li>
<li><strong>Cold Fusion: 105</strong></li>
<li><strong>JSP: 105</strong></li>
<li><strong>Servlets: 89</strong></li>
<li><strong>Other (please specify): 57</strong></li>
<li><strong>Struts: 51</strong></li>
<li><strong>Python: 46</strong></li>
<li><strong>Rails: 42</strong></li>
<li><strong>Flex: 27</strong></li>
<li><strong>JSF: 23</strong></li>
</ul>
<p><strong>¿Qué herramientas de desarrollo usas (seleccione todos los que correspondan)?</strong></p>
<p>En este caso el resultado es:<br />
<img src="http://www.ajaxman.net/wp-content/uploads/2008/03/surveyq4.gif" alt="encuesta ajax" align="middle" hspace="2" /></p>
<ul>
<li><strong>Eclipse: 289</strong></li>
<li><strong>Dreamweaver: 241</strong></li>
<li><strong>NotePad: 156</strong></li>
<li><strong>Visual Studio: 154</strong></li>
<li><strong>Aptana: 105</strong></li>
<li><strong>Other (please specify): 80</strong></li>
<li><strong>Textmate: 42</strong></li>
<li><strong>Flex Builder: 39</strong></li>
<li><strong>BBEdit: 36</strong></li>
<li><strong>NotePad++: 33</strong></li>
</ul>
<p>Aqui un detalle, muchos usan eclipse y otros mas usan dreamweaver, yo uso rapidphp y es excelente aunque solo esta disponible para windows, pero sin duda su flexibilidad y caracteristicas lo hacen fenomenal, ojala y fuera opensource, pero aun asi lo uso por encima de dreamweaver, no es un post patrocinado ni nada, pero deberian probarlo.</p>
<p>Y una sobre el uso de ajax (la que mas nos interesa)<span id="more-640"></span></p>
<p><strong>Si está usando Ajax, juegos de herramientas o framewokrs de lo que está usando en sus proyectos (seleccione todos los que correspondan)?</strong></p>
<p><img src="http://www.ajaxman.net/wp-content/uploads/2008/03/surveyq10.gif" alt="encuesta ajax" align="middle" /></p>
<ul>
<li><strong>jQuery: 144</strong></li>
<li><strong>Prototype: 143</strong></li>
<li><strong>Scriptaculous: 127</strong></li>
<li><strong>YUI: 99</strong></li>
<li><strong>Ajax for ASP.Net (Atlas): 91</strong></li>
<li><strong>Mootools: 65</strong></li>
<li><strong>Dojo: 63</strong></li>
<li><strong>ExtJs: 61</strong></li>
<li><strong>Nitobi: 61</strong></li>
<li><strong>Spry: 29</strong></li>
<li><strong>Other (please specify): 27</strong></li>
<li><strong>GWT: 19</strong></li>
<li><strong>JMaki: 6</strong></li>
<li><strong>Mochikit: 2</strong></li>
</ul>
<p>Por increible que parezca Jquery esta dominado a prototype, vemos tambien que al framwork Mochikit muy pocos lo usan.</p>
<p>Y hay mas pero solo puese esas.</p>
<p>Esto no es algo que se cumpla siempre debemos recordar que fue solo una encuesta, pero nos ayuda a ver hacia donde va el desarrollo web.</p>
<p>Los que quieran ver todo los datos de la encuesta, los encuentran aqui | <a href="http://www.nitobi.com/survey/">Nitobi Survey Results</a><br />
Via | <a href="http://ajaxian.com/archives/nitobi-survey-results-on-ajax-development">Nitobi Survey Results on Ajax Development</a><br />
Y todos los resultados de dicha encuesta estan Aqui | <a href="http://www.nitobi.com/survey/SurveySummary.xls">Descargar </a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/recursos-resumen-de-una-encuesta-sobre-desarrollo-web-y-ajax.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Mootools] MooTools Swiff, interactuando swf, ajax y Mootools</title>
		<link>http://www.ajaxman.net/mootools-mootools-swiff-interactuando-swf-ajax-y-mootools.html</link>
		<comments>http://www.ajaxman.net/mootools-mootools-swiff-interactuando-swf-ajax-y-mootools.html#comments</comments>
		<pubDate>Wed, 13 Feb 2008 17:03:28 +0000</pubDate>
		<dc:creator>ajaxman</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Ajaxman]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Mootools]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Librerias]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/574/mootools-mootools-swiff-interactuando-swf-ajax-y-mootools/</guid>
		<description><![CDATA[<p>En el blog de Mootools, comentan la nueva version beta de esta libreria ajax la cual ya nos traera a Swiff. Esta herramiento nos permitira conectar Javascript y archivos swf, cosa que se complicaba bastante al hacerla manualmente usando Fscommand. Para poder empezar a trabajar con esta herramienta, la haremos de la siguiente forma. Primero [...]</p>
 ]]></description>
			<content:encoded><![CDATA[<p>En el blog de Mootools, comentan la nueva version beta de esta libreria ajax la cual ya nos traera a Swiff.</p>
<p>Esta herramiento nos permitira conectar Javascript y archivos swf, cosa que se complicaba bastante al hacerla manualmente usando <strong>Fscommand</strong>.</p>
<p>Para poder empezar a trabajar con esta herramienta, la haremos de la siguiente forma.</p>
<p>Primero bajaremos Mootools 1.2 Beta de la siguiente Direccion <a href="http://mootools.net/download/tags/1-2b2 ">http://mootools.net/download/tags/1-2b2 </a></p>
<p>Desde ahi podemos elejir que plugins o complementos deseamos bajar, junto con el nucleo de Mootools, obviamente elejiremos las que uno desea pero tambien incluiremos <strong>Swiff </strong>la cual se localiza dentro de la seccion  <strong>Utilities</strong>.</p>
<p><img src="http://www.ajaxman.net/wp-content/uploads/2008/02/mootools-download-mootools-12-beta-2.png" alt="Ajax, Ajaxman, Javascript, Librerias, Mootools" width="508" height="179" /></p>
<p>Ahora crearemos un archivo Flash, en este caso nuestro archivo flash estara vacio, lo unico que pondremos estara en una accion ahora escribiremos el <strong>ActionScript </strong>que permita crear la interfaz con Swiff.</p>
<p></p><pre class="crayon-plain-tag">//(ActionScript) achivo mySwf.swf
import flash.external.*;

function echoText(text) {
    ExternalInterface.call('alert', &amp;quot;This message is from Flash: &amp;quot;+text);
}

//Fires the 'onLoad' event within the Swiff object.
ExternalInterface.call(onLoad);</pre><p></p>
<p>Ahora lo publicamos, y podremos cargarlo mediante Mootools Swiff.<br />
<span id="more-574"></span></p>
<p></p><pre class="crayon-plain-tag">//(JavaScript) archivo js
var obj = new Swiff('mySwf.swf', {
    width:  1,
    height: 1,
    container: $('swiffContainer'),
    events: {
        onLoad: function() {
            alert(&amp;quot;Flash cargado!&amp;quot;)
        }
    }
});</pre><p></p>
<p>Esto solo nos mostrara el mensaje <strong>&#8220;Flash cargado!&#8221;</strong>.</p>
<p>Inclusive no es necesario ni mostrar el swf, puede ser hasta de 1px por  1px, talvez esto sea muy simple, sin embargo esto solo fue un ejemplo de su uso basico.</p>
<p>Pueden darle un vistazo al blog oficial de Mootools, para ver todas las capacidades de esta herramienta.</p>
<p>Via | <a href="http://blog.mootools.net/2008/2/12/what-s-new-in-1-2-swiff">What&#8217;s New in 1.2: Swiff</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/mootools-mootools-swiff-interactuando-swf-ajax-y-mootools.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[Recursos] Analisis de la velocidad de carga de la librerias JS</title>
		<link>http://www.ajaxman.net/recursos-analisis-de-la-velocidad-de-carga-de-la-librerias-js.html</link>
		<comments>http://www.ajaxman.net/recursos-analisis-de-la-velocidad-de-carga-de-la-librerias-js.html#comments</comments>
		<pubDate>Wed, 06 Feb 2008 06:31:40 +0000</pubDate>
		<dc:creator>ajaxman</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Ajaxman]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Librerias]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/563/recursos-analisis-de-la-velocidad-de-carga-de-la-librerias-js/</guid>
		<description><![CDATA[<p>John Resig nos sorprende nuevamente, ahora nos platica sobre PBWiki team, que nos es otra cosa mas que un completo analisis de las diferentes librerias Javascript que hoy en dia tenemos presentes. Claro, como se imaginaran no es un analisis de todas las librerias, solo de las mas importantes o mas conocidas. Como son: jquery-1.2.1 [...]</p>
 ]]></description>
			<content:encoded><![CDATA[<p>John Resig nos sorprende nuevamente, ahora nos platica sobre <a href="http://jst.pbwiki.com/summary.php">PBWiki team</a>, que nos es otra cosa mas que un completo analisis de las diferentes librerias Javascript que hoy en dia tenemos presentes.</p>
<p>Claro, como se imaginaran no es un analisis de todas las librerias, solo de las mas importantes o mas conocidas.</p>
<p>Como son:</p>
<p><strong>
<ul>
<li>jquery-1.2.1	</li>
<li>dojo-1.0.1	</li>
<li>prototype-1.6.0	</li>
<li>yahoo-utilities-2.4.0	</li>
<li>
protoculous-1.0.2</li>
</ul>
<p></strong></p>
<p>Sin embargo que tiene de especial, este analisis que, otros no hayan hecho?.</p>
<p>Eso es lo mas interesante, ya que no es un analisis, realizado por los creadores del sistema, si no que es un analisis realizado por los usuarios.</p>
<p>Asi de esta forma, el resultado creo yo, sera mas eficaz y mas real.</p>
<p>Pueden checar como van los analisis en la sigueinte direccion</p>
<p><a href="http://jst.pbwiki.com/summary.php">http://jst.pbwiki.com/summary.php</a></p>
<p>En el momento que yo entre las cosas estaban asi.</p>
<table class="basic summary">
<tbody>
<tr>
<th>Toolkit</th>
<th>Time Avg</th>
<th>Samples</th>
</tr>
<tr>
<td>jquery-1.2.1</td>
<td>728.0895</td>
<td>3296</td>
</tr>
<tr>
<td>dojo-1.0.1</td>
<td>907.9133</td>
<td>3287</td>
</tr>
<tr>
<td>prototype-1.6.0</td>
<td>918.4553</td>
<td>3288</td>
</tr>
<tr>
<td>yahoo-utilities-2.4.0</td>
<td>922.3513</td>
<td>3285</td>
</tr>
<tr>
<td>protoculous-1.0.2</td>
<td>1131.3293</td>
<td>3280</td>
</tr>
</tbody>
</table>
<p>Esto por supuesto es refiriendose a las librerias para Ajax-Javascript, sin duda, sera interesante esperar a ver como se va actualizando este analisis.</p>
<p>De momento yo me quedo con Jquery, no hay mas, aunque quizas pronto le de un chance a Mootools, la que por cierto no esta en el test.</p>
<p>Via |   <a href="http://ejohn.org/blog/library-loading-speed/">JavaScript Library Loading Speed</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/recursos-analisis-de-la-velocidad-de-carga-de-la-librerias-js.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Noticias] Programar Js con Dreamweaver usando XTND</title>
		<link>http://www.ajaxman.net/noticias-programar-js-con-dreamweaver-usando-xtnd.html</link>
		<comments>http://www.ajaxman.net/noticias-programar-js-con-dreamweaver-usando-xtnd.html#comments</comments>
		<pubDate>Thu, 31 Jan 2008 05:02:31 +0000</pubDate>
		<dc:creator>ajaxman</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Ajaxman]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Librerias]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/553/noticias-programar-js-con-dreamweaver-usando-xtnd/</guid>
		<description><![CDATA[<p>Esto si que suena super interesante. Resulta que revisando el blog de iGeek, me encuentro con que un tal Chris Charlton, ha desarrollado una extension para Dreamweaver, la cual nos permitira trabajar mas comodamente con Javascript. Sin meabrgo se ve que su verdadero potencial, es que nos ofrece muchisima ayuda para trabajar con algunas de [...]</p>
 ]]></description>
			<content:encoded><![CDATA[<p>Esto si que suena super interesante.</p>
<p>Resulta que revisando el blog de iGeek, me encuentro con que un tal Chris Charlton, ha desarrollado una extension para Dreamweaver, la cual nos permitira trabajar mas comodamente con Javascript.</p>
<p>Sin meabrgo se ve que su verdadero potencial, es que nos ofrece muchisima ayuda para trabajar con algunas de nuestras librerias Javascript.</p>
<p>De momento XTND, da soporte a jQuery 1.2, Prototype 1.6, MooTools, Ext, y YUI.</p>
<p>Les dejo uan animacion para que vean su potencial, yo personalmente no me gusta mucho trabajar con Dreamweaver, por su excesivo consumo de recursos, prefiero, usar RAPID PHP, por cierto mmuy recomendable, aunque con estas mejoras quiza lo use mas seguido.</p>
<p aling="center">
<object width="400" height="316"><param name="movie" value="http://www.ajaxman.net/wp-content/uploads/2008/01/xtnd_dw_jquery_demo.swf"></param><param name="wmode" value="transparent"></param><embed src="http://www.ajaxman.net/wp-content/uploads/2008/01/xtnd_dw_jquery_demo.swf" type="application/x-shockwave-flash" wmode="transparent" width="400" height="316"></embed></object>
</p>
<p>Esperemos que la proxima version de Dreamwevaer pese menos para que sea un verdadero IDE completo.</p>
<p>Via | <a href="http://igeek.com.ar/index.php/2008/01/31/xtnddreamweaver-soporta-librerias-js/">XTND:Dreamweaver soporta librerias JS</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/noticias-programar-js-con-dreamweaver-usando-xtnd.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Tip-Javascript] Desempaquetando scripts</title>
		<link>http://www.ajaxman.net/tip-javascript-desempaquetando-scripts.html</link>
		<comments>http://www.ajaxman.net/tip-javascript-desempaquetando-scripts.html#comments</comments>
		<pubDate>Tue, 29 Jan 2008 05:35:48 +0000</pubDate>
		<dc:creator>ajaxman</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Ajaxman]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Javier]]></category>
		<category><![CDATA[Librerias]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/549/tip-javascript-desempaquetando-scripts/</guid>
		<description><![CDATA[<p>Atendiendo a un email que me llego, de parte de uno de mis lectores, he decidido hacer un post para darle seguimiento a su problema. Resulta que hace tiempo yo puse una solucion para que si tenemos un script escrito en Javascript, lo pudieramos empaquetar, esta solucion consta de un programa, el cual mediante diversos [...]</p>
 ]]></description>
			<content:encoded><![CDATA[<p>Atendiendo a un email que me llego, de parte de uno de mis lectores, he decidido hacer un post para darle seguimiento a su problema.</p>
<p>Resulta que hace tiempo yo puse una solucion para que si tenemos un script escrito en Javascript, lo pudieramos empaquetar, esta solucion consta de un programa, el cual mediante diversos mecanismos, comprime y por asi decirlo empaqueta nuestro codigo.</p>
<p>Hasta ahi todo bien, sin embargo que pasa si tenemos empaquetado nuestro codigo y deseamos hacer la inversa?, osea desempaquetar el codigo?.</p>
<p>Primero tenemos un programa que empaqueta codigo y tambien desempaqueta, pero solo desempaqueta el codigo, que le indicamos anteriormente que nos empaquete, este programa lo pueden localizar en la siguiente pagina web.</p>
<p><a href=" http://dean.edwards.name/packer/"></p>
<p>http://dean.edwards.name/packer/</a></p>
<p>Primero debemos bajar el codigo fuente de este programa (de preferencia en PHP), por que aun no se como programar bien en perl y quiza tengan problemas.</p>
<p>Si tienen dudas sobre la instalacion de apache o la configuracion de php pueden checar el manual que escribi anteriormente en el blog.</p>
<p>Manual de instalacion y configuracion de apache con windows</p>
<p>Ahora bien ya que hemos descargado nuestro codigo vamos a extraerlo y lo ponemos en nuestro servidor web, que por defualt seria Localhost</p>
<p>Si lo hemos hecho por default y lo descomprimimos directamente en raiz, podremos entrar usando la siguiente direccion: http://localhost/packer.php-1.0/.</p>
<p>Ahi veremos los siguiente archivos<br />
Index of /packer.php-1.0</p>
<ul>
<li>Parent Directory</li>
<li>class.JavaScriptPacker.php</li>
<li>class.JavaScriptPacker.php4</li>
<li>example-file.php</li>
<li>example-inline.php</li>
<li>readme.txt</li>
</ul>
<p>abrimos el archivo example-inline.php y veremos una pagina donde podemos comprimir nuestro codigo javascript, podemos hacer la prueba con cualquier js que tengan a la mano.</p>
<p>Yo por ejemplo use el parte del codigo de la mini-libreria JXS, asi pues si tenemos el siguiente codigo</p>
<p></p><pre class="crayon-plain-tag">.
....
.......
................
Jxs=
{
_D:function(_i,_t,_d,_p,_ta)
{
if(typeof _ta!=&amp;quot;undefined&amp;quot;||_ta!=0)Jxs._T(_i,_ta);
var _id=_I(_i);
_id.onkeydown=function(e)
{
var _tcl=(typeof e==&amp;quot;undefined&amp;quot;)?window.event.keyCode:e.which;
switch(_t)
{
case&amp;quot;R&amp;quot;:
var _ind=_d.split(&amp;quot;,&amp;quot;);
var _exp=(_p==true)?&amp;quot;_tcl&amp;lt;_ind[0] || _tcl&amp;gt;_ind[1]&amp;quot;:&amp;quot;_tcl&amp;gt;_ind[0] &amp;amp;&amp;amp; _tcl&amp;lt;_ind[1]&amp;quot;;
if(eval(_exp)){if(e)e.preventDefault();return false;}
else{return true;}
break;
case&amp;quot;A&amp;quot;:
var _ind=_d.split(&amp;quot;,&amp;quot;);
var _ctrl=0;
var _tam=_ind.length;
var _exp=(_p==true)?&amp;quot;_ind[i]==_tcl&amp;quot;:&amp;quot;_ind[i]==_tcl&amp;quot;;
var _ret=(_p==true)?&amp;quot;!_ctrl&amp;quot;:&amp;quot;_ctrl&amp;quot;;
for(i=0;i&amp;lt;_tam;i++)
{_ctrl+=(_ind[i]==_tcl)?1:0;}
if(eval(_ret)){if(e)e.preventDefault();return false;}else{return true;}
break;
case&amp;quot;U&amp;quot;:
var _exp=(_p==true)?&amp;quot;_tcl!=_d&amp;quot;:&amp;quot;_tcl==_d&amp;quot;;
if(eval(_exp))
{if(e)e.preventDefault();return false;}
else{return true;}
break;
default:
var _exp=(_p==true)?&amp;quot;_tcl!=_d&amp;quot;:&amp;quot;_tcl==_d&amp;quot;;
if(eval(_exp))
{if(e)e.preventDefault();return false;}
else{return true;}
break;
}
}
},
_T:function(_i,_ta)
{
var _id=_I(_i);
if(typeof _ta==&amp;quot;undefined&amp;quot;||_ta==0)
{return true;}
else
{
_id.maxLength=_ta;
_id.setAttribute(&amp;quot;size&amp;quot;,_ta);
return true;
}
},
_V:function(_t,_i,_e,_m)
{
var _id=_I(_i);
switch(_t)
{
case&amp;quot;txt&amp;quot;:
var _v=_V(_i);
var _l=(typeof _m!=&amp;quot;undefined&amp;quot;)?'_v==&amp;quot;&amp;quot; || _v.length&amp;lt;_m':'_v==&amp;quot;&amp;quot;';
if(eval(_l))
{
alert(_e);
_F(_i);
return false;
}
else
{
return true;
}
break;
case&amp;quot;mail&amp;quot;:
var emailStr=_V(_i);
var emailPat=/^(.+)@(.+)$/
var specialChars=&amp;quot;\(\)&amp;lt;&amp;gt;@,;:\\\&amp;quot;\.\[\]&amp;quot;;
var validChars=&amp;quot;[^\s&amp;quot;+specialChars+&amp;quot;]&amp;quot;;
var quotedUser=&amp;quot;(&amp;quot;[^&amp;quot;]*&amp;quot;)&amp;quot;;
var ipDomainPat=/^[(d{1,3}).(d{1,3}).(d{1,3}).(d{1,3})]$/
var atom=validChars+'+';
var word=&amp;quot;(&amp;quot;+atom+&amp;quot;|&amp;quot;+quotedUser+&amp;quot;)&amp;quot;;
var userPat=new RegExp(&amp;quot;^&amp;quot;+word+&amp;quot;(\.&amp;quot;+word+&amp;quot;)*$&amp;quot;)
var domainPat=new RegExp(&amp;quot;^&amp;quot;+atom+&amp;quot;(\.&amp;quot;+atom+&amp;quot;)*$&amp;quot;)
var matchArray=emailStr.match(emailPat)
if(matchArray==null){alert(_e);_F(_i);return false;}
var user=matchArray[1];
var domain=matchArray[2];
if(user.match(userPat)==null){alert(_e);_F(_i);return false;}
var atomPat=new RegExp(atom,&amp;quot;g&amp;quot;);
var domArr=domain.match(atomPat);
var len=domArr.length;
if(domArr[domArr.length-1].length&amp;lt;2||domArr[domArr.length-1].length&amp;gt;3){alert(_e);_F(_i);return false;}
if(len&amp;lt;2){alert(_e);_F(_i);return false;}
break;
default:
var _v=_V(_i);
var _l=(typeof _m!=&amp;quot;undefined&amp;quot;)?'_v==&amp;quot;&amp;quot; || _v.length&amp;lt;_m':'_v==&amp;quot;&amp;quot;';
if(eval(_l))
{
alert(_e);
_F(_i);
return false;
}
else
{
return true;
}
break;
}
}
};
etc
etc etc etc
...................
.........................
..........................</pre><p></p>
<p>Copiamos y pegamos el codigo y lo pegamos, despues le damos click en donde dice pack y listo con eso obtenemos nuestro codigo comprimido</p>
<p>Y queda asi</p>
<p></p><pre class="crayon-plain-tag">eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\b'+e(c)+'\b','g'),k[c])}}return p}('T={1b:C(6,B,l,o,c){7(y c!=&amp;quot;w&amp;quot;||c!=0)T.Q(6,c);4 q=J(6);q.1i=C(e){4 9=(y e==&amp;quot;w&amp;quot;)?1k.17.19:e.1c;N(B){z&amp;quot;R&amp;quot;:4 a=l.O(&amp;quot;,&amp;quot;);4 n=(o==8)?&amp;quot;9&amp;lt;a&amp;gt;a[1]&amp;quot;:&amp;quot;9&amp;gt;a[0] &amp;amp;amp;amp;&amp;amp;amp;amp; 9&amp;lt;/a&amp;gt;&amp;lt;a&amp;gt;3){r(m);t(6);5 b}7(10&amp;lt;2){r(m);t(6);5 b}j;15:4 h=G(6);4 H=(y x!=&amp;quot;w&amp;quot;)....</pre><p></p>
<p>Interesante verdad??, pero como lo descomprimimos???.</p>
<p>Facil, notaran que hay un boton que dice decode, lo presionamos y veremos nuestro codigo tal cual fue hecho, ahora bien como notaron el campo es de solo lectura, asiq ue de momento no podremos pegar ningun tipo de codigo dentro de ese cuadro.</p>
<p>Entonces vamos a modificarlo:</p>
<p>1.- Abrimos el archivo example-inline.php, con un editor de php(o Vim/bloc de notas)</p>
<p>2.- En la linea 78 , veremos el siguiente codigo</p>
<p></p><pre class="crayon-plain-tag">&amp;lt;textarea id=&amp;quot;packed&amp;quot; cols=&amp;quot;80&amp;quot; rows=&amp;quot;10&amp;quot; readonly=&amp;quot;readonly&amp;quot;&amp;gt;&amp;lt;/textarea&amp;gt;........</pre><p></p>
<p>3.- Ahora solo quitaremos el readonly=&#8221;readonly&#8221; para que podamos escribir cualquier cosa dentro del recuadro y nos quedara asi.</p>
<p></p><pre class="crayon-plain-tag">&amp;lt;textarea id=&amp;quot;packed&amp;quot; rows=&amp;quot;10&amp;quot; cols=&amp;quot;80&amp;quot;&amp;gt;&amp;lt;/textarea&amp;gt;</pre><p></p>
<p>4.-Lo guardamos y listo recargamos la pagina del empaquetador en nuestro navegador, y veremos que ya podemos pegar nuestro codigo.</p>
<p></p><pre class="crayon-plain-tag">eval(function(p,a,c,k,e,d){e=function(c){return(c&amp;lt;a ?'':e(parseInt(c/a)))+((c=c%a)&amp;gt;35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\b'+e(c)+'\b','g'),k[c])}}return p}('l 14=h(1t){l 3F=h(){k(9.1l&amp;amp;&amp;amp;U[0]!='5t')f 9.1l.2s(9,U);R f 9};P(l o 1f 9)3F[o]=9[o];3F.M=1t;f 3F};14.1A=h(){};14.M={J:h(1t){l 3l=Q 9('5t');l 5n=h(23,1j){k(!23.2s||!1j.2s)f L;f h(){9.1k=23;f 1j.2s(9,U)}};P(l o 1f 1t){l 23=3l[o];l 1j=1t[o];k(23&amp;amp;&amp;amp;23!=1j)1j=5n(23,1j)||1j;3l[o]=1j}f Q 14(3l)},1Y:h(1t){P(l o 1f 1t)9.M[o]=1t[o]}};1I.J=h(){l O=U;O=(O[1])?[O[0],O[1]]:[9,O[0]];P(l o 1f O[1])O[0][o]=O[1][o];f O[0]};1I.4A=h(){P(l i=0;i&amp;lt;u .V;i++)U[i].J=14.M.1Y};Q 1I.4A(4k,1h,3N,6e,14);k(4Y 2L=='5q'){l 2L=14.1A;2L.M={}}R{2L.M.4C=19}T.J=B.J=1I.J;l 70=T;h $n(K){k(K===1D||K===5q)f L;l n=4Y K;k(n=='3L'){k(K.4C)f'W';k(K.1g)f'1r';k(K.6V){1K(K.5r){12 1:f'W';12 3:f K.6W.11(/\S/)?'6E':'3X'}}}f n};h $2Y(K){f!!(K||K===0)};h $6H(K,5E){f($n(K))?K:5E};h $5k(33,1S){f u.7K(u.5k()*(1S-33+1)+33)};h $4v(1o){7t(1o);7u(1o);f 1D};k(T.5a)T.2a=T[T.4D?'7B':'4j']=19;R k(B.5Q&amp;amp;&amp;amp;!B.7J&amp;amp;&amp;amp;!7E.7q)T.29=19;.....</pre><p></p>
<p>Nos queda algo como:</p>
<p></p><pre class="crayon-plain-tag">var(properties){var klass=function(){if(this.initialize&amp;amp;&amp;amp;arguments[0]!='noinit')return this.initialize.apply(this,arguments);else return this};for(var property in this)klass[property]=this[property];klass.prototype=properties;return klass};Class.empty=function(){};Class.prototype={extend:function(properties){var pr0t0typ3=new this('noinit');var parentize=function(previous,current){if(!previous.apply||!current.apply)return false;return function(){this.parent=previous;return current.apply(this,arguments)}};for(var property in properties){var previous=pr0t0typ3[property];var current=properties[property];if(previous&amp;amp;&amp;amp;previous!=current)current=parentize(previous,current)||current;pr0t0typ3[property]=current}return new Class(pr0t0typ3)},implement:function(properties){for(var property in properties)this.prototype[property]=properties[property]}};Object.extend=function(){var args=arguments;args=(args[1])?[args[0],args[1]]:[this,args[0]];for(var property in args[1])args[0][property]=args[1][property];return args[0]};Object.Native=function(){for(var i=0;i&amp;lt;arguments.length;i++)arguments[i].extend=Class.prototype.implement};new Object.Native(Function,Array,String,Number,Class);
if(typeof HTMLElement=='undefined'){var HTMLElement=Class.empty;HTMLElement.prototype={}}
else{HTMLElement.prototype.htmlElement=true}
window.extend=document.extend=Object.extend;
var Window=window;function $type(obj){if(obj===null||obj===undefined)return false;var type=typeof obj;if(type=='object'){if(obj.htmlElement)return'element';if(obj.push)return'array';if(obj.nodeName){switch(obj.nodeType){case 1:return'element';case 3:return obj.nodeValue.test(/S/)?'textnode':'whitespace'}}}return type};function $chk(obj){return!!(obj||obj===0)};function $pick(obj,picked){return($type(obj))?obj:picked};</pre><p></p>
<p>Sin duda esta herramienta es de gran ayuda para que estudiemos como estan programadas las grandes librerias, y no solo eso si no ver como podemos implementarlas mejor y quizas hasta desarrollar algun tipo de plugin, en fin solo la imaginacion puede ser nuestro limite.&lt;/p&gt;</p>
<p>Un saludo especial a nuestro amigo David, que sin sus dudas, este post no hubiera sido escrito, y te mando los scripts por mail, saludos.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/tip-javascript-desempaquetando-scripts.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[Ajax] Script.aculo.us 1.8 preview</title>
		<link>http://www.ajaxman.net/ajax-scriptaculous-18-preview.html</link>
		<comments>http://www.ajaxman.net/ajax-scriptaculous-18-preview.html#comments</comments>
		<pubDate>Tue, 16 Oct 2007 04:38:53 +0000</pubDate>
		<dc:creator>ajaxman</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Ajaxman]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Librerias]]></category>
		<category><![CDATA[Noticias]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Recursos]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/342/ajax-scriptaculous-18-preview/</guid>
		<description><![CDATA[<p>En Ajaxian comentan que Thomas Fuchs a anunciado que esta disponible una version &#8221; de pruebas&#8221; de la libreria Script.aculo.us effects y en la cual se pueden destacar los siguientes cambios: Prototype 1.6 (lastest trunk version) Reescritura completa de Ajax.InPlaceEditor y Ajax.InPlaceCollectionEditor Completa herencia CSS en Effect.Morph Nuevo núcleo de efectos: Effect.Tween Sonido: usar archivos [...]</p>
 ]]></description>
			<content:encoded><![CDATA[<p>En <a href="http://ajaxian.com">Ajaxian </a>comentan que Thomas Fuchs a anunciado que esta disponible una version &#8221; de pruebas&#8221; de la libreria  Script.aculo.us effects y en la cual se pueden destacar los siguientes cambios:</p>
<ul>
<li>Prototype 1.6 (lastest trunk version)</li>
<li>Reescritura completa de Ajax.InPlaceEditor y Ajax.InPlaceCollectionEditor</li>
<li>Completa herencia  CSS en Effect.Morph </li>
<li>Nuevo núcleo de efectos: Effect.Tween </li>
<li>   Sonido: usar archivos mp3 para efectos de sonido; Usos nativos de reproducción en IE y plugins disponibles siempre esten disponibles</li>
<li>Toneladas de corrección de errores</li>
<li>Mejora de comportamiento</li>
</ul>
<p>Entre otros..</p>
<p>Como sabran yo casi no uso esta libreria prefiero <a href="http://jquery.com/">jquery </a>pero pues algun dia quiza le de una oportunidad, <img src='http://www.ajaxman.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Me entere por | <a href="http://ajaxian.com/archives/scriptaculous-18-preview">Script.aculo.us 1.8 preview</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/ajax-scriptaculous-18-preview.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Served from: www.ajaxman.net @ 2012-05-22 16:49:17 -->
