<?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"
	>

<channel>
	<title>Maestros del Web &#187; Jesse James Garrett</title>
	<atom:link href="http://www.maestrosdelweb.com/author/jesse-garrett/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.maestrosdelweb.com</link>
	<description>Un espacio para los entusiastas del web</description>
	<pubDate>Fri, 21 Nov 2008 02:02:21 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>Ajax: Un nuevo acercamiento a las aplicaciones web</title>
		<link>http://www.maestrosdelweb.com/editorial/ajax/</link>
		<comments>http://www.maestrosdelweb.com/editorial/ajax/#comments</comments>
		<pubDate>Sat, 11 Jun 2005 00:00:00 +0000</pubDate>
		<dc:creator>Jesse James Garrett</dc:creator>
		
		<category><![CDATA[Ajax]]></category>

		<category><![CDATA[Editorial]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[AJAX parece ser la palabra de moda en el mundo del desarrollo de aplicaciones Web, AJAX no es una tecnología, sino la unión de varias tecnologías que juntas pueden lograr cosas realmente impresionantes.
Hace un tiempo AJAX parece ser la palabra de moda en el &#8220;mundo&#8221; del desarrollo de aplicaciones Web; de hecho muchos lo escuchan [...]]]></description>
			<content:encoded><![CDATA[<p><span class="intro">AJAX parece ser la palabra de moda en el mundo del desarrollo de aplicaciones Web, AJAX no es una tecnología, sino la unión de varias tecnologías que juntas pueden lograr cosas realmente impresionantes.</span><span id="more-303"></span></p>
<p>Hace un tiempo AJAX parece ser la palabra de moda en el &ldquo;mundo&rdquo; del desarrollo de aplicaciones Web; de hecho muchos lo escuchan nombrar pero pocos saben que es realmente y, menos a&uacute;n, saben en donde buscar informaci&oacute;n clara sobre que es esta nueva &ldquo;maravilla&rdquo; de la tecnolog&iacute;a que <a href="http://adaptivepath.com/team/jjg.php">Jesse James Garret</a> public&oacute; en un <a href="http://adaptivepath.com/publications/essays/archives/000385.php" target="_blank">art&iacute;culo en Ingl&eacute;s excelente </a> que vale la pena traducir por completo.</p>
<p>&iquest;Por qu&eacute; es tan interesante AJAX? Porque en realidad AJAX no es una tecnolog&iacute;a, sino la uni&oacute;n de varias tecnolog&iacute;as que juntas pueden lograr cosas realmente impresionantes como <a href="http://maps.google.com" target="_blank">GoogleMaps</a>, <a href="http://gmail.com" target="_blank">Gmail </a> el Outlook Web Access <em>( <a href="http://www.franklinmint.fm/blog/archives/000294.html" target="_blank">ref </a>) </em> o algunas otras aplicaciones muy conocidas.</p>
<p> AJAX, en res&uacute;men, es el acr&oacute;nimo para <strong>Asynchronous JavaScript + XML</strong> y el concepto es: Cargar y renderizar una p&aacute;gina, luego mantenerse en esa p&aacute;gina mientras scripts y rutinas van al servidor buscando, en <em>background</em>, los datos que son usados para actualizar la p&aacute;gina solo re-renderizando la p&aacute;gina y mostrando u ocultando porciones de la misma.</p>
<p>La traducci&oacute;n completa a continuaci&oacute;n:</p>
<h3>Ajax: Un Nuevo acercamiento a las Aplicaciones Web <br /></h3>
<p> Si algo del actual dise&ntilde;o de interacci&oacute;n puede ser llamado glamoroso, es crear Aplicaciones Web. Despu&eacute;s de todo, &iquest;cuando fue la ultima vez que escuchaste a alguien hablar de dise&ntilde;o de interacci&oacute;n de un producto que no est&eacute; en la Web? (Okay, dejando de lado el iPod). Todos los nuevos proyectos cool e innovadores est&aacute;n online.</p>
<p>Dejando de lado esto, los dise&ntilde;adores de interacci&oacute;n Web no pueden evitar sentirse envidiosos de nuestros colegas que crean software de escritorio. Las aplicaciones de escritorio tienen una riqueza y respuesta que parec&iacute;a fuera del alcance en Internet. La misma simplicidad que ha permitido la r&aacute;pida proliferaci&oacute;n de la Web tambi&eacute;n crea una brecha entre las experiencias que podemos proveer y las experiencias que los usuarios pueden lograr de las aplicaciones de escritorio.</p>
<p>Esa brecha se est&aacute; cerrando. &Eacute;chenle una mirada a las <a href="http://www.google.com/webhp?complete=1&amp;hl=en" target="_blank">Google Suggest</a>. Mira la forma en que los t&eacute;rminos sugeridos se van actualizando a medida que uno tipea casi instant&aacute;neamente. Ahora mire <a href="http://maps.google.com/" target="_blank">Google Maps</a>. Hace zoom. Usen el cursor para agarrar el mapa y navegarlo un poco. Otra vez, todo sucede casi instant&aacute;neamente, sin esperar que las paginas se recarguen.</p>
<p>Google Suggest y Google Maps son dos ejemplos de un nuevo acercamiento a las aplicaciones Web, que nosotros en Adaptative Path hemos denominado AJAX. El nombre es una abreviaci&oacute;n o acr&oacute;nimo para Asynchronous JavaScript + XML, y ello representa un cambio fundamental en que es posible en la Web. </p>
<h3><span class="titleart">Definiendo Ajax</span></h3>
<p> Ajax no es una tecnolog&iacute;a. Es realmente muchas tecnolog&iacute;as, cada una floreciendo por su propio m&eacute;rito, uni&eacute;ndose en poderosas nuevas formas. AJAX incorpora: </p>
<ul>
<li> <a href="http://adaptivepath.com/publications/essays/archives/000266.php" target="_blank">presentaci&oacute;n basada en est&aacute;ndares </a> usando XHTML y CSS;</li>
<li> exhibici&oacute;n e interacci&oacute;n din&aacute;micas usando el <a href="http://www.scottandrew.com/weblog/articles/dom_1" target="_blank">Document Object Model </a>;</li>
<li> Intercambio y manipulaci&oacute;n de datos usando <a href="http://www-106.ibm.com/developerworks/xml/library/x-xslt/?article=xr" target="_blank">XML and XSLT </a>;</li>
<li> Recuperaci&oacute;n de datos asincr&oacute;nica usando <a href="http://www.xml.com/pub/a/2005/02/09/xml-http-request.html" target="_blank">XMLHttpRequest </a>;</li>
<li> y <a href="http://www.crockford.com/javascript/javascript.html" target="_blank">JavaScript </a> poniendo todo junto. </li>
</ul>
<p>El modelo cl&aacute;sico de aplicaciones Web funciona de esta forma: La mayor&iacute;a de las acciones del usuario en la interfaz disparan un requerimiento HTTP al servidor web. El servidor efect&uacute;a un proceso (recopila informaci&oacute;n, procesa n&uacute;meros, hablando con varios sistemas propietarios), y le devuelve una pagina HTLM al cliente. </p>
<p>Este es un modelo adaptado del uso original de la Web como un medio hipertextual, pero como fans de <a href="http://www.jjg.net/elements/" target="_blank">&ldquo;The Elements of User Experience&rdquo;</a> sabemos, lo que hace a la Web buena para el hipertexto, no la hace necesariamente buena para las aplicaciones de software.</p>
<p align="center"><img src="/images/editorial/ajax1.jpg" alt="Ajax" width="475" height="455" /></p>
<p>Figura 1: El modelo tradicional para las aplicaciones Web (izq.) comparado con el modelo de AJAX (der.).</p>
<p>Este acercamiento tiene mucho sentido a nivel t&eacute;cnico, pero no lo tiene para una gran experiencia de usuario. Mientras el servidor esta haciendo lo suyo, que esta haciendo el usuario? Exacto, esperando. Y, en cada paso de la tarea, el usuario espera por mas.</p>
<p>Obviamente, si estuvi&eacute;ramos dise&ntilde;ando la Web desde cero para aplicaciones, no querr&iacute;amos hacer esperar a los usuarios. Una vez que la interfaz esta cargada, porque la interacci&oacute;n del usuario deber&iacute;a detenerse cada vez que la aplicaci&oacute;n necesita algo del servidor? De hecho, porque deber&iacute;a el usuario ver la aplicaci&oacute;n yendo al servidor?</p>
<h3 class="titleart">Como es diferente AJAX</h3>
<p> Una aplicaci&oacute;n AJAX elimina la naturaleza &ldquo;arrancar-frenar- arrancar-frenar&rdquo; de la interacci&oacute;n en la Web introduciendo un intermediario -un motor AJAX- entre el usuario y el servidor. Parecer&iacute;a que sumar una capa a la aplicaci&oacute;n la har&iacute;a menos reactiva, pero la verdad es lo contrario.</p>
<p>En vez de cargar un pagina Web, al inicio de la sesi&oacute;n, el navegador carga al motor AJAX (escrito en JavaScript y usualmente &ldquo;sacado&rdquo; en un frame oculto). Este motor es el responsable por renderizar la interfaz que el usuario ve y por comunicarse con el servidor en nombre del usuario. </p>
<p>El motor AJAX permite que la interacci&oacute;n del usuario con la aplicaci&oacute;n suceda asincr&oacute;nicamente (independientemente de la comunicaci&oacute;n con el servidor). As&iacute; el usuario nunca estar&aacute; mirando una ventana en blanco del navegador y un icono de reloj de arena esperando a que el servidor haga algo.</p>
<p align="center"><img src="/images/editorial/ajax3.jpg" width="350" height="466" /></p>
<p>Figura 2: El patr&oacute;n de interacci&oacute;n sincr&oacute;nica de una aplicaci&oacute;n Web tradicional (arriba) comparada con el patr&oacute;n asincr&oacute;nico de una aplicaci&oacute;n AJAX (abajo).</p>
<p>Cada acci&oacute;n de un usuario que normalmente generar&iacute;a un requerimiento HTTP toma la forma de un llamado JavaScript al motor AJAX en vez de ese requerimiento. Cualquier respuesta a una acci&oacute;n del usuario que no requiera una viaje de vuelta al servidor (como una simple validaci&oacute;n de datos, edici&oacute;n de datos en memoria, incluso algo de navegaci&oacute;n) es manejado por su cuenta. </p>
<p>Si el motor necesita algo del servidor para responder (sea enviando datos para procesar, cargar c&oacute;digo adicional, o recuperando nuevos datos) hace esos pedidos asincr&oacute;nicamente, usualmente usando XML, sin frenar la interacci&oacute;n del usuario con la aplicaci&oacute;n. </p>
<h2 class="titleart">&iquest;Qui&eacute;n est&aacute; usando Ajax?</h2>
<p> Google est&aacute; haciendo una significativa inversi&oacute;n en el acercamiento Ajax. Todos los grandes productos que Google ha introducido en el ultimo a&ntilde;o (<a href="http://www.orkut.com/" target="_blank">Orkut</a>, <a href="http://www.gmail.com/" target="_blank">Gmail</a>, la &uacute;ltima versi&oacute;n de <a href="http://groups-beta.google.com/" target="_blank">Google Groups</a>, <a href="http://www.google.com/webhp?complete=1&amp;hl=en">Google Suggest</a>, y <a href="http://maps.google.com/">Google Maps</a> ) son aplicaciones Ajax. (Para datos m&aacute;s t&eacute;cnicos de estas implementaciones Ajax, lean estos excelentes an&aacute;lisis de <a href="http://johnvey.com/features/gmailapi/">Gmail</a>, <a href="http://serversideguy.blogspot.com/2004/12/google-suggest-dissected.html">Google Suggest</a>, y <a href="http://jgwebber.blogspot.com/2005/02/mapping-google.html">Google Maps</a>.) Otros est&aacute;n siguiendo la tendencia: muchas de las funciones que la gente ama en <a href="http://www.flickr.com/">Flickr</a> dependen de Ajax, y el motor de b&uacute;squeda de Amazon <a href="http://www.a9.com/">A9.com</a> aplica tecnolog&iacute;as similares. </p>
<p>Estos proyectos demuestran que Ajax no es solo t&eacute;cnicamente importante, sino tambi&eacute;n pr&aacute;cticos para aplicaciones en el mundo real. Esta no es otra tecnolog&iacute;a que solo trabaja en un laboratorio. Y las aplicaciones Ajax pueden ser de cualquier tama&ntilde;o, de lo m&aacute;s simple, funciones simples como Google Suggest a las muy complejas y sofisticadas como Google Maps. </p>
<p>En Adaptive Path, estuvimos haciendo nuestro propio trabajo con Ajax en los &uacute;ltimos meses, y estamos descubriendo que solo raspamos la superficie de la rica interacci&oacute;n y respuesta que que las aplicaciones Ajax puede proveer. Ajax es un desarrollo importante para las aplicaciones Web, y su importancia solo va a crecer. Y como hay tantos desarrolladores que ya conocen como usar estas tecnolog&iacute;as, esperamos ver mas empresas y organizaciones siguiendo el liderazgo de Google en explotar la ventaja competitiva que Ajax provee. </p>
<h3 class="titleart">Mirando adelante</h3>
<p> Los mayores desaf&iacute;os al crear aplicaciones Ajax no son t&eacute;cnicas. Las tecnolog&iacute;as centrales son maduras, estables y bien conocidas. En cambio, los desaf&iacute;os son para los dise&ntilde;adores de estas aplicaciones: olvidar lo que creemos saber sobre las limitaciones de la Web, y comenzar a imaginar un rango m&aacute;s amplio y rico de posibilidades.<br />
  Va a ser divertido.</p>
<p>Nota: <a href="http://adaptivepath.com/publications/essays/archives/000385.php" target="_blank">Art&iacute;culo  original</a> escrito por <a href="http://adaptivepath.com/team/jjg.php" target="_blank">Jesse James Garrett</a>, uno de los fundadores de <a href="http://www.adaptivepath.com/" target="_blank">Adaptive Path</a> y   traducido por <a href="http://www.uberbin.net/archivos/internet/ajax-un-nuevo-acercamiento-a-aplicaciones-web.php" target="_blank">Mariano Amartino</a> (<a href="http://www.uberbin.net/" target="_blank">Denken Uber</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.maestrosdelweb.com/editorial/ajax/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
