Mis primeros pasos con ASP.NET Ajax

Hasta ahora, por razones de tiempo, sólo había podido ver algo de ASP.NET Ajax en charlas como en el TechEd y las típicas pruebas que todos hacemos, pero ahora ya por fin, estoy empezando a usarlo en un proyecto de verdad.


Las primeras impresiones son buenas, es bastante fácil de usar, y lo cierto es que la experiencia de usuario mejora mucho, eso sólo con los ejemplos básicos de Ajax ya lo podemos conseguir.


También estoy probando algunos controles del Ajax Control Toolkit, y bueno, aquí, aún siendo sencillo de usar, hay algunas cosas que tienen algo más de truco, por ahora, con los que me he pegado más «en serio», han sido con el control de slider, y con el accordion, si bien son fáciles de usar (y ciertamente llevan dentro mucho trabajo que es de agradecer), hay algunas cosillas, como el data binding en el accordion, que son algo mejorables, pero de todos modos, por ahora estoy contento con lo que han hecho y os animo a que lo probéis, yo creo que a nivel de experiencia de usuario merece la pena.


Y ahora, algunos contras, retomando algunos de los consejos que pude tener en las charlas del TechEd, veo que es muy fácil que, si bien la experiencia de usuario la mejoremos, la eficiencia final de nuestras aplicaciones web se vea afectada, ya que es muy tentador ponerse a crear UpdatePanels, y Autopostbacks, para todo, sin pensar que eso está haciendo una ejecución completa (vaya un postback) en el servidor, aunque nosotros (el usuario que es de lo que se trata) no lo veamos, y por tanto estemos aumentando el tráfico de subida y de bajada (aunque sólo se manden los datos necesarios para actualizar el panel), y las llamadas al servidor.


Por tanto es importante estudiar bien antes el uso de los controles, el uso del UpdateMode con «Conditional» en los paneles que no necesitemos que se actualicen siempre, y usando los Triggers para actualizarlos, así como comprobar si podemos conseguir la misma experiencia de usuario con otros mecanismos como es el uso de llamadas a webservices desde Ajax.


Pues nada, a probar y aquí os dejo un link a los tutoriales de ASP.NET Ajax y a una herramienta desarrollada por Nikhil Kothari que nos puede ayudar bastante en el desarrollo de aplicaciones web, el web developer helper


Ya os iré contando con más detalle que tal acabo con el Ajax …

Atajos de teclado para Visual Studio 2005

Acabo de ver en el blog de Rob Caron, los posters de los atajos de teclado para Visual Studio 2005 para C#, VB.NET y C++, aquí os dejo los links, que es interesante tenerlo:

Si sois fanáticos del uso del teclado, como yo, os vendrá bien tener el del lenguaje que más uséis impreso.

En el TechEd 2006 en Barcelona, dieron copias ya impresas, pero lógicamente volaron y no pude pillar ninguna L

Leido: Software Engineering With Microsoft Visual Studio Team System

Acabo de terminar de leer este libro de Sam Guckenheimer, otro compañero de geeks.ms, Rodrigo Corral, ya habló de este libro, y ahora me toca a mí, lo compré ya que otro MVP de Team system habló de el en el TechEd, y me pareció interesante, si ya ha pasado mucho tiempo, pero hasta ahora no he podido leerlo, ya que he estado ocupado sacándome el carnet de moto

El libro en general se hace bastante sencillo de leer, y eso me ha gustado, ya que es un libro perfecto para la gente que está empezando a gestionar o a trabajar en proyectos con Team System, y habla de cómo usar Team System en los proyectos de un modo muy sencillo, quizá se echa en falta algo más de profundidad en ciertos temas, pero como el propio autor dice en las conclusiones, pretende ser un libro introductorio.

Todo el libro lo centra desde la perspectiva de la gestión de los proyectos desde la perspectiva de «value-up», que, resumiendo bastante, ya que ocupa dos capítulos del libro en detallarla, esto es, trabajar siempre desde la perspectiva de construir la solución iterativamente, centrándonos en aportar siempre valor al cliente, y tomando los cambios como oportunidades de incrementar ese valor, adaptándonos a ellos.

Casi todo el libro se centra en metodologías ágiles de gestión, pero también hace bastantes apuntes acerca de cómo utilizar Team System en proyectos con CMMI, que requieren más datos para ser auditados a posteriori.

Otro punto interesante del libro es la diferenciación que hace siempre, entre la utilización de métricas de modo descriptivo contra las métricas usadas de modo prescriptivo, teniendo que tener mucho cuidado con estas últimas, ya que se pueden volver fácilmente en contra del proyecto. Esto lo podemos ver a lo largo de todo el capítulo de gestión de proyectos, así como el capítulo de «troubleshooting» de proyectos.

También dedica capítulos acerca del desarrollo, el testing y la gestión de bugs que se puede hacer en Team System, como son las Team Builds, la integración contínua, la gestión de bugs con work items, y que son «armas» muy valiosas para después poder afinar en la gestión del proyecto, usando los datos proporcionados por estas herramientas en los informes de Team System, todo este proceso de descubrimiento de los puntos «débiles» del proyecto, y de cómo solucionarlos, los da en el capítulo 9, el de «troubleshooting» de un proyecto, este capítulo, a pesar de no entrar en mucha profundidad, es bastante interesante, ya que aquí podemos ver algunos de los típicos problemas que se dan en los proyectos, como detectarlos con Team system, y que posibles soluciones se le dan, en definitiva un capítulo bastante recomendable.

