Gracias por tu tiempo Carlos, también a Luis, Jorge y Eugenio.
En cuanto pueda sigo con mis pruebas, me falta ver el tema Conditional
y simplificar un poco el caso, es decir, le voy a quitar los tabs y el
wizard para ver como reacciona. Después le sumo de a uno y veo.
Pero si no bajo esta relación, que en el mejor de los casos es 1.5/7,
aunque me duela, voy a tener que dejarlo.
Un abrazo.
Carlos Marcelo Santos.
*From:* puntonet@mug.org.ar [mailto:[EMAIL PROTECTED] *On Behalf Of
*Carlos Peix
*Sent:* Jueves, 04 de Diciembre de 2008 10:53 a.m.
*To:* puntonet@mug.org.ar
*Subject:* [puntonet] AJAX y performance
Hola Jorge,
Definitivamente las abstracciones ayudan y mucho. No podriamos hacer
nada en nuestra profesion sin ellas.
Yo uso bastante el namespace System.Net y te aseguro que no miro como
estan armados los datagramas, en todo caso y solo a veces, tengo que
aprender algo sobre el stack de TCP, un poco de DNS, etc. Pero uso
System.Net. Sin embargo, el solo hecho de que alguien haga una
abstraccion determinada no garantiza esta abstraccion funcione
bien automticamente.
Puedo hablar sobre WebForms, en mi experiencia esta abstraccion,
cuando te moves fuera de lo trivial, trae mas problemas que
soluciones. Estuve mucho tiempo pelenado y haciendo las cosas mas o
menos bien, con mas o menos friccion. Supongo que pretendio aislar al
desarrollador de HTML, HTTP, proveer un esquema de eventos, etc y creo
que lo logra para los casos sencillos. Sin embargo, a mi me paso que
para lo menos trivial, tengo que trabajar con HTML, tengo que entender
HTTP y tengo que conocer MUY BIEN el modelo de ejecucion de la pagina
(page lifecycle) con la mayoria de sus eventos.
Un dia se me ocurrio probar Monorail, ahi logre hacer las cosas con un
nivel de productividad mucho mayor y con menos friccion. Por supuesto,
no me di cuenta de todo lo que me estaba complicando hasta que no
probe una alternativa seriamente.
En cuanto a MS Ajax, sospecho que puede pasar algo similar, no es el
primer comentario que escucho de gente que fue por el update panel y
tuvo que dar marcha atras, y estoy hablando de desarrolladores
capaces, que no se rinden ante el primer problema.
Saludos
*Carlos Peix*
------------------------------------------------------------------------
*De:* puntonet@mug.org.ar [mailto:[EMAIL PROTECTED] *En nombre de
*Jorge Monsalvo
*Enviado el:* Jueves, 04 de Diciembre de 2008 10:26 a.m.
*Para:* puntonet@mug.org.ar
*Asunto:* [puntonet] AJAX y performance
Les dejo mi humilde opinión. Creo que si las herramientas no nos
simplifican las cosas entonces no sirven. Quiero decir, MS Ajax hace
que sea más facil programar una actualización parcial, sin tener que
preocuparme mucho de como lo hace. Si necesito saber lo indispensable
como para "ajustar" lo hecho y mejorar la performance, pero si para
usarlo tengo que ser un experto en Java entonces no sirve. Es como si
para usar una pinza deba aprender Dinámica y fuerzas aplicadas al
principio de palanca asi se que cuanto mas largo sea el mango mas
agarre voy a tener....
Seguro que si programo en C (plano y básico) voy a obtener un código
de máquina mas simple que si utilizo el Framework de .NET pero
¿Alguien quiere reescribir una librería para TCP/IP o prefiere usar
las clases de System.Net?
Saludos
Jorge
------------------------------------------------------------------------
*De:* Luis Farzati <[EMAIL PROTECTED]>
*Para:* puntonet@mug.org.ar
*Enviado:* jueves 4 de diciembre de 2008, 9:20:04
*Asunto:* [puntonet] AJAX y performance
Totalmente de acuerdo Carlos.
Yo sólo digo: leaky abstractions.
http://www.joelonsoftware.com/articles/LeakyAbstractions.html
2008/12/4 Carlos Peix <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>:
> Hola gente,
>
> Yo no conozco nada de MS Ajax (si, ya se hizo palabra, no hace falta
ponerla
> en mayusculas como sigla), salvo la primerisima version, aquel Remote
> Scripting incluido en Visual Interdev 6.0 :-). Funciono muy bien por
muchos
> años.
>
> Mi opinion es que MS Ajax puede configurarse adecuadamente para que
tenga un
> rendimiento razonable, teniendo en cuenta la capa de abstraccion que
agrega
> sobre Ajax hecho a mano (con Prototype o jQuery). Creo que los
secretos ya
> fueron mencionados, el tema de conditional o mantener un viewstate
pequeño.
>
> Una idea mas: supongo que MS Ajax envia el viewstate previendo que el
post
> pueda modificarlo, por lo cual debe estar actualizado. Me pregunto,
si hay
> garantia de que la comunicacion Ajax no modifica ningun control con
> viewstate activado y que no es enviado ningun control en la misma
condicion,
> no podria evitarse el envio de viewstate?
>
> Ahora un pensamiento mas abstracto:
>
> Carlos decide usar update panel porque no quiere meterse en detalles de
> Ajax, pero encuentra que tiene que tocar aqui, alla, ver que el viewstate
> sea pequeño (cosa siempre aconsejable), analizar configuraciones mas
> oscuras, etc. No les parece que igual tuvo que meterse en los
detalles para
> lograr un rendimiento similar (o inferior) al que proveen otras
soluciones?
> No es preferible dedicar tiempo a aprender una tecnologia determinada que
> dedicar el mismo o mas tiempo a comprender un componente determinado?
(noten
> la diferencia entre tecnologia y componente).
>
> Me parece muy similar a la situacion que tuvimos muchos con WebForms, nos
> fuimos detras de las mieles del desarrollo Web identico al desktop
para no
> aprender HTTP, HTML. Yo no logre nunca estar comodo en ese entorno,
aunque
> se que muchos lo han hecho.
>
> Saludos
>
> Carlos Peix
> ________________________________
> De: puntonet@mug.org.ar <mailto:puntonet@mug.org.ar>
[mailto:puntonet@mug.org.ar <mailto:puntonet@mug.org.ar>] En nombre de
Eugenio
> Alonso
> Enviado el: Miércoles, 03 de Diciembre de 2008 08:38 p.m.
> Para: puntonet@mug.org.ar <mailto:puntonet@mug.org.ar>
> Asunto: [puntonet] AJAX y performance
>
> Coincido, yo estoy usando updatepanel en ASP.NET 3.5, empezamos
inicialmente
> sin pensar en usar nada de AJAX, y en las pruebas con 2 líneas de código
> agregando el updatepanel, un ABM completo con registros de cabecera y
> detalle, combos, y una grilla de búsqueda (con orden y paginado)
>
> Anduvo perfecto, en tiempos mejoro un poco pero no mucho y la
experiencia de
> uso mejoro muchísimo.
>
>
>
> Lo bueno de esto es que no es necesario saber nada de AJAX, al menos para
> empezar.
>
>
>
> Saludos, Eugenio
>
>
>
> ________________________________
>
> De: puntonet@mug.org.ar <mailto:puntonet@mug.org.ar>
[mailto:puntonet@mug.org.ar <mailto:puntonet@mug.org.ar>] En nombre de
Matías
> Aguilar
> Enviado el: Miércoles, 03 de Diciembre de 2008 03:10 p.m.
> Para: puntonet@mug.org.ar <mailto:puntonet@mug.org.ar>
> Asunto: [puntonet] AJAX y performance
>
>
>
> "UpdatePanel es una mentira" -> tengo que decir que no estoy para nada de
> acuerdo. Puntos a tener en cuenta:
> -la clásica forma de usar Ajax, es decir, escribiendo el código
javascript
> que haga los manejos asincrónicos a mano seguramente será más optimo en
> cuanto a performance.
> -pero la idea de MS AJAX es la increible facilidad de uso, reduce
> considerablemente el código a escribir y la mantenibilidad del mismo.
> -es verdad que MS AJAX manda la información del ViewState en sus llamadas
> asincrónicas, pero eso está perfecto, es una de las cosas que hace
"rica" a
> una aspx. En este ViewState tenes los datos que necesitan los
controles que
> definiste en la página. Y si el ViewState te parece inecesario para un
> control (o para todos los controles), como ser un GridView (porque
preferis
> cargar los datos cada vez que cargas la página), se lo podés
deshabilitar, y
> en ese caso, el ViewState sería más liviano.
> -imaginate usando el ajax clásico y tener que pasar los datos del
ViewState,
> sería un laburo importante. Es mucho más fácil hacer que el MS AJAX
no use
> el ViewState.
> -si los controles MS AJAX están bien configurados debería andar bien y
> rápido. Lo principal es restringir los UpdatePanel sólo a la porción de
> código que necesita actualizarse y nada más, y configurarlos como
> "CONDITIONAL".
> -y más allá de todo, la "experiencia de usuario" sigue siendo mejor (o
> debería andando todo bien) usando MS AJAX que no usando.
>
> Al menos eso puedo decir de mi experiencia con MS AJAX.
>
> Saludos.
>
> Pablo Dettori escribió:
>
> Qué tal. Te comento que hace unos meses, desarrollando una aplicación con
> ASP.NET 2.0, decidí incluir ASP.NET Ajax. El UpdatePanel es una mentira,
> simple y llanamente. Yo lo experimenté en carne propia. Te recomiendo
este
> artículo :
> http://msdn.microsoft.com/en-us/magazine/cc163413.aspx
>
> 2008/12/2 Carlos Marcelo Santos <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
>
> Gracias Diego. Esperaba encontrarte en Bartolomeo el otro dia. Ya nos
> veremos.
>
> Yendo al grano. No estoy haciendo javascript a mano.
>
> En los Triggers del UpdatePanel no agregué nada, por las dudas miré y la
> colección está vacía
>
> La página actualmente tiene un Wizard, en uno de sus pasos, ubiqué un Tab
> Container y en uno de sus tabs puse el UpdatePanel que contiene al
Combo, al
> DataGrid y tres labels con una imagen de 3K.
>
> No es que ande mal, hasta ahora pude hacer todo lo que necesité, el
tema son
> estos tiempos que llegan a ser 4 o 5 veces lo que sin AJAX.
>
> Mañana más fresco hago una prueba del UpdatePanel con el Combo, el
DataGrid
> y nada más, a ver como anda. Después te cuento.
>
>
>
> Un abrazo.
>
>
>
> Carlos Marcelo Santos.
>
>
>
> From: puntonet@mug.org.ar <mailto:puntonet@mug.org.ar>
[mailto:puntonet@mug.org.ar <mailto:puntonet@mug.org.ar>] On Behalf Of
Diego
> Jancic
> Sent: Martes, 02 de Diciembre de 2008 09:39 p.m.
>
> To: puntonet@mug.org.ar <mailto:puntonet@mug.org.ar>
> Subject: [puntonet] AJAX y performance
>
>
>
> Ventajas de MS AJAX:
>
> - Se puede poner un lindo "Loading..." que lleva tu pagina
al siglo
> XXI
>
> Desventajas de MS AJAX:
>
> - Casi todo el resto (si no lo sabes usar bien y le dedicas
varias
> horas a debugging)
>
>
>
> Yendo a lo importante, es raro que haya tanta diferencia de tiempo, pero
> algunas cosas que deberías tener en cuenta son:
>
> - El IsPostBack no funciona cuando hay una llamada de MS AJAX
>
> - El UpdatePanel debería estar abarcar lo menos posible (para
> minimizar el trafico)
>
> - Fijate la propiedad UpdateMode (o algo asi) y los
Triggers, para
> determina que cosas disparan el update. (Estas usando javascript a mano?)
>
>
>
> MsAjax es bastante simple cuando respetas ciertas cosas, y no debería
> funcionarte tan mal. Queres mandar algo de código esquematico?
>
>
>
> Saludos!
>
>
>
> From: puntonet@mug.org.ar <mailto:puntonet@mug.org.ar>
[mailto:puntonet@mug.org.ar <mailto:puntonet@mug.org.ar>] On Behalf Of
Carlos
> Marcelo Santos
> Sent: Tuesday, December 02, 2008 11:20 PM
> To: puntonet@mug.org.ar <mailto:puntonet@mug.org.ar>
> Subject: [puntonet] AJAX y performance
>
>
>
> Estimados Colisteros:
>
> Tengo una página web con muchos controles, gradualmente estoy
incorporando
> AJAX, entre otros controles tengo un combo relacionado a un datagrid,
en el
> change del combo refresco el datagrid. Esto, sin AJAX insume
aproximadamente
> un segundo, con AJAX siete segundos. En cuanto al code behind es
exactamente
> el mismo.
>
> Al hacer un debug lo primero que encontré es que, con AJAX, tengo un
doble
> load en la página, esto, lógicamente produce una sobrecarga, pero es
mínima
> ya que casi toda la diferencia de tiempo se produce en el render de la
> página.
>
> ¿Esto es así? ¿Hay algo que no tuve en cuenta? ¿Se puede mejorar?
>
>
>
> Gracias.
>
>
>
> Carlos Marcelo Santos.
>
>
>
> No virus found in this outgoing message.
> Checked by AVG.
> Version: 7.5.552 / Virus Database: 270.9.12/1824 - Release Date:
02/12/2008
> 09:31 a.m.
>
>
>
> No virus found in this incoming message.
>
> Checked by AVG.
> Version: 7.5.552 / Virus Database: 270.9.12/1824 - Release Date:
02/12/2008
> 09:31 a.m.
>
>
>
> No virus found in this outgoing message.
> Checked by AVG.
> Version: 7.5.552 / Virus Database: 270.9.12/1824 - Release Date:
02/12/2008
> 09:31 a.m.
>
>
>
> --
>
> "La imaginación es más importante que el conocimiento..."
------------------------------------------------------------------------
Yahoo! Cocina
Recetas prácticas y comida saludable
Visitá http://ar.mujer.yahoo.com/cocina/
No virus found in this incoming message.
Checked by AVG.
Version: 7.5.552 / Virus Database: 270.9.13/1828 - Release Date:
04/12/2008 08:05 a.m.
No virus found in this outgoing message.
Checked by AVG.
Version: 7.5.552 / Virus Database: 270.9.13/1828 - Release Date:
04/12/2008 08:05 a.m.