Tuesday, May 08, 2007

XMLHttpRequest AJAX Introducción

Hola de nuevo

Esta es una de mis primeras entradas, que quiero dedicar a lo que tiene que ver con AJAX.
Si quieren saber por donde va lo de AJAX y demás pueden visitar http://ajax.asp.net/default.aspx?tabid=47 donde vana
Encontrar toda clase de material para iniciarse en el tema.

Yo quiero que veamos AJAX desde un lado práctico, tocando ciertas partes fundamentales en la teoría.
Para esto comencemos con el objeto XmlHttpRequest, que dicen por ahí, es el corazón de la maquinaria de AJAX. Sin este Objeto volveríamos a los aburridos y viejos sitios estáticos. La idea es que veamos cómo va la movida de instanciar este objeto, sus sutiles diferencias, dependiendo de un browser y otro, y lo sencillo que es enviar una petición "server side", lo cual cómo apreciaremos es bastante sencillo para ser cierto.

Entonces aquí pueden ver el video, en uno de mis sitios favoritos, si señores YouTube, que se ha convertido en una Tool más de aprendizaje y por supuesto esparcimiento.



Ahora bien, que está pasando ahí debajo.

Si señores ese JavaScript, que si quieren probarlo deben colocar después de su etiqueta HTML y antes de su HEAD.
El método getHTTPRequestObject(), se encarga de instanciar adecuadamente el objeto XMLHttpRequest. La idea radica en que para IE, este se comporta como un objeto tipo ActiveX, pero ya todos conocemos los problemas de compatibilidad con los
otros browser. Por lo tanto la tarea de instanciamiento difiere un poco. Por ejemplo en el caso de IE actual, la línea que crea el objeto es xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); Si se fijan en mi video tengo un pequeño error y
es que me falta una P al instanciar dentro del primer catch(), así que simplemente disculpas. Pero bueno para la versión de mi IE, mi isntancia se crea en el segundo Try.
Ahora miren que si nuestra página es accedida por un browser tipo Mozilla o Safari, se utiliza:
xmlhttp = new XmlHttpRequest(); Esto es porque para esos browsers, el objeto es nativo, pre-construido.

En la página default.aspx, he puesto dentro del DIV un simple mensaje
XmlHttpRequest trabajando!!
Y finalmente he adicionado el archivo de texto "TextFile.txt" al proyecto web, el cual le inserto un texto cualquiera.

Por favor coloquen mucha atención a esta parte del script, donde está lo interesante:
xmlhttp.onreadystatechange = function()
{
if(xmlhttp.readyState == 4)
{
alert(xmlhttp.responseText);
}
}
Si señores, es una llamada asíncrona, donde el valor 4 indica que la llamada se ha realizado con éxito. La función onreadystatechange sirve para monitorear el estado actual de la llama asíncrona.

Los posibles valores de este estado son:

0:Uninitialized
1:Loading
2:Loaded
3:Interactive
4:Complete

Bien, lentamente iremos viendo más cosas sobre este interesante objeto y por supuesto todo lo que trae AJAX para nosotros en este mar de información y tecnologías que están ahí esperando a que las explotemos.

Monday, May 07, 2007

Mis recomendados de la semana

Hola de nuevo

Bueno esta ves quiero comentar un poco acerca de mi actualización y gastos varios en nuevos libros referentes a todo lo nuevo con .NET. Entre mis nuevas adquisiciones les quiero recomendar tres libros sensacionales. Pro C# with .NET 3.0, edición especial, del señor Andrew Troelsen. La verdad es lo más reciente que me llega, pero lo recomiendo, primero porque toca temas fundamentales de C# sobre Framewrok 3.0, así como los nuevos temas referentes a WCF, WPF y LINQ. Ahora está este otro libro bastante bueno, Pro Ajax and the .NET 2.0 Plattform, del señor Daniel Woolston, bastante bueno para iniciarse en AJAX, buenos ejemplos, y bien explicada cada cosa importante que se trata en cada una de sus páginas. Por último tengo en mis manos Expert Service-Oriented Architecture in C# 2005. La verdad creo que el título queda un poco grande a este libro, por cierto bastante delgado, le faltan vitaminas, pero como sea, no soy experto en el tema y está bueno para ganar conceptos básicos. Lo que si es rescatable, es que los ejemplos se basan en WSE 3.0, lo que si me ha parecido muy práctico. Este engendro es de los señores Jeffrey Hasan y Mauricio Duran.

Lo que si es importante en esto, es tener bastante lectura, aunque hay mucho en internet, yo prefiero tener mi biblioteca personal, y con estos nuevos visitantes, mi biblioteca crece dia con dia.