Carlos, coincido con vos en lo referente a la abstracción. De hecho, tuve que usar el patrón Model - View - Presenter, implementando el Web Client Software Factory App Block, a fin de lograr una applicación web menos desacoplada y que pueda ser objeto de pruebas unitarias (algo tan necesario y útil en estos días).
Saludos. 2008/12/5 Carlos Peix <[EMAIL PROTECTED]> > Hola Pablo, > > Gracias por el dato concreto. Solo quiero aclarar que mi mala experiencia > usando WebForms no se relaciona con la performance si no con la abstraccion > en si. > > Un saludo > > *Carlos Peix* > > ------------------------------ > *De:* puntonet@mug.org.ar [mailto:[EMAIL PROTECTED] *En nombre de *Pablo > Dettori > *Enviado el:* Viernes, 05 de Diciembre de 2008 01:25 p.m. > *Para:* puntonet@mug.org.ar > *Asunto:* [puntonet] AJAX y performance > > Qué tal. Ciertamente después de haber desarrollado aplicaciones web > corporativas (con ASP.NET 1.1 y ASP.NET 2.0) que son accedidas desde > internet por aproximadamente 300 usuarios en forma concurrente, debo decir > que, desde el punto de vista performance, no recomiendo usar web forms. > Aunque logré mejorar la velocidad de respuesta notablemente, pasando el > viewstate del lado del servidor, creo que empleando Monorail o ASP.NETMVC, > podrían obtenerse resultados mucho más satisfactorios. > > > 2008/12/5 Carlos Peix <[EMAIL PROTECTED]> > > Hola Jorge, >> >> Yo creo que tenes razon. Estoy seguro de que la gente que penso la >> abstraccion WebForms debe haberla pensado para un campo de aplicacion >> determinado, seguramente distinto al mio. >> >> No obstante, vale la pena contrastar que tipo de abstacciones usan otras >> tecnologias para el desarrollo de aplicaciones web, se me ocurren ahora >> Rails, Monorail, PHP, JSP. Todas ellas, en mayor o menor medida, hacen algo >> mas parecido a ASP.NET MVC, no a WebForms. >> >> Por ultimo y mas importante, lo que vale en definitiva trabajar de la >> manera que uno se siente mas comodo, si puede :-) >> >> Un saludo >> >> *Carlos Peix* >> >> ------------------------------ >> *De:* puntonet@mug.org.ar [mailto:[EMAIL PROTECTED] *En nombre de *Jorge >> Monsalvo >> *Enviado el:* Viernes, 05 de Diciembre de 2008 10:26 a.m. >> *Para:* puntonet@mug.org.ar >> *Asunto:* [puntonet] AJAX y performance >> >> Carlos, Luis, >> >> Es completamente cierto lo que dicen. Si nos ponemos a exigir el modelo de >> WebForms seguro que hay que hilar muy fino para obtener buenos resultados. >> >> ¿Será que estamos queriendo usar las páginas y sitios para hacer cosas >> para las que no fueron inventadas?.. >> >> Saludos >> Jorge >> >> ------------------------------ >> *De:* Luis Farzati <[EMAIL PROTECTED]> >> *Para:* puntonet@mug.org.ar >> *Enviado:* jueves 4 de diciembre de 2008, 13:38:52 >> *Asunto:* [puntonet] AJAX y performance >> >> Hola Jorge, >> >> Estoy de acuerdo con vos, ojo, con mi mención acerca de las leaky >> abstractions no quiero decir que volvamos a laburar todos en >> assembler... estoy a favor de las herramientas y a favor de ir >> subiendo de nivel. >> >> El tema es que hay herramientas y herramientas, y a la hora de elegir >> uno debe considerar la que menos "leaky" sea. La solución AJAX >> propuesta por Microsoft, al igual que WebForms, me parece muy mala en >> esto. Tal vez te alcanza para una aplicación de intranet, pero si >> querés desarrollar una aplicación web expuesta a la Internet de hoy en >> día (cada vez más estándar, cada vez más veloz, cada vez más diversa y >> masiva) te empezás a encontrar con estos leaks y a la larga terminás >> pasando más tiempo customizando y buscando workarounds. El mismo >> tiempo que hubieses tardado en utilizar una herramienta tal vez menos >> abstracta pero más efectiva. >> >> Igual Microsoft se está dando cuenta de esto, y por algo está yendo >> hacia MVC. La señal que interpreto con eso es que va a dejar WebForms >> para sitios caseros ó de intranet, y empujar MVC para las >> aplicaciones. >> >> Saludos >> Luis >> >> 2008/12/4 Jorge Monsalvo <[EMAIL PROTECTED]>: >> > 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]>: >> >> 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:[EMAIL PROTECTED] En nombre de >> Eugenio >> >> Alonso >> >> Enviado el: Miércoles, 03 de Diciembre de 2008 08:38 p.m. >> >> Para: 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:[EMAIL PROTECTED] En nombre de >> Matías >> >> Aguilar >> >> Enviado el: Miércoles, 03 de Diciembre de 2008 03:10 p.m. >> >> Para: 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]> >> >> >> >> 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:[EMAIL PROTECTED] On Behalf Of >> Diego >> >> Jancic >> >> Sent: Martes, 02 de Diciembre de 2008 09:39 p.m. >> >> >> >> To: 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:[EMAIL PROTECTED] On Behalf Of >> Carlos >> >> Marcelo Santos >> >> Sent: Tuesday, December 02, 2008 11:20 PM >> >> To: 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/ >> >> >> ------------------------------ >> >> Yahoo! Cocina >> Recetas prácticas y comida saludable >> Visitá http://ar.mujer.yahoo.com/cocina/ >> > >