viernes, julio 28, 2006

Experimentando con Visual Studio 2005


Ya hace tiempo que la comunidad de desarrolladores de .NET esperaba expectante Visual Studio 2005. La razón es que se trata de la primera gran revisión de .NET en general: Framework y producto desde que salió (Visual Studio .NET 2003 sólo fue una revisión menor)

Visual Studio 2005 se presenta lleno de novedades en el propio entorno de desarrollo, en el propio .NET Framework y en el propio lenguaje de programación.

Novedades principales que aporta

Novedades principales del entorno de desarrollo

Soporte para refactoring: Refactorizar es el proceso de modificar el código fuente pero sin modificar su temática. El objetivo es adherirse al best practices de desarrollo, hacer el código fuente más intangible, menos propensa a errores… El soporte para refactorización de Visual Studio 2005 permite, entre otros, convertir variables públicas a propiedades, promover variables locales a parámetros,…

Herramientas de testing integradas; Permite realizar tests unitarios, tests de estrés de aplicaciones ASP.NET i tests de coverage.

Nueva herramienta de control de código fuente. Substituye a Sourcesafe y proporciona una experiencia más orientada a la colaboración, con herramientas de merge manual y automático para soportar mejor operaciones de multiple check-outs i brnaching.

Just my code debugging. El depurador se puede configurar para que ignore código fuente de 3rd parties y depure sólo nuestro código fuente.

Smart tags: La funcionalidad más importante de controles (wincontrols i webcontrols) se agrupa en smart tags, Haciendo clic sobre el smart tag de un control se nos da acceso a un menú que se nos permite de forma fácil realizar las acciones más comunes sobre aquel control.

Edit-and-continue: Podemos depurar, cambiar código mientras estamos depurando (en un breakpoint) y en la mayoría de casos, seguir la depuración.

Auto using: El entorno es capaz “de auto incluir” aquellas sentencias “using” que no hayamos puesto en el código fuente i que sean necesarias para las clases que estemos utilizando.

Soporte para SQL Server 2005: posibilidad de desarrollar componente para SQL Server 2005, directamente desde Visual Studio 2005, incluyendo el deploy.

Novedades principales en los lenguajes

Soporte para genéricos. Los genéricos permiten definir clases parametrizables con parámetros que son de otras clases (al estilo de los templates de C++). Ésta característica está soportada a nivel del CLR, i por lo tanto está soportada por todos los lenguajes.

Partial types. Permiten una misma clase en más de un fichero de código fuente. P.ej. Visual Studio 2005 utiliza esta característica y en el caso de winforms separa en un fichero de código fuente el código auto generado por el “component designer” y en otro fichero diferente el código del usuario (Visual Studio .NET 2003 lo mantenía todo en el mismo fichero de código fuente).

Enumeradores: Facilitan enormemente la creación de clases que soporten for… each

Nullable Types: Implementados gracias a los genéricos, permite que los tipos por valor (como p. ej. Int32 o Int64) puedan tener el valor null.

Mejoras especialmente pensadas para p/invoke como la posibilidad de declarar arrays de tamaño fijo.

Novedades principales de ASP.NET

Master pages: En ASP.NET 1.x si se quiere mantener un layout consistente en un conjunto de páginas de un site, se había de encapsular este layout en uno o varios web user controls (.ascx) e incrustar los controles en cada página. En ASP .NET 2.0 se proponer seguir el enfoque contrario: el layout común es diseñar una sola vez y se coloca en un único sitio: la master page. A cada master page se define uno o más “placeholders” que en tiempo de ejecución contendrán las diferentes páginas. Visual Studio 205 ofrece un soporte visual completo para master pages.

Expression syntax: Permite definir expresiones que se evaluarán antes de procesar la página. Se utiliza en el nuevo sistema de localización implementado en ASP.NET y se puede usar también para establecer determinados valores de control de forma dinámica, antes de que la página ASP.NET sea procesada por el Framework (p. ej. Cadenas de conexión)

Nuevos controles de alto nivel: Controles de login/logout, sitemaps, wizards…

Herramienta de configuración: Una nueva herramienta de configuración (web) permite configurar el fichero web config sin necesidad de editar el XML.

Localización basada en ficheros de recursos: Similar a los winforms de Visual Studio .NET 2003: Un fichero de recursos para cada locale y en tiempo de ejecución el motor de ASP.NET substituirá automáticamente los valores de las propiedades de los controles indicador para los valores contenidos en el fichero de recursos utilizados.

API para personalización y para webparts.

Nuevo servidor web integrado. No es necesario tener un IIS instalado en la máquina para crear y depurar aplicaciones ASP.NET. Adicionalmente las aplicaciones ASP.NET pueden crearse en cualquier directorio de disco (sin necesidad de definir ningún directorio virtual).

Nuevo API de configuración más flexible.

Novedades principales de ADO,NET

No es propiamente una novedad de ADO.NET sino de ASP.NET i de winforms. Permiten abstraer el resto de las aplicaciones del data provider utilizado.

Objeto DataTableReader permite iterar para los valores de un DataTable de forma rápida i eficiente.

Posibilidad de cambiar manualmente el RowState de una o varias filas de un DataTable.

Novedades principales de Compact Framework

SQL Server 2005 Mobile que substituye SQL Server CE i ofrece un rendimiento superior y la posibilidad de tener más de una conexión simultánea contra una misma BBDD. Además las BBDD de SQL Server 2005 Mobile pueden gestionarse a través de Visual Studio 2005 (o del SQL Management Studio).

Soporte para clases del .NET Framework que no estaban soportadas en la versión anterior ( a destacar entre otros; soporte para el registro, MSMQ, Threads y puertos serie).

Visual Studio Team System

Visual Studio Team System es un conjunto de herramientas que ofrece soporte a todo el ciclo de vida de un proyecto. Se compone de dos partes principales: un servidor (Visual Studio Team Foundation Server) y un cliente (Visual Studio Team Edition), que partiendo de Visual Studio 2005 Professional añade herramientas adcionale para: testing, profiling, modelage en UML, análisi estático y dinámico de código entre otros.

fuente http://www.raona.com/Actius/VisualStudio2005/tabid/140/Default.aspx

Nota personal: luego de utilizar Visual Studio 2005 en conjunto con
SQL Server 2005, puedo dar fé de una gran cantidad de mejoras
en el Entorno de Desarrollo (IDE Interface Development Enviroment)
principalmente en la integración, además de la implementación de
nuevas herramientas de distribución como Click Once (muy recomendable).
Como punto en contra una barbaridad de requerimientos
de memoria (trabajé con 2Gb. de RAM y se quedaban cortos)
y grandes problemas para la
migración de proyectos de Visual Studio 2003, principalmente
con el Crystal Reports.