Introducción a Asp.Net Ajax (1)

Creado el día 26/03/2007 04:03 por zorry

En el proyecto en que estoy trabajando actualmente, he tenido la oportunidad de empezar a trabajar en un proyecto de manera seria con Ajax, y en concreto con las extensiones Ajax de Microsoft. Ciertamente me ha parecido muy instructivo y a partir de mi experiencia, quiero compartir una serie de artículos que ayuden a los que estén iniciándose en esta tecnología a empezar lo más rápido posible.

 ¿Que es Ajax?

Ajax es el acrónimo de Asynchronous Javascript And XML. Esta tecnología de desarrollo web, se basa en dos puntos fundamentales:

  • Realizar comunicaciones asíncronas entre el navegador del cliente y el servidor. Se realizan mediante javascript y llamadas asíncronas en segundo plano, realizando intercambios de datos en formato XML entre el cliente y servidor.
  • Evitar el refresco completo de la página, recargando únicamente las partes modificadas de la aplicación, consiguiendo así aplicaciones más rápidas y más cercanas a las aplicaciones de escritorio.

Mediante esta técnica podremos, por ejemplo, cargar los elementos de un desplegable desde base de datos, sin necesidad de recargar la pantalla completa, sino recargando únicamente la parte de la página afectada por el cambio (en el ejemplo, recargando los elementos del desplegable), sin necesidad de recargar la página completa.

 ¿Que proporcionan las extensiones Asp.Net Ajax?

Estas extensiones (actualmente en versión 1.0), desarrolladas por Microsoft, permiten integrar los desarrollos realizados en ASP.NET 2.0 con ésta tecnología de desarrollo de una manera fácil e intuitiva. Es necesario remarcar que esta tecnología, aún estando desarrollada por Microsoft explícitamente para ASP.NET, debería ser compatible con diferentes navegadores de otros fabricantes, como por ejemplo, Mozilla, o Opera. No obstante, como la aplicación en la que estoy trabajando, no es multinavegador, no he tenido la oportunidad de comprobarlo por mi mismo :-)

Además, este framework abstrae al desarrollador el desarrollo necesario para implementar las llamadas asíncronas de Javascript al servidor, de manera que el desarrollador puede centrarse en cómo debe funcionar su aplicación, y no perder tiempo en escribir (una y otra vez) rutinas Javascript para llamar al servidor y redibujar el contenido de la página.

Internamente el framework emplea el objeto XMLHttpRequest, disponible en casi todos los navegadores modernos, para realizar la comunicación entre cliente y servidor. De esta manera, aprovechando que en ASP.NET 2.0 se introduce el concepto de Callback, el navegador llama al servidor para obtener la versión actualizada de la página mediante javascript, y posteriormente, mediante DHTML, se muestra la nueva versión de la página al cliente.

El framework de ASP.NET Ajax se basa en cuatro partes bien diferenciadas:

  • ASP.NET AJAX Extensions: El núcleo de la implementación de AJAX. Proporciona un pequeño núcleo de controles de servidor que permiten realizar la mayor parte de las operaciones cliente / servidor. http://www.microsoft.com/downloads/details.aspx?FamilyID=ca9d90fa-e8c9-42e3-aa19-08e2c027f5d6&displaylang=en
  • ASP.NET AJAX Library: Es un conjunto de librerías y de clases Javascript que facilitan el trabajo del desarrollador en el navegador cliente. Además, facilitan una serie de métodos y patrones para realizar llamadas a servidor directamente desde Javascript. Estas librerías se distribuyen dentro de ASP.NET AJAX Extensions.
  • ASP.NET AJAX Control Toolkit: Una serie de controles que, basandose en las extensiones AJAX, expanden la funcionalidad de los controles y proveen al desarrollador de controles ricos que pueden usar en la aplicación (por ejemplo, un control de selección de fecha, un control que permite tener múltiples pestañas en la aplicación, etc). Este toolkit se ha creado y se mantiene entre Microsoft y la comunidad de codeplex, y por tanto, es de código abierto y cualquiera que quiera contribuir con el desarrollo puede hacerlo. http://www.codeplex.com/AtlasControlToolkit
  • ASP.NET AJAX Futures: Nuevas funcionalidades que se incluirán en subsiguientes implementaciones del framework. Actualmente se encuantra en versión CTP, y la última versión es de Enero de 2007. http://www.microsoft.com/downloads/details.aspx?FamilyID=4cb52ea3-9548-4064-8137-09b96af97617&displaylang=en

Las extensiones Ajax facilitan básicamente cuatro controles:

  • ScriptManager: Uno de los dos controles principales del framework. Es el control que provee a la página de la funcionalidad de cliente, como por ejemplo, realizar las llamadas asíncronas al servidor, realizar el redibujado parcial de páginas, etc... Este control es necesario para realizar cualquier operación con el framework.
  • UpdatePanel: El otro control principal del framework. Es un control que hereda del control Panel de Asp.Net. Además de las funcionalidades propias de un Panel, todos los controles que se encuentren dentro de él podrán ser modificados sin necesidad de realizar un postback, sino que se modificarán en cliente mediante llamadas Callback.
  • UpdateProgress: Este control permite presentar a un cliente un aviso informándole de que el navegador está ocupado realizando una modificación asíncronamente.
  • ScriptManagerProxy: Este control se emplea en caso de que el ScriptManager se encuentre en otra página, por ejemplo, en una página maestra, y se necesite acceder a las propiedades del mismo ScriptManager. Por ejemplo, incluir un javascript en una página y que el ScriptManager de la página maestra lo cargue en el cliente.

En el siguiente artículo veremos como implementar un pequeño ejemplo, empleando únicamente las extensiones de ajax.


Comentarios no permitidos