Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Un IDE más productivo para las aplicaciones modernas
Si bien Visual Studio 2012 Professional cuenta con varias tecnologías nuevas (por ejemplo las aplicaciones de la Tienda Windows y la API de web de ASP.NET), el equipo de Visual Studio aparentemente aprovechó la oportunidad para concentrarse en crear un “IDE mejor”. Comenzaron con un reacondicionamiento completo de la interfaz de usuario. Aunque la revisión de la UI de Visual Studio 2012 no es tan radical como lo que Microsoft hizo con las aplicaciones de la Tienda Windows, incluye varios cambios importantes. Esto no quiere decir que no existan muchas mejoras que no se relacionan con la interfaz de usuario, pero hablemos primero sobre el “por qué” de estos cambios.
La “IDE mejor” de Visual Studio 2012 se concentra en tres objetivos para mejorar nuestra productividad: reducir la acumulación de elementos, simplificar las tareas frecuentes y mejorar la facilidad de uso. Mientras que la nueva interfaz monocromática y el uso de letras mayúsculas en los menús de primer nivel atrajeron gran parte de la atención, algunos de los cambios más significativos pasaron desapercibidos. Por ejemplo, la cantidad de barras de herramienta predeterminadas que aparecen cuando Visual Studio cambia de un modo a otro disminuye claramente en Visual Studio 2012 (ver Ilustración 1). Si bien esto reduce el desorden, el resultado más práctico es el espacio adicional que sirve para ver algunas líneas de código adicionales en la pantalla. Esto reduce la necesidad de desplazar la pantalla y permite que los desarrolladores vean mejor “el método completo”, lo que simplifica una tarea muy común: escribir código. Es un cambio que puede parecer insignificante, pero refleja la dirección de muchos de los cambios en Visual Studio 2012.
Ilustración 1 Gracias a la reducción en color y brillo, el código se destaca mejor
Acceso al código
El acceso al código es una característica clave de la nueva experiencia de Visual Studio 2012. Por ejemplo, si seleccionó el botón de vista previa, lo primero que le llamará la atención al hacer clic en un archivo en el Explorador de soluciones será que Visual Studio 2012 ahora aparentemente abre los archivos con un solo clic en vez del doble clic. Pero lo que aparece cuando hacemos un solo clic en un archivo con código es una vista previa del archivo (como pista visual, la pestaña de la ventana aparece en el extremo derecho del conjunto de pestañas). Al hacer un solo clic en otro archivo en el Explorador de soluciones, se descarta la vista previa existente y aparece una vista previa para el archivo nuevo. Pero si realizamos un cambio en la vista previa, la pestaña se desplaza hacia la izquierda y el archivo queda abierto en modo de edición.
Mas como resulta ineficiente hacer clic en cada archivo por separado para buscar el código, las nuevas opciones de búsqueda y filtrado en la parte superior de algunas de las ventanas de herramientas entregan una forma mucho más eficaz para encontrar lo que buscamos. El ejemplo más evidente es el cuadro de texto Buscar en solución en la parte superior del Explorador de soluciones, que nos permite buscar nombres de archivos y, más importante aún, nombres de miembros en cualquier proyecto de la solución (aunque no funciona con los proyectos de sitio web de ASP.NET). De este modo, ya no hace falta abrir una ventana nueva para buscar texto. Esto tiene como resultado una menor acumulación de elementos visuales y la simplificación de una tarea muy frecuente.
En la misma línea de reducir el desorden y mejorar la funcionalidad, el Explorador de soluciones ahora combina, junto con la ventana Buscar, algunas características de Vista de clases con la vista basada en archivos tradicional del Explorador de soluciones, para poder entrar directamente a los miembros específicos en los archivos (ver Ilustración 2). Esta característica se complementa con el nuevo botón de Inicio en el extremo superior del Explorador de soluciones, que vuelve a establecer el listado predeterminado de archivos en el Explorador de soluciones.
Ilustración 2 El Explorador de soluciones ahora actúa como una especie de Examinador de objetos
Me cuesta más encontrarle una utilidad al Inicio rápido (que aparece al lado derecho de la barra de menús). Sirve para encontrar recursos de Visual Studio en vez de recursos del proyecto. Si buscamos algún menú u opción de Visual Studio por palabra clave, el Inicio rápido nos permite encontrar el elemento correspondiente de Visual Studio y acceder a este directamente. No me queda claro si esto es algo que necesito muy a menudo, pero el Inicio rápido podría animarme a hacerlo más frecuentemente.
IntelliSense se expande
IntelliSense sigue expandiendo sus parámetros de búsqueda para que podamos encontrar las clases y miembros con mayor facilidad. Mientras escribimos, IntelliSense no solo busca coincidencias de las palabras parciales, sino que también calza selectivamente todas las letras mayúsculas en los nombres de las clases y miembros. En un archivo .aspx, por ejemplo, cuando escribimos “oc”, la lista entregada por IntelliSense contiene OutputCache.
En esta versión, IntelliSense funciona con CSS y los desarrolladores web descubrirán que IntelliSense también reconoce las nuevas etiquetas de HTML5. Los desarrolladores de ASP.NET incluso reciben ayuda cuando escriben expresiones de enlace. Las listas que obtienen los desarrolladores de SharePoint al crear las soluciones en espacios aislados serán más cortas, ya que se omitirán los elementos que pertenecen solo al espacio de la granja.
Pero JavaScript es donde más mejoró IntelliSense. Visual Studio 2012 ahora incorpora en forma automática los comentarios de JavaScript en la ayuda con las funciones y variables de JavaScript por parte de IntelliSense. Si usamos comentarios en XML en el código de JavaScript, contamos con nuevas opciones para que IntelliSense nos ayude con las funciones sobrecargadas. Visual Studio 2012 incluso hace el intento de entregar IntelliSense para los archivos de scripts que se cargan en forma dinámica. Al seleccionar una función de JavaScript y presionar F12 (o seleccionar Ir a definición del menú contextual) se abre el archivo que contiene la función (excepto en el caso del código generado). Sin embargo, no todas las funcionalidades relacionadas con JavaScript tienen la misma utilidad: cuando Visual Studio 2012 no es capaz de determinar el tipo de datos de una variable, IntelliSense frecuentemente no hace más que enumerar todas las entidades de JavaScript disponibles.
Desarrolladores de ASP.NET y ASP.NET MVC
Los desarrolladores de ASP.NET MVC apreciarán las nuevas plantillas de proyecto que permiten crear aplicaciones móviles (como por ejemplo las bibliotecas de jQuery Mobile) y aplicaciones compatibles con la API de web de ASP.NET. Otro tipo de proyectos es compatible con las Aplicaciones de una sola página de Microsoft habilitadas del lado cliente e integra varias API para JavaScript (la biblioteca de enlace de datos y Model-View-ViewModel (MVVM) de Knockout, la API History de HTML5 y la biblioteca Microsoft Upshot para la administración de objetos descargados), para poder crear aplicaciones AJAX. Si está conforme con la elección de bibliotecas de JavaScript que realizó Microsoft (y las elecciones son buenas), ya no hace falta ensamblar su propio conjunto de tecnologías a partir de cero.
En forma automática, Visual Studio 2012 ahora también da formato al código JavaScript para los desarrolladores web y de SharePoint. Si usted tiene un estándar diferente para el formato de JavaScript, deberá desactivar esta característica en Herramientas | Opciones o ajustar sus expectativas.
Visual Studio 2012 es compatible con las nuevas etiquetas de HTML5; de hecho, la página default.aspx de ASP.NET incluso contiene etiquetas <section>. Los desarrolladores pueden dejar de forzar las etiquetas <span> y <div> con clases CSS compartidas para definir la estructura de la página y pueden comenzar a usar etiquetas específicas para ese fin. IntelliSense para las etiquetas más antiguas HTML es compatible con los atributos nuevos de HTML5 (como los atributos de datos personalizados y los atributos de accesibilidad de Accessible Rich Internet Applications). Naturalmente, el explorador web también debe ser capaz de reconocer estas nuevas etiquetas y atributos.
Inspector de página
Para los desarrolladores web, el mayor cambio está en la depuración. F5 sigue funcionando para depurar las aplicaciones ASP.NET y ASP.NET MVC, pero una nueva lista desplegable en la barra de depuración permite alternar fácilmente entre los diferentes exploradores, al mostrar todos los exploradores instalados en el equipo. La verdadera joya de la corona de este recuento, sin embargo, es el Inspector de página, que cambiará la forma en que los desarrolladores web solucionan los problemas de las páginas.
El proceso de depuración típico de una página ASP.NET tiene siete pasos: Abrir la página en el explorador; detectar un problema; adivinar la causa; cerrar el explorador; aplicar la corrección; abrir la página en el explorador (nuevamente); y ver si el problema desaparece. El Inspector de página permite pasar por alto todo este proceso: basta con hacer clic con el botón secundario en una página (.aspx, .cshtml o .vbhtml) en el Explorador de soluciones y seleccionar Ver en Inspector de página. Visual Studio 2012 luego se reconfigura en varios recuadros nuevos y muestra la página tal como aparece en el explorador, junto con el archivo de código fuente, una vista de árbol del código HTML que se envía al explorador más una vista interactiva del código CSS que se aplica a la página; todo en tiempo real (ver Ilustración 3).
Ilustración 3 En el Inspector de página aparece todo el marcado que controla la forma en que se representa la página
Al desplazar el cursor de un lugar a otro en la vista de explorador, los paneles de HTML y CSS se actualizan para mostrar los elementos que contribuyen al resultado que aparece en el explorador. Aunque el archivo de código fuente no cambia para adaptarse al explorador, sí se puede actualizar. Si realizamos un cambio en el código fuente, la vista del explorador se actualiza para mostrar los resultados del cambio. En la vista de CSS podemos deshabilitar reglas o, al hacer clic en una regla, pasar al archivo CSS que la contiene. Allí podemos cambiar la regla y la página se actualiza, para visualizar los resultados del cambio.
No es una solución perfecta: la vista resulta sobrecargada (incluso con un monitor de 17 pulgadas) y el Inspector de página parece tener problemas con las posiciones absolutas en las hojas de estilo (pero de todos modos, probablemente no deberíamos usar posiciones absolutas). A pesar de estas salvedades, el Inspector de página es una herramienta de la que ya no podré prescindir.
Pruebas
Mientras que los desarrolladores web reciben mejoras para la depuración, todos se benefician de las mejoras para el desarrollo guiado por pruebas (TDD). La antigua ventana con los resultados de prueba se reemplazó por un nuevo Explorador de pruebas (ver Ilustración 4), disponible desde Probar | Ventanas, que reúne la mayoría de las actividades relacionadas con el TDD. El Explorador de pruebas enumera el estado de todas las pruebas desde la última ejecución como, por ejemplo, el tiempo que tardó cada prueba (lo que nos entrega una idea inicial de dónde podrían encontrarse los cuellos de botella para el rendimiento). Al hacer clic en una prueba con errores en el Explorador de pruebas, aparece la información pertinente en la parte inferior del Explorador de pruebas. Al hacer doble clic en una prueba en el Explorador de pruebas, llegamos al código correspondiente, para poder iniciar una sesión de depuración de este mismo. Si el listado de pruebas crece demasiado, podemos filtrarlo por palabras clave. El Explorador de pruebas ahora agrupa todas las pruebas con errores, en vez de mezclarlas con las demás pruebas, y visualiza las pruebas marcadas con un atributo Omitir, en vez de pasarlas por alto en silencio.
Ilustración 4 El Explorador de pruebas permite ver y ejecutar las pruebas de manera más interactiva
El Explorador de pruebas también ofrece una nueva opción para ejecutar las pruebas: ejecutar todas las pruebas que aún no se ejecutaron. Al principio, todas las pruebas comienzan en la categoría Sin ejecutar, y a medida que ejecutamos estas pruebas que demuestran que el código nuevo funciona, algunas pruebas pasan (con el tiempo) a la categoría Correcto. Una vez que demostramos que el código nuevo funciona, podemos seleccionar Ejecutar pruebas sin ejecutar, para ejecutar todas las pruebas que no se ejecutaron aún, para comprobar que no se hayan ingresado nuevos errores en el código antiguo. El Explorador de pruebas es otro ejemplo de cómo se simplificaron las tareas frecuentes mientras se redujo el desorden visual en la interfaz de usuario.
Desgraciadamente, el cambio más significativo para las pruebas solo está disponible en Visual Studio 2012 Ultimate: la ejecución automática de las pruebas después de cada compilación. Ultimate y Premium también incluyen funciones para probar el código, (que permiten ver las líneas de código que no se probaron), pero en mi opinión, esta herramienta es de escasa utilidad, en el mejor de los casos (algunos desarrolladores profesionales discreparán conmigo).
Y, por supuesto, Windows 8
No es de sorprender que Microsoft entregara un respaldo sólido para que los desarrolladores podamos crear aplicaciones para Windows 8. Para crear estas aplicaciones hay que adquirir una licencia de desarrollador para Windows 8, pero cuando seleccionamos este tipo de proyecto por primera vez, Visual Studio 2012 lanza el asistente que nos guía en el proceso de adquisición de la licencia.
Visual Studio 2012 proporciona seis tipos de proyectos para las aplicaciones de la Tienda Windows: tres interfaces de usuario (en blanco, cuadrícula y dividida); una biblioteca de clases; un componente de Windows en tiempo de ejecución que no depende del lenguaje; y una biblioteca de prueba. La gran variedad de tipos de proyectos sugiere que las aplicaciones de la Tienda Windows existen en un universo propio.
Igual que en el caso de las aplicaciones web, que se pueden probar con varios exploradores, las aplicaciones de la Tienda Windows se pueden depurar en diferentes entornos, al seleccionar el entorno deseado de una lista desplegable en la barra de herramientas. El entorno predeterminado es la “Máquina local”, pero también podemos seleccionar Simulador, que abre el simulador de Microsoft, parecido a una tableta, que podemos apreciar en la Ilustración 5.
Ilustración 5 Simulador para las aplicaciones para la Tienda Windows que imita una tableta
En el borde derecho del simulador, los botones convierten el mouse en varios tipos de punteros que simulan las interacciones táctiles de la aplicación (suponiendo que el equipo de desarrollo no cuente con una pantalla táctil). Otro botón permite establecer la ubicación de la tableta simulada con la latitud, longitud y elevación, para probar las aplicaciones que dependen de la ubicación. Los botones Girar hacia la derecha y Girar hacia la izquierda permiten alternar entre los modos de orientación vertical y horizontal de la tableta. Incluso hay un botón para realizar una captura de pantalla de la tableta simulada, que copia la imagen al portapapeles de Windows. No es lo mismo realizar las pruebas en el simulador que en el dispositivo físico real, pero el simulador es suficiente para las pruebas iniciales, y nos evita tener que cargar la aplicación en otro dispositivo cuando solo queremos ejecutar una prueba sencilla.
Replanteamiento de la interfaz de usuario
Se han vertido muchas palabras sobre la reducción del “desorden visual” en la interfaz de usuario de Visual Studio 2012; tanto así, que Microsoft agregó “desorden colorido” entre la versión beta y el candidato de versión comercial (RC). En general, el objetivo del diseño de cualquier interfaz de usuario es lograr que las cosas similares se vean parecidas (es decir, todos los elementos del menú se deben parecer y lo mismo vale decir de los botones) y las cosas diferentes se vean diferentes (es decir, los botones deben verse diferentes de los elementos del menú). Visual Studio 2012 RC parece haber alcanzado un equilibrio “suficientemente bueno” en lograr que las cosas aparezcan adecuadamente (y evidentemente) iguales y diferentes. Resultará interesante ver en unos años más, si los desarrolladores comienzan a ver las versiones anteriores de Visual Studio como “chillonas”.
Aunque la combinación de colores de la interfaz de usuario suscitó varios comentarios, fue mucho más comentada la decisión de Microsoft de escribir todos los elementos del nivel superior en mayúsculas para que el menú sobresalga del ruido de las barras de tareas. Varios estudios han demostrado que los lectores adultos reconocen las palabras en parte por las formas de las astas ascendentes (d, b, f) y descendentes (g, y), cuando las palabras están impresas en mayúsculas y minúsculas. Al escribirlas con letras mayúsculas, sin embargo, todas las palabras tienen la misma forma: rectangular. En Visual Studio 2012, sin embargo, no se puede decir realmente que lo que hacen los desarrolladores al acceder a un menú sea “leer”. Como la posición de los elementos del menú es constante (Archivo, Editar, Ver, Ventana, Ayuda), los desarrolladores probablemente encuentran los menús tanto por su posición como por el texto en sí.
Los usuarios veteranos siempre quedan desconcertados por todos los cambios, pero el verdadero impacto de los títulos en mayúsculas lo van a vivir los usuarios nuevos. ¿Se compensa la disminución en el reconocimiento de los elementos de menú individuales con una mejor “puntería” del mouse?
Mientras tanto, se han publicado varias soluciones parche para el registro más algunas extensiones para Visual Studio 2012, que permiten que los desarrolladores reviertan los elementos de menú del nivel superior a mayúsculas y minúsculas. Una opción en la versión final de Visual Studio 2012 probablemente dejará contentos a todos.
Blend para Visual Studio… y las aplicaciones de la Tienda Windows
Parte de las funciones para crear aplicaciones para la Tienda Windows son la incorporación de Blend para Visual Studio en el paquete de Visual Studio 2012. Pero como Blend es un elemento optativo, deberá seleccionar la opción de Instalación personalizada para incluirlo en la instalación de Visual Studio 2012. Por desgracia, a pesar de ser compatible con XAML y con Windows Presentation Foundation (WPF), Blend está disponible dentro de Visual Studio 2012 solo para el desarrollo de aplicaciones para la Tienda Windows.
Aunque Blend viene con Visual Studio 2012, no se puede decir que está realmente integrado. Al hacer clic con el botón secundario en un archivo de interfaz de usuario en una aplicación de la Tienda Windows, tenemos la opción de seleccionar Abrir en Blend. En este caso, Blend se abre en una ventana nueva. Afortunadamente, Blend recoge el listado de archivos del proyecto, así que podemos modificar los archivos sin tener que volver a Visual Studio 2012 (de hecho, al volver a Visual Studio 2012, aparece el mensaje “Archivo se actualizó fuera de Visual Studio” cuando un archivo se cambió en Blend). Los archivos que se agregan al proyecto en Blend también se agregan automáticamente al proyecto de Visual Studio 2012. Pero igual debe tener cuidado al desplazarse entre las dos ventanas: puede pasar a una solución diferente en Visual Studio 2012 sin que Blend se dé cuenta ni se haga cargo. Aclarado esto, Blend permite realizar muchas cosas en forma gráfica, que de otro modo nos obligarían a trabajar directamente con XAML.
Más extras: varios monitores, depuración, Windows Azure y SharePoint
Desde luego que hay más. Visual Studio 2012 nos permite desacoplar las ventanas y luego acoplarlas entre sí (llamado “balsa” por Microsoft). Luego podemos arrastrar la balsa a la posición (o el monitor) que queramos. Las ventanas de depuración están mucho mejor preparadas para los subprocesos y, lo que resulta más útil, nos permiten marcar los subprocesos en los que estamos interesados para restringir la visualización a esos subprocesos.
Los desarrolladores de Windows Azure reciben una integración mejor entre el Portal de administración de la plataforma Windows Azure y Visual Studio 2012. Las aplicaciones ASP.NET MVC se pueden trasladar a la nube con unos pocos clics solamente, sin necesidad de salir de Visual Studio para usar el Portal de administración. Pero Visual Studio 2012 Professional no incorpora todo lo que necesitan los desarrolladores de Windows Azure. Para copiar una base de datos a la nube (el esquema solamente o el esquema más los datos), hay que descargar el Asistente para migración de Base de datos SQL de Windows Azure en CodePlex (bit.ly/bYN8Vb).
Los desarrolladores de SharePoint reciben plantillas nuevas para columnas de sitio y tipos de contenidos: elementos esenciales para la creación de sitios de SharePoint. Y por fin, Visual Studio 2012 también recibe un diseñador visual de listas para SharePoint que es casi tan bueno como el de SharePoint. Los desarrolladores de SharePoint también pueden publicar sus soluciones directamente desde Visual Studio 2012 hacia un sitio remoto (lo que enloquecerá a la persona encargada de administrar las versiones).
Aunque los desarrolladores de WPF y Silverlight no reciben la integración limitada con Blend de la que gozan los desarrolladores de aplicaciones para la Tienda Windows, se agregaron algunas opciones del menú de Blend (tales como Anclar contenedor activo y Crear enlaces de datos para) a los menús contextuales del diseñador de XAML.
Team Foundation Service
Mientras los procedimientos recomendados de software siguen fomentando la creación de muchos objetos sencillos dedicados que se ensamblan para crear aplicaciones complejas, la administración de la gran variedad de componentes de software durante todo el ciclo de vida se vuelve cada vez más importante. El punto de partida para las herramientas para la Administración del ciclo de vida de las aplicaciones (ALM) en el universo de Microsoft es Visual Studio Team Foundation Server (TFS). Sin embargo, sobre todo en los equipos más pequeños, se supone (a veces equivocadamente) que los costos de instalar, configurar y administrar TFS anularán cualquier beneficio que pudiera brindar ALM. Aquí es donde entra en juego Team Foundation Service: es TFS en la nube.
Mientras Team Foundation Service se encuentra en el modo de versión preliminar, puede experimentar con la aplicación (o revisar solamente las características) en tfspreview.com. Team Foundation Service se integra tanto con Visual Studio 2012 como con Eclipse (aunque no todas las características están disponibles en Eclipse).
Team Foundation Service permite usar PowerPoint como punto de partida del proceso de desarrollo de la aplicación, para generar el guion gráfico de la aplicación. Una vez que comienza el desarrollo, el servicio otorga control de código fuente, pruebas unitarias continuas (aunque solo al proteger) y herramientas para administrar la información sobre las características, tareas, errores, comentarios y trabajo pendiente. La configuración de compilaciones de integración continuas es bastante fácil (al menos en los proyectos sencillos) e incluye una implementación automática en Windows Azure. Team Explorer, una herramienta basada en web, permite revisar el proyecto desde cualquier lugar.
A la hora de escribir este artículo no se habían anunciado los precios aún. Microsoft informó que seguirá ofreciendo un nivel gratuito del servicio después de salir del modo preliminar. Pero también dijo que existirán niveles pagados del servicio para los usuarios que no están satisfechos con el nivel gratuito.
¿Actualizar o no?
Desde Visual Studio 2008, Visual Studio ha estado “desconectado” de la versión correspondiente de Microsoft .NET Framework, lo que significó que se podía instalar una versión más actualizada del IDE sin actualizar la versión del marco. Visual Studio 2012 ofrece incluso más libertad, ya que los proyectos no se actualizan automáticamente a .NET Framework 4.5, sin posibilidad de volver atrás. Esto permite trasladar un proyecto sin problemas entre las versiones 2012 y 2010 de Visual Studio, siempre cuando no se use SQL Server 2012 Express LocalDB en Visual Studio 2012 (una versión de SQL Server Express que no necesita de configuración y que solo está disponible en Visual Studio 2012) o alguna característica exclusiva de .NET Framework 4.5.
Si usted va a actualizar a .NET Framework 4.5, por supuesto, no tiene otra alternativa que actualizar a Visual Studio 2012 también. Pero si no actualiza a .NET Framework 4.5, igual vale la pena tener en cuenta Visual Studio 2012. El precio no es excesivo (Professional vale $499 sin una suscripción a MSDN) y para los desarrolladores de ASP.NET el Inspector de página por sí solo probablemente cubre el gasto. Los desarrolladores de Windows Azure agradecerán la integración mejorada con Visual Studio 2012. Las nuevas herramientas Explorador de soluciones y Explorador de pruebas también son muy prácticas. Como mínimo, todos los desarrolladores .NET deberían dedicarle algún tiempo a la versión preliminar.
Peter Vogel es director en PH&V Information Services, que se especializa en el desarrollo de ASP.NET, con experiencia en arquitectura orientada a servicios, XML, bases de datos y diseño de interfaces de usuario.
Gracias a los siguientes expertos técnicos por su ayuda en la revisión de este artículo: Mike Abrahamson y Mike Fourie