Luego de mucho esperar, esperar y esperar, al fin pude obtener una copia del Visual Studio 2010 beta2. Entre mis primeras impresiones y pruebas, hasta lo mucho que he leído del blog de ScottGu, voy a comentarles ciertas cosas que creo que son las más importantes. Recapitulando desde el principio:
- Interfaz Totalmente nueva
- Soporte Multi-Monitor
- Intelisense Mejorado
- MVC 2.0
- Pagina de Inicio Mejorada
- Multi-Threading, Parralel For y Parralel ForEach
- ASP.NET 4.0
1->Para comenzar, un vistazo de la nueva interfaz:
Como ven, se ve más bonito y mucho más si tienen windows 7, ya que trae soporte para los Jump-List (Visual Studio 2008 eran soportados los jump-list sólo si abrian los archivos/soluciones desde el explorador de Windows, ahora con abrir una solución desde el programa (archivo-abrir) serán tomados en cuenta para el Jump_list).
Otra cosa interesante es que, la interfaz ha sido diseñada totalmente en WPF, haciendo uso de ésta nueva tecnología que ya todos sabemos las ventajas que tiene.
2-> Ahora, la ventana principal puede ser “descuartizada” para mostrar las ventanas en monitores diferentes. Esto significa que, por ejemplo, podemos tener la ventana con el código Fuente de una página ASP.NET en un monitor, y el “code-behind” en otro. Un ejemplo(a un solo monitor):
Como ven, cada ventana es independiente una de otra y se pueden arrastrar fuera de la ventana principal, ya sea para otro monitor o para tener una vista más periférica, aun mejor que si lo hiciéramos dentro de la ventana principal.
3->Ahora, por fin, el Intellisense, esa herramienta de la cuál depende mucho de lo rápidos que seamos programando, y sin la cuál estaríamos más tiempo en Google que en VS, ha sido mejorada. Si recuerdan VS2008, cuando escribíamos algo en el editor de código, Intelissense llegaba a nuestro rescate sugiriéndonos todos lo métodos, propiedades, y tipos que comenzaran con las letras que escribiéramos. Ok, eso es lindo, pero… Ahora, VS2010 no solo busca entre las opciones que comiencen con lo que escribimos, sino también nos sugiere otros métodos, tipos o propiedades y campos que contengan las palabras claves que ingresamos. Más información y ejemplos aquí.
4->Ahora si, VIsual Studio incorpora “de fábrica” el ASP.NET MVC y en versión 2.0 . Sobra decir que, MVC es una excelente manera de programar Web, y ahora en versión 2.0 sin necesidad de instalarlo por aparte, es excelente. (luego postearé las diferencias y mejoras entre MVC 1 y MVC 2).
5->Algunos no la vemos, otros la cierran apenas pueden, pero todos odiábamos la página de inicio de VS2008. A mi personalmente me recordaba demasiado a VS2003 y no sé si para atrás también. El punto es que, como pueden ver en la primer imagen, ha sido TOTALMENTE cambiada, y para bien. Ahora podemos cargar ahí lo que queramos, RSS, y otras cosas. Además provee ayuda y tutoriales ordenados según la tecnología. Definitivamente mucho más bonita y más funcional (incluye un checkbox en la parte inferior que permite que se cierre automáticamente al cargar un proyecto/solución).
6-> Esto es más C# que visual Studio, pero aún así vale la pena mencionarlo: Ahora, podemos hacer un ciclo en paralelo SUPER FÁCIL: simplemente usamos el ensamblado System.Threading.Tasks, que nos provee la clase Parralel, que entre otros, tiene métodos estáticos para hacer que un simple For o ForEach sean ejecutados, cada iteración, o alguna de ellas, en paralelo. Por ejemplo:
class Program
{
private static void Mensaje(int x)
{
bool par = false;
if (x % 2 == 0)
par = true;
else
par = false;
Console.WriteLine("Numero: {0} -> {1}", x, par ? "Par" : "Impar");
}
static void Main(string[] args)
{
Parallel.For(0, 600, Mensaje);
}
}Y esto, nos correrá un For con iteraciones en paralelo, con contador desde 0 hasta 600, y llamando a la función Mensaje(int x) que mostrará si el numero es par o no. Así de sencillo y fácil.
La clase Parallel trae varios métodos más, muy útiles para mejorar el rendimiento de nuestros ciclos y aplicaciones en general.
7->Otra gran mejoría, más simple pero aún así importante, son los proyectos de ASP.NET con templates desde que son creados. Ahora, vienen con MasterPage definida, integradas al sistema de autenticación de ASP.NET, y otras mejoras, como por ejemplo un control de inicio de Sesión de Usuario sería así de fácil:
<div class="loginDisplay"> <asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false"> <AnonymousTemplate> [ <a href="~/Account/Login.aspx" ID="HeadLoginStatus" runat="server">Log In</a> ] </AnonymousTemplate> <LoggedInTemplate> Welcome <span class="bold"><asp:LoginName ID="HeadLoginName" runat="server" /></span>! [ <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="Log Out" LogoutPageUrl="~/"/> ] </LoggedInTemplate> </asp:LoginView> </div>Donde, la parte que está entre los <AnonymousTemplate> Será mostrada cuando el usuario NO ha iniciado Sesión. En caso de que si lo haya hecho, se muestra el <LoggedInTemplate>. Simple, sencillo y fácil.
Definitvamente, Visual Studio es una actualización importante y las características y mejoras incluidas, valen la pena por lo menos “echarle un ojo”.
Saludos!