iframe o AJAX?

Básicamente los problemas que tienen que enfrentar los proyectos web, son los mismos para todos los proyectos, frente a una aplicación Windows. El manejo de variables en la aplicación (sesión, cache, viewstate, ..), falta de formularios de dialogo, compartir variables entre ventanas, entre otros temas que son conocidos. Uno de los temas es el “refresco de pantalla”, o postback al servidor, y que va de cara con el usuario final. Que pasa si tienes combos dependientes que se cargan unos a otros, por cada uno se estaría haciendo un postback, son controles pequeños que a veces no merece la pena hacer un refresco de toda la página desde la vista del usuario final, en un gridView o listas de datos podrían tolerar, pero cambiar un combo?, no a muchos usuarios finales les gusta. Si van a dejar sus appWindows por aplicaciones Web, tiene que ser algo mejor no?

Ahora en cuanto al manejo de refresco de pantalla, desde hace años se viene implementando tecnologías para evitar estos refrescos.En este post vamos a resumir una comparación entre iframe y ajax, usando las implementaciones básicas y pre-construidas, no haciendo cosas marcianas.

  • Ajax, es multihilo, en el sentido que pueden haber procesando varios pedidos a la vez.
  • Iframe, tiene soporte del historial para su navegación, es decir que puedes retrodecer a tu vista anterior, en cambio en ajax, no. Aunque con ASP.NET AJAX hay una alternativa para lograr esto, pero es un control de terceros.
  • Iframe, tener cross-site scripting, aunque depende si tu tienes control sobre ambos dominios, como se menciona en el artículo original.
  • Ajax, maneja estado, con ajax podemos mostrar un indicador de progreso del pedido actual y que el usuario final no vea esa pantalla blanca de parpadeo, que no le dice nada.

Y aunque con Iframe puedes mejorar la experiencia del usuario durante de la navegación, las páginas cuerpo seguirán haciendo postback, es decir puedes conversar tu menú y head, pero si haces un postback en la página cuerpo, igual verás el refresco de la pantalla aunque sólo de esa frame. Ahora, hablando de ASP.NET AJAX, nosotros con el UpdatePanel podemos hacer mejor las cosas, tampoco vamos a colocar un iframe por cada control que tengamos, pero con el UpdatePanel si podemos hacer eso y sólo usarlo donde lo necesitemos, además que podemos mostrar un indicador del estado del pedido al usuario, usando el control UpdateProgress.

Pero como dice el autor en su artículo, todo depende del escenario, no pretendan implementar sólo una opción en todos sus escenarios. Por ejemplo Google Maps usa iframes, mientras que Google suggest usa AJAX.

Corríjanme si me equivoco, pero otra cosa a tener en cuenta es que el elemento iframe no es valido en el xhtml 1.1, no directamente, por que vi que había en un foro un post de un iframe válido para xhtml 1.1.

Artículos relacionados:

About these ads

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 48 seguidores

%d personas les gusta esto: