viernes, 14 de agosto de 2009

Tips al desarrollar sobre ASP.Net

Cuando vamos a comenzar un desarrollo de una aplicación web hay que tener varias cosas en cuenta que muchas veces pasamos por alto cuando estamos acostumbrado a desarrollar sobre plataforma de escritorio, cosas que a mi me ha pasado en par de aplicaciones que no funcionaron de la forma más óptima. Hoy les voy a mostrar unos consejos sobre tecnologías poderosas pero que hacen que las aplicaciones sean más lentas.

Viewstate: es muy utilizada por los desarrolladores .Net ya que permite almacenar información dentro de una página sin que se pierda información de la misma en PostBack, ya que guarda la información encriptada en un campo oculto, pero tiene serias repercusiones en el rendimiento de la página ya que incrementa el tamaño de la página y la cantidad de memoria a usar. Nota: con esto no digo que no deba usarse, sino que debe utilizarse de forma razonable.

Una buena técnica es deshabilitar el viewstate en controles que realmente no lo necesitan, especialmente en los gridview y datalist, que manejan tanta información.

Ajax Toolkit: los controles ajax son muy importantes ya que nos ayudan a entregar herramientas más profesionales y con mayor interoperabilidad con los usuarios. Pero, estos controles tienen mucho scripts internos que hacen que las aplicaciones sean un poco lentas, por lo que es recomendable no abusar de estos y si es necesario implementar nuestros propios códigos javascripts donde no es necesario realizar tareas muy complicadas.

Uso de Cache: Si la información que va a mostrar en una determinada página no cambia muy seguido sería una buena opción utilizar la caché para almacenar la página por un tiempo determinado para que así la búsqueda sea más rápida en una próxima llamada a la página. Para esto, puede pegar el siguiente código en su archivo Web.Config:

<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name="cached" duration="600" varyByParam="none" enabled="true"/>
</outputCacheProfiles>
</outputCacheSettings>
</caching>

Apagar el Trace: Cuando vaya a publicar su Web Site es recomendable apagar el trace en el Web.Config. Ejemplo:

<trace enabled="false" pageOutput="false" />

Deshabilitar Opción Depuración: cuando compile, es bueno poner esta variable en false para así evitar que el Servidor Web almacene información de todo lo que se ejecuta en la página.

<compilation debug="false">

Verificar archivo Web.Config y elimine httpModules no necesarios: verifique que su web site no tenga módules http que no esté usando, ya que estos son cargados en cada llamada a una página.

Optimize su Javascript y sus archivos CSS: es importante solo declarar las funciones que vamos a realmente utilizar en Javascript. Para esto puede ir a los siguientes enlaces:


Posiciones CSS y Javascripts: colocar los CSS al inicio de cada página y los Javascript al final de la página para que no cargue funciones que no sean necesarias al principio.

Uso de Server.Transfer: Utilizar Server.Transfer cuando sea necesario en vez de Response.Redirect ya que este ocaciona que se cargue la página completa y el primero solo el formulario.

Otra URL utilizada para verificar las páginas es: http://www.websiteoptimization.com/services/analyze/

Nota: Gracias a NM por enviarme la URL de WebSiteOptimization

No hay comentarios: