﻿<?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>CRaZy TeaM &#187; Javascript</title>
	<atom:link href="http://www.crazyteam.es/tag/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.crazyteam.es</link>
	<description>Artículos sobre noticias de informática, programación y juegos en red</description>
	<lastBuildDate>Mon, 08 Mar 2010 20:21:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Escribiendo código javascript eficiente</title>
		<link>http://www.crazyteam.es/html/javascript/escribiendo-codigo-javascript-eficiente/</link>
		<comments>http://www.crazyteam.es/html/javascript/escribiendo-codigo-javascript-eficiente/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 08:45:21 +0000</pubDate>
		<dc:creator>Ignacio Sánchez</dc:creator>
				<category><![CDATA[Buenas Prácticas]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.crazyteam.es/?p=449</guid>
		<description><![CDATA[Acabo de ver una presentación, sobre cómo escribir código javascript eficiente, en slideshare escrita por Nicholas Zakas que me ha parecido interesantísima. Son 130 páginas, más o menos.
Writing Efficient JavaScript
View more presentations from Nicholas Zakas.

A mi me ha resultado interesantísima.
Artículos RelacionadosAjax (II): Unión de tecnologíasDraggable: Plugin de CRaZy TeaM para JQueryJSON. Otra forma de hacer [...]]]></description>
			<content:encoded><![CDATA[<p>Acabo de ver una presentación, sobre cómo escribir código javascript eficiente, en slideshare escrita por <a href="http://www.slideshare.net/nzakas">Nicholas Zakas</a> que me ha parecido interesantísima. Son 130 páginas, más o menos.</p>
<div id="__ss_1579430" style="width: 425px; text-align: left;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="Writing Efficient JavaScript" href="http://www.slideshare.net/nzakas/writing-efficient-javascript">Writing Efficient JavaScript</a><object style="margin:0px" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=writing-efficient-javascript-090613215922-phpapp01&amp;rel=0&amp;stripped_title=writing-efficient-javascript" /><param name="allowfullscreen" value="true" /><embed style="margin:0px" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=writing-efficient-javascript-090613215922-phpapp01&amp;rel=0&amp;stripped_title=writing-efficient-javascript" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">presentations</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/nzakas">Nicholas Zakas</a>.</div>
</div>
<p>A mi me ha resultado interesantísima.</p>
<h3  class="related_post_title">Artículos Relacionados</h3><ul class="related_post"><li><a href="http://www.crazyteam.es/html/ajax-ii-union-de-tecnologias/" title="Ajax (II): Unión de tecnologías">Ajax (II): Unión de tecnologías</a></li><li><a href="http://www.crazyteam.es/html/draggable-plugin-de-crazy-team-para-jquery/" title="Draggable: Plugin de CRaZy TeaM para JQuery">Draggable: Plugin de CRaZy TeaM para JQuery</a></li><li><a href="http://www.crazyteam.es/general/json-otra-forma-de-hacer-ajax-en-la-web/" title="JSON. Otra forma de hacer Ajax en la Web">JSON. Otra forma de hacer Ajax en la Web</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.crazyteam.es/html/javascript/escribiendo-codigo-javascript-eficiente/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ajax (II): Unión de tecnologías</title>
		<link>http://www.crazyteam.es/html/ajax-ii-union-de-tecnologias/</link>
		<comments>http://www.crazyteam.es/html/ajax-ii-union-de-tecnologias/#comments</comments>
		<pubDate>Fri, 21 Nov 2008 17:21:21 +0000</pubDate>
		<dc:creator>Ignacio Sánchez</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Comunicación Asíncrona]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.crazyteam.es/?p=288</guid>
		<description><![CDATA[En un post anterior explicaba una definición y una introducción a lo que era el Ajax, que historia había seguido y en qué navegadores se había estado implementando este objeto.
Tecnologías para Ajax
Como bien se dijo, Ajax no es una tecnología en sí, sino una unión de tecnologías con el fin de crear una mejor experiencia [...]]]></description>
			<content:encoded><![CDATA[<p>En un <a href="http://www.crazyteam.es/html/ajax-i-introduccion-y-origenes/">post</a> anterior explicaba una definición y una introducción a lo que era el Ajax, que historia había seguido y en qué navegadores se había estado implementando este objeto.</p>
<h2>Tecnologías para Ajax</h2>
<p>Como bien <a href="http://adaptivepath.com/ideas/essays/archives/000385.php">se dijo</a>, Ajax no es una tecnología en sí, sino una unión de tecnologías con el fin de crear una mejor experiencia de usuario. Estas tecnologías son:</p>
<ul>
<li><a href="http://www.w3c.es/Divulgacion/Guiasbreves/XHTML">XHTML</a> y <a href="http://www.w3c.es/divulgacion/guiasbreves/HojasEstilo">CSS</a> basada en estándares.</li>
<li><a href="http://es.wikipedia.org/wiki/DOM">DOM</a> para la interacción dinámica con el documento.</li>
<li><a href="http://es.wikipedia.org/wiki/XML">XML</a>, <a href="http://www.json.org/">JSON</a>,&#8230;, para el intercambio de datos con el servidor.</li>
<li><a href="http://es.wikipedia.org/wiki/XmlHttpRequest">XMLHttpRequest</a> establecer el canal de comunicación entre el cliente y el servidor.</li>
<li><a href="http://es.wikipedia.org/wiki/Javascript">Javascript</a> para tratar el fichero (XML, JSON) del servidor, tratarlo e incluirlo por DOM a la página.</li>
</ul>
<p style="text-align: center;"><a href="http://www.crazyteam.es/wp-content/uploads/2008/11/f0101.gif"><img class="size-medium wp-image-297 aligncenter" title="Ajax, unión de tecnologías" src="http://www.crazyteam.es/wp-content/uploads/2008/11/f0101-300x180.gif" alt="" width="300" height="180" /></a>Figura 2.1. Tecnologías que agrupan el concepto Ajax</p>
<p style="text-align: left;">Como bien se ve en la figura 2.1, Javascript es el puente entre las comunicaciones y la presentación.</p>
<h2 style="text-align: left;">Modelo tradicional <em>vs</em> Modelo Ajax</h2>
<p style="text-align: left;">El proceso en las web tradicionales era:</p>
<ol>
<li>El usuario pide una página a un servidor,</li>
<li>El servidor le devuelve la página que pidió al usuario,</li>
<li>El usuario interactúa con los datos de la página (formularios, tablas, &#8230;),</li>
<li>El usuario realiza una acción (ejecutar un href, un formulario, &#8230;),</li>
<li>El servidor procesa los datos que introdujo el usuario y calcula la respuesta,</li>
<li>Y el servidor devuelve otra página completa con los nuevos datos al usuario.</li>
</ol>
<p><a href="http://www.crazyteam.es/wp-content/uploads/2008/11/f0102.gif"><img class="aligncenter size-medium wp-image-298" title="ComparativaAjax" src="http://www.crazyteam.es/wp-content/uploads/2008/11/f0102-300x287.gif" alt="" width="300" height="287" /></a></p>
<p style="text-align: center;">Figura 2.2. Comparativa entre el modelo clásico y el modelo Ajax</p>
<p>Como se ve en la Figura 2.2, la gran diferencia que existe entre el modelo clásico web y el modelo Ajax Web es lo que envía el servidor. En el modelo clásico envía la página completa con las hojas de estilo, los javascript asociados, las imágenes y los componentes que necesite esa página. En el modelo Ajax lo único que envía el servidor son los datos que necesitan ser refrescados al cliente.</p>
<p>Las dos mayores ventajas son:</p>
<ol>
<li>No hay que refrescar la página del cliente para mostrar nuevos datos</li>
<li>Se reduce bastante la transferencia del servidor</li>
</ol>
<p><a href="http://www.crazyteam.es/wp-content/uploads/2008/11/f0103.gif"><img class="aligncenter size-medium wp-image-300" title="Sincronía de Ajax" src="http://www.crazyteam.es/wp-content/uploads/2008/11/f0103-238x300.gif" alt="" width="238" height="300" /></a></p>
<p style="text-align: center;">Figura 2.3. Comparativa de sincronización entre el modelo clásico y el modelo Ajax</p>
<p>En el modelo tradicional el que hace la petición es el navegador, en el modelo actual la petición HTTP la hace Javascript.</p>
<p>Fuentes e Imágenes obtenidas de:</p>
<ol>
<li><a href="http://www.adaptivepath.com/ideas/essays/archives/000385.php">Artículo</a> en <a href="http://www.adaptivepath.com/">adaptative path</a> de <a href="http://www.adaptivepath.com/aboutus/jjg.php">Jesse James Garret</a></li>
<li><a href="http://www.librosweb.es/ajax/capitulo1.html">Capítulo 1</a> del <a href="http://www.librosweb.es/ajax/">libro de Ajax</a> en <a href="http://www.librosweb.es">librosweb.es</a></li>
</ol>
<h3  class="related_post_title">Artículos Relacionados</h3><ul class="related_post"><li><a href="http://www.crazyteam.es/general/json-otra-forma-de-hacer-ajax-en-la-web/" title="JSON. Otra forma de hacer Ajax en la Web">JSON. Otra forma de hacer Ajax en la Web</a></li><li><a href="http://www.crazyteam.es/html/ajax-i-introduccion-y-origenes/" title="Ajax (I): Introducción y orígenes">Ajax (I): Introducción y orígenes</a></li><li><a href="http://www.crazyteam.es/html/draggable-plugin-de-crazy-team-para-jquery/" title="Draggable: Plugin de CRaZy TeaM para JQuery">Draggable: Plugin de CRaZy TeaM para JQuery</a></li><li><a href="http://www.crazyteam.es/html/javascript/escribiendo-codigo-javascript-eficiente/" title="Escribiendo código javascript eficiente">Escribiendo código javascript eficiente</a></li><li><a href="http://www.crazyteam.es/html/framework-para-menus-deplegables-con-css/" title="Framework para menús deplegables con CSS">Framework para menús deplegables con CSS</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.crazyteam.es/html/ajax-ii-union-de-tecnologias/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Draggable: Plugin de CRaZy TeaM para JQuery</title>
		<link>http://www.crazyteam.es/html/draggable-plugin-de-crazy-team-para-jquery/</link>
		<comments>http://www.crazyteam.es/html/draggable-plugin-de-crazy-team-para-jquery/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 08:16:53 +0000</pubDate>
		<dc:creator>Ignacio Sánchez</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[plugin jquery]]></category>

		<guid isPermaLink="false">http://www.crazyteam.es/?p=123</guid>
		<description><![CDATA[Viendo todo el rendimiento, las facilidades y la aceptación que está teniendo JQuery en toda la comunidad de desarrolladores web (yo incluido), mucha gente prepara plugins que, con la base de JQuery, ofrecen una funcionalidad, usabilidad o experiencia de usuario mucho mayor.
Desde CRaZy TeaM hemos preparado un plugin para convertir una capa (posicionada en relativo [...]]]></description>
			<content:encoded><![CDATA[<p>Viendo todo el rendimiento, las facilidades y la aceptación que está teniendo JQuery en toda la comunidad de desarrolladores web (yo incluido), mucha gente prepara plugins que, con la base de JQuery, ofrecen una funcionalidad, usabilidad o experiencia de usuario mucho mayor.</p>
<p>Desde CRaZy TeaM hemos preparado un plugin para convertir una capa (posicionada en relativo o en absoluto por CSS) se pueda arrastrar por la pantalla.</p>
<p>PAra convertirla en draggable únicamente hay que hacer lo siguiente</p>
<div class="codesnip-container" >
<div class="javascript codesnip" style="font-family:monospace;">$<span class="br0">&#40;</span><span class="st0">&quot;#id_de_mi_capa&quot;</span><span class="br0">&#41;</span>.<span class="me1">draggable</span><span class="br0">&#40;</span><span class="br0">&#123;</span>layer<span class="sy0">:</span><span class="st0">&quot;.arrastrar&quot;</span><span class="sy0">,</span><span class="coMULTI">/*Opcional*/</span> opacity<span class="sy0">:</span><span class="st0">&#8216;.7&#8242;</span><span class="br0">&#125;</span><span class="br0">&#41;</span></div>
</div>
<p>El código fuente de <a href="http://www.crazyteam.es/wp-content/uploads/draggable.ct.jquery.js">draggable</a> se podría descargar de nuestro servidor</p>
<h3  class="related_post_title">Artículos Relacionados</h3><ul class="related_post"><li><a href="http://www.crazyteam.es/html/ajax-ii-union-de-tecnologias/" title="Ajax (II): Unión de tecnologías">Ajax (II): Unión de tecnologías</a></li><li><a href="http://www.crazyteam.es/general/json-otra-forma-de-hacer-ajax-en-la-web/" title="JSON. Otra forma de hacer Ajax en la Web">JSON. Otra forma de hacer Ajax en la Web</a></li><li><a href="http://www.crazyteam.es/html/javascript/escribiendo-codigo-javascript-eficiente/" title="Escribiendo código javascript eficiente">Escribiendo código javascript eficiente</a></li><li><a href="http://www.crazyteam.es/html/framework-para-menus-deplegables-con-css/" title="Framework para menús deplegables con CSS">Framework para menús deplegables con CSS</a></li><li><a href="http://www.crazyteam.es/html/posicion-x-e-y-de-un-elemento-html-en-la-pantalla/" title="Posición X e Y de un elemento HTML en la pantalla">Posición X e Y de un elemento HTML en la pantalla</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.crazyteam.es/html/draggable-plugin-de-crazy-team-para-jquery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSON. Otra forma de hacer Ajax en la Web</title>
		<link>http://www.crazyteam.es/general/json-otra-forma-de-hacer-ajax-en-la-web/</link>
		<comments>http://www.crazyteam.es/general/json-otra-forma-de-hacer-ajax-en-la-web/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 07:49:24 +0000</pubDate>
		<dc:creator>Ignacio Sánchez</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Ajax]]></category>

		<guid isPermaLink="false">http://www.crazyteam.es/?p=111</guid>
		<description><![CDATA[Todo el mundo que sepa programa ha oido o conoce bien XML. En pocas palabras es un metalenguaje extensible de etiquetas desarrollado por la W3C.
JSON es un formato ligero de intercambio de datos. Similar a los namespaces de javascript.
Estos dos formatos, junto con texto (poco recomendado bajo mi punto de vista) o html son las estructuras [...]]]></description>
			<content:encoded><![CDATA[<p>Todo el mundo que sepa programa ha oido o conoce bien <abbr title="eXtensible Markup Language">XML</abbr>. En pocas palabras es un metalenguaje extensible de etiquetas desarrollado por la <abbr title="World Wide Web Consurtium">W3C</abbr>.</p>
<p><abbr title="JavaScript Object Notation">JSON</abbr> es un formato ligero de intercambio de datos. Similar a los <em>namespaces</em> de javascript.</p>
<p>Estos dos formatos, junto con texto (poco recomendado bajo mi punto de vista) o html son las estructuras de datos para hacer <abbr title="Asynchronous JavaScript And XML">Ajax</abbr> en la web.</p>
<p>La estructura básica de JSON es:</p>
<div class="codesnip-container" >
<div class="javascript codesnip" style="font-family:monospace;"><span class="br0">&#123;</span><br />
<span class="st0">&quot;colegio&quot;</span> <span class="sy0">:</span> <span class="st0">&quot;Menesiano&quot;</span><span class="sy0">,</span><br />
<span class="st0">&quot;ciudad&quot;</span> <span class="sy0">:</span> <span class="st0">&quot;Madrid&quot;</span><span class="sy0">,</span><br />
<span class="st0">&quot;profesores&quot;</span> <span class="sy0">:</span><br />
<span class="br0">&#91;</span><br />
<span class="br0">&#123;</span><br />
<span class="st0">&quot;nombre&quot;</span><span class="sy0">:</span><span class="st0">&quot;Manuel&quot;</span><span class="sy0">,</span><br />
<span class="st0">&quot;asignatura&quot;</span><span class="sy0">:</span><span class="st0">&quot;Química&quot;</span><span class="sy0">,</span><br />
<span class="st0">&quot;edad&quot;</span><span class="sy0">:</span><span class="st0">&quot;54&quot;</span><br />
<span class="br0">&#125;</span><span class="sy0">,</span><span class="br0">&#123;</span><br />
<span class="st0">&quot;nombre&quot;</span><span class="sy0">:</span><span class="st0">&quot;Joaquín&quot;</span><span class="sy0">,</span><br />
<span class="st0">&quot;asignatura&quot;</span><span class="sy0">:</span><span class="st0">&quot;Lenguaje&quot;</span><span class="sy0">,</span><br />
<span class="st0">&quot;edad&quot;</span><span class="sy0">:</span><span class="st0">&quot;59&quot;</span><br />
<span class="br0">&#125;</span><span class="sy0">,</span><span class="br0">&#123;</span><br />
<span class="st0">&quot;nombre&quot;</span><span class="sy0">:</span><span class="st0">&quot;Felipe&quot;</span><span class="sy0">,</span><br />
<span class="st0">&quot;asignatura&quot;</span><span class="sy0">:</span><span class="st0">&quot;Matemáticas&quot;</span><span class="sy0">,</span><br />
<span class="st0">&quot;edad&quot;</span><span class="sy0">:</span><span class="st0">&quot;28&quot;</span><br />
<span class="br0">&#125;</span><br />
<span class="br0">&#93;</span><span class="sy0">,</span><br />
<span class="st0">&quot;alumnos&quot;</span> <span class="sy0">:</span><br />
<span class="br0">&#91;</span><br />
<span class="br0">&#123;</span><br />
<span class="st0">&quot;nombre&quot;</span><span class="sy0">:</span><span class="st0">&quot;Juan Carlos&quot;</span><span class="sy0">,</span><br />
<span class="st0">&quot;curso&quot;</span><span class="sy0">:</span><span class="st0">&quot;1 Bachillerato&quot;</span><span class="sy0">,</span><br />
<span class="st0">&quot;edad&quot;</span><span class="sy0">:</span><span class="st0">&quot;16&quot;</span><br />
<span class="br0">&#125;</span><span class="sy0">,</span><span class="br0">&#123;</span><br />
<span class="st0">&quot;nombre&quot;</span><span class="sy0">:</span><span class="st0">&quot;Oscar&quot;</span><span class="sy0">,</span><br />
<span class="st0">&quot;asignatura&quot;</span><span class="sy0">:</span><span class="st0">&quot;1 ESO&quot;</span><span class="sy0">,</span><br />
<span class="st0">&quot;edad&quot;</span><span class="sy0">:</span><span class="st0">&quot;12&quot;</span><br />
<span class="br0">&#125;</span><br />
<span class="br0">&#93;</span><br />
<span class="br0">&#125;</span> </div>
</div>
<p>Vista más o menos la estructura del JSON, las ventajas son:</p>
<ul>
<li>Peso bastante reducido. Se pierde mucho peso con las etiquetas puesto que se engloban los datos entre dos caracteres ( &#8216;{&#8217;, &#8216;}&#8217;). En aplicaciones con mucha transferencia de datos puede ser muy relevante</li>
<li>La evaluación de los datos es muy veloz, puesto que la propia estructura JSON puede ser una variable javascript.</li>
<li>Aunque eval() suponga un pequeño agujero de seguridad, una buena implementación desde servidor es suficiente para que eval ya no sea importante</li>
</ul>
<div>Sus desventajas son:</div>
<div>
<ul>
<li>para evaluarse se usa la funcion javascript nativa eval(), y por temas de seguridad, los desarrolladores nos planteamos a veces usarla. en Gmail o Yahoo está implantado el uso de JSON</li>
<li>Estructuras complejas son difíciles de leer respecto a XML o HTML.</li>
</ul>
<div>Viendo las ventajas y desventajas, los ámbitos de aplicación de JSON pueden ser entornos con grandes cargas AJAX.</div>
<div></div>
<div>Desde la página de <a href="http://www.jsonlint.com/">jsonlint</a>, se puede indentar correctamente el código y comprobar posibles errores. Además, en la <a href="http://www.json.org/">web oficial de json</a> se pueden encontrar multitud de librerías en diferentes lenguajes para hacer la conversion o creación</div>
</div>
<div>No dudéis en consultarnos cualquier duda sobre Ajax y JSON</div>
<h3  class="related_post_title">Artículos Relacionados</h3><ul class="related_post"><li><a href="http://www.crazyteam.es/html/ajax-ii-union-de-tecnologias/" title="Ajax (II): Unión de tecnologías">Ajax (II): Unión de tecnologías</a></li><li><a href="http://www.crazyteam.es/html/draggable-plugin-de-crazy-team-para-jquery/" title="Draggable: Plugin de CRaZy TeaM para JQuery">Draggable: Plugin de CRaZy TeaM para JQuery</a></li><li><a href="http://www.crazyteam.es/html/javascript/escribiendo-codigo-javascript-eficiente/" title="Escribiendo código javascript eficiente">Escribiendo código javascript eficiente</a></li><li><a href="http://www.crazyteam.es/html/ajax-i-introduccion-y-origenes/" title="Ajax (I): Introducción y orígenes">Ajax (I): Introducción y orígenes</a></li><li><a href="http://www.crazyteam.es/html/framework-para-menus-deplegables-con-css/" title="Framework para menús deplegables con CSS">Framework para menús deplegables con CSS</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.crazyteam.es/general/json-otra-forma-de-hacer-ajax-en-la-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
