La mayoría de las veces cuando se define la arquitectura de una aplicación web solo se tiene en cuenta la parte servidor, como si el lado cliente no fuera importante o no existiera. Es verdad que en cliente disponemos de un lenguaje interpretado (no compilado), lo cual hace si cabe un poquito mas complicado el desarrollo, al no disponer de las ventajas del pre compilado que nos ofrece Visual Studio. Además, el ordenado del código debería ser un factor importante, ya que la tendencia es tener un único fichero o script de código Javascritp, y esto siempre comienza siendo unas pocas líneas para unas cuantas validaciones y va creciendo paulatinamente debido a la no planificación de la arquitectura en cliente o a nuevos requerimientos.
Atajar esto no es fácil, y el artículo no define ningún modelo de arquitectura, pero si unas cuantas pautas de buena conducta que nos ayuden a tener un condigo algo mas limpio y ordenado.
VIEW limpia
Lo primero es mantener nuestras paginas ASPX (o HTML) limpias en la medida de lo posible de código javascript. Un problema que solemos encontrar al intentar sacar el código a ficheros js, es el acceso a los controles de servidor, ya que no disponemos del nombre en cliente de estos. Para solventar esto, podemos generar un array que contenga el ID asociado al control como ‘key’ y el control en si como ‘value’:
-
function InitControls() {
-
Controls["txtName"] = document.getElementById('<!--xtName.ClientID-->');
-
Controls["txtAddress"] = document.getElementById('<!--xtAddress.ClientID-->');
-
Controls["txtCity"] = document.getElementById('<!--xtCity.ClientID-->');
-
Controls["txtPhone"] = document.getElementById('<!--xtPhone.ClientID-->');
-
Controls["txtWebsite"] = document.getElementById('<!--xtWebsite.ClientID-->');
-
}
‘Controls’ es una variable (Propiedad) definida en un fichero JS referenciado en la pagina. Este fichero hará las veces de code behind. Ahora solo tenemos que preocuparnos de llamar a la función InitControl() en el evento onLoad.
Recent Comments