miércoles, 24 de octubre de 2007

simplemente no me gustan los usarControl de .NET??

bueno dice el titulo de la entrada. es verdad, no me gustan los usercontrol de .NET. tratare de detallar el por que no me gustan:
  • Una de las principales desventajas que to le veo personalmente, es que uno nunca sabe que se cuando no donde. yo ya llevo un tiempo trabajando con user-control y efectivamente, cuando estoy desarrollando no me doy cuanta cuando efectivamente va al servidor. cuando va solo una parte de una pagina o toda la pagina completa.
  • Cada vez que uso un asp:button al hacer click sobre el hace un submit del formulario automaticamente. y caemos en el juego del item anterior.
  • Creo que no es muy buena la integración con diseño. si bien los usercontrol la mayoria por no decir todos, acepta asignarle una clase css. este no es muy claro para un diseñador. ya que por ejemplo, por lo general diseñan con divs y no con tablas. aqui dejo un link http://www.effectivetranslations.com/stupidtables/everything_es.html.
  • cada ves que generamos un control este al lado del cliente genera un id aliatorio (si saben como arreglar esto por favor diganme), esto nos complica al lado de hacer cosas y validaciones javascript, ademas de definir reglas css. ya que en css podemos hacer clases, psedo-clases y etiquetas. seria bueno comentar que en css si no pone algo asi.

    #idElement{
    /*aqui deberia ir el estilo*/
    }
  • no me siento bien haciendo javascript, para cosas que tienen que ver con usercontrol. a mi me da la impresión de que estoy parchando el codigo. y amoldandome al código que genera .NET y sus usercontrol.
  • No se como extender un userControl, por ejemplo un dataGrid. a pesar de que este es solo un cuento mio. de todas formas igual lo agrego.
  • definitivamente prefiero usar un motor de plantilla. aunque sea pre-historico, jejeje.
Ventajas de usar motor de plantillas:
  • Nos permite solo dejar solo la lógica necesaria en la capa del cliente.
  • Mejor integración con diseño, ya que siempre diseño construye html y no asp:dataDrig
  • Sigue siendo html, con ciertos tags de repetición. los cueles pueden ser entendidos por casi cualquier persona, que quiera cambiar un color o un orden en cualquier cosa.
  • por lo general. (string Template lo hace) permite plantillas anidar platillas. de esta forma podemos tener un layout general , y solo hacer un plantillas mas chichas para las parte de información.

aqui les dejo el link de StringTemplate, para que lo miren es bastante bueno. http://www.stringtemplate.org/


bueno como conclusión. no me siento comodo haciendo user-control. creo que haciendo html+javascript+css puedes hacer muchas cosas mas que con user-control+css(limitado)+javascript(limitado), por que digo limitado, en css. uno siempre se tiene que preocupar por el navegador del cliente, eso ya es una limitancia para desarrollar css. y mas un si ponermos otro filtros mas que son los usercontrol. para javascript se repite lo mismo.