Y ya por último, me gustaría comentar el capítulo acerca de la arquitectura, y que nos explica como debemos empezar a definir una arquitectura, para hacerla lo suficientemente flexible a la hora de los cambios, esto es bastante importante a la hora de gestionar un proyecto «ágil» en el que se promuevan los cambios, y es un punto en en el que no siempre se acierta, creando a veces arquitecturas muy rigídas y que luego nos dificultan el cambio.

Por último, igual que Rodrigo, también es interesante el capítulo de gestión de los requerimientos y las estimaciones de proyecto y de las iteraciones, aunque sea bastante por encima, da una visión de cómo se deben gestionar estos elementos, que son la base de los proyectos (recordemos que lo más importante es dar soluciones que aporten valor a los requerimientos del cliente).

En definitiva, y como decía al principio, os recomiendo que leáis este libro todos aquellos que estéis interesados en metodologías de gestión de proyectos y/o estéis involucrados en un proyecto con Team System.

Uno o dos ficheros con detalles de instalación de TFS

Los que ya habéis instalado Team Foundation Server, sabéis que, a pesar de ser tan «sencillo» como seguir los pasos de instalación del documento, no siempre se llega a instalar bien, siendo especialmente sensible y teniendo que tener en cuenta todos los detalles de la instalación.

Actualmente existe el fichero de guía de instalación, y también un documento «readme» que está en el MSDN, con los posibles problemas de instalación, pues bien, el equipo de User Education de Team Foundation, está pidiendo opinión sobre si poner todo en un único fichero, o seguir como hasta ahora,, así que os animo a todos los que estéis involucrados con esto, a que deis vuestra opinión, aquí tenéis el post del equipo para que podáis dar vuestra opinión.

Why aren’t installation issues in the installation guide?

La mía es: un único fichero, con un índice detallado para que no haya dudas de dónde buscar la información dentro del fichero.

TFSBuildManager

La semana pasada leí en el blog de Buck Hodges acerca de una herramienta que han puesto en Codeplex, que permite trabajar con las Team Builds sin el Team Explorer, y después de pegarme un poco con las builds y los ficheros xml de configuración me he deidico a probarla, la herramienta en cuestión es el TFSBuildManager. Lo que nos permite básicamente es trabajar con tipos de builds (y sus resultados) ya existentes.

Lo primero que me llama la atención es que no tiene un instalable, simplemente la descargamos, extraemos los ficheros del zip, y ya podemos empezar a trabajar, una vez arrancada, seleccionamos el servidor y el proyecto de Team Foundation. En la primera pantalla se nos muestra el listado de los resultados de las builds del proyecto seleccionado, y aquí podemos filtrar ya sea por proyecto o por tipo de build y por supuesto cambiar la «calidad» de una build.

Una cosa que me gusta de esta primera pantalla, aunque no sea muy ortodoxo, es la posibilidad de borrar un resultado de una build, cosa que no se puede hacer desde el Team Explorer, y aunque no estoy de acuerdo en hacerlo, pero a veces, al configurar la build se nos escapa algo, y la primera vez no funciona, no porque la build esté mal, si no por la propia configuración de la build, de este modo podemos eliminar estos resultados, al borrar, se eliminan tanto los resultados, como los binarios (de existir) del directorio de deploy.

También desde esta primera pantalla, seleccionando una build, se nos permite ejecutarla, parar su ejecución, y algo muy interesante: editarla, esto me ha gustado bastante, la edición de team builds, que no se puede hacer en team explorer más que modificando manualmente el xml de la build.

Esta edición nos permite cambiar el servidor de team build, los directorios donde se compilará y se dejarán los binarios, una cosa muy interesante, que es la posibilidad de personalizar el work ítem asociado que se crea cuando falla una build, y cambiar los campos título, descripción, el texto de dónde está el fichero de log, y el texto indicativo de los errores y warnings, también nos permite cambiar si queremos ejecutar el análisis de código estático, ejecutar los test unitarios (aunque aquí parece que no se le puede especificar la lista de test) , también nos permite cambiar la configuración de la build (debug, Release, mixed plataforms, etc), y la solución a compilar.

Vaya que esto de editar las builds me ha gustado bastante, y os recomiendo la herramienta, que por ahora no me ha dado ningún problema.

La versión 1 ya está en producción, y ya tienen pensadas nuevas mejoras.

Así que nada, os animo a que la probéis.

Entro en la comunidad geeks.ms

Hola a todos, lo primero gracias a Rodrigo Corral y a Jorge Serrano por invitarme a participar en Geeks.ms, y ahora me presento, soy Luis Fraile, y trabajo como desarrollador/consultor independiente desde diciembre del 2006, antes había estado trabajando siete años y medio en Renacimiento sistemas, también como consultor de desarrollo, y con temas de gestión de proyectos y metodologías de programación (sí, yo también soy un fanático de las metodologías, especialmente de Scrum, como Rodrigo), y bueno, recientemente me han nombrado MVP de Team System, que es de lo que más escribiré por aquí, bueno no se que más contaros, pero ya iré poniendo posts por aquí para ir contando más cositas, en un principio mi idea es hacer crossposting con mi blog: http://www.lfraile.net , aunque quizá vaya poniendo en mi blog más cosas a cerca de mis aficiones (fotografía, buceo, y más), y dejando los post técnicos para geeks.ms.

En fin, que estoy encantado de la oportunidad de postear en esta comunidad, así que ya nos iremos «leyendo» por aquí.

PD: Lo siento, pero mi capacidad de redacción post que no sean técnicos (e incluso los técnicos) es bastante limitada J