Tag Archive for 4.0

Lanzamiento de Visual Studio 2010 en la comunidad

Hace poco más de una semana se llevó a cabo el lanzamiento comunitario de Visual Studio 2010 en la Ciudad de Guatemala, junto con compañeros como Carlos Lone (Microsoft Client Application Development MVP) y Manolo Herrera (Microsoft Sharepoint MVP) tube el honor de presentar las nuevas características y ventajas de esta nueva versión de ASP.NET 4.0 y Visual Studio 2010.

Como alguno siempre me pide las diapositivas de la presentación, se las dejo para que puedan descargarlas (en Slideshare).

Ver diapositiva en Slideshare.net

¡Saludos!

String – IsNullOrWhiteSpace

Algo sumamente común en el chequeo de contracts y en la verificación de inputs o entradas es revisar si la entrada es nula o esta vacía. Algo que me topé hace unos días fue ver esta muestra de alguien que preguntaba algo

' Aquí va más código
If cmbEmpresa.Text = "" Then
    MessageBox.Show("Seleccione una empresa")
End If
' Aquí continua más código

La primera línea asume varias opciones que pueden no ser ciertas, ¿y si la cadena es nula?, ¿qué tal si la cadena contiene solamente espacios en blanco?. Probablemente para validar tales casos terminaremos con algo como esto

If String.IsNullOrEmpty(cmbEmpresa.Text) _
  OrAlso cmbEmpresa.Text.Trim().Length = 0 Then
    MessageBox.Show("Seleccione una empresa")
End If

Algo "verbose" a mi parecer, podríamos escribir un método de extensión que nos ayude y simplifique tal comparación (se los dejo de tarea). En la Framework 4 ahora existe un método nuevo, IsNullOrWhiteSpace, que nos simplifica la tarea

If String.IsNullOrWhiteSpace(cmbEmpresa.Text) Then
    MessageBox.Show("Seleccione una empresa")
End If

Enumeradores – Bit Flags

Todos recordamos que podemos usar los enumeradores como flags y luego recuperar la selección con operaciones de bit, por ejemplo, tomemos el siguiente enumerador (tomado de la documentación de MSDN):

[Flags]
public enum MultiHue {
    Black = 0,
    Red = 1,
    Green = 2,
    Blue = 4
}

Podemos pedirle al usuario de la API que seleccione un set de colores o tonalidades y luego obtener su selección mediante bit operations:

var hue = MultiHue.Black | MultiHue.Red;
var isRed = ((hue & MultiHue.Red) == MultiHue.Red);
var isGreen = ((hue & MultiHue.Green) == MultiHue.Green);

Bien, ahora en la .Net Framework 4.0 tenemos un nuevo método que nos hace mas “claro” la lectura de la bit flag:

var hue = MultiHue.Black | MultiHue.Red;
var isRed = hue.HasFlag(MultiHue.Red);
var isGreen = hue.HasFlag(MultiHue.Green);

No se ustedes pero este último es de mejor lectura para mi.

¡Saludos!

Lo nuevo en ASP.NET 4.0: Proyectos

Una de las primeras cosas que nos encontraremos diferentes (o ligeramente diferentes) al crear un proyecto web nuevo en ASP.NET 4.0 con Visual Studio 2010, es las ligeras variaciones con respecto a los proyectos web existentes, una vista rápida a los templates existentes en Visual Studio 2008 SP1 (tengan en cuenta que tengo un par de templates de usuario agregados)

New_Project-2010-04-10_22.11.42

Y el mismo cuadro mostrado en el nuevo cuadro de diálogo de Visual Studio 2010

New_Project-2010-04-10_22.15.26

Algo que notamos a simple vista es la existencia de un tipo “nuevo” de template de web application: Empty Web Application, realmente la Empty Web Application es algo muy similar al template de Web Application que encontrábamos en ASP.NET 3.5 pero sin Default.aspx ni Global.asax, es un template simple, excelente para crear aplicaciones web que simplemente seran repositorios de servicios o que luego tendran nuestro propio layout específico.

WebApplication4_-_Microsoft_Visual_Studio-2010-04-10_22.17.19

El contraparte de la Empty Web Application es la Web Application ejemplo, esta incluye scripts de javascript (la librería JQuery ahora es incluída junto con ASP.NET, si, javascript ahora es al fin considerado ciudadano de primer tipo en ASP.NET) junto con páginas para el manejo de las cuentas típicas del Membership y Role Providers de ASP.NET.

WebApplication5_-_Microsoft_Visual_Studio-2010-04-10_22.18.02

El sitio por defecto incluye estilos y una master page que para serles sincero no se ve nada mal (le recordaran mucho al template que venía con ASP.NET MVC)

SS-2010-04-10_22.23.09

Otros cambios notables que podemos notar en los templates de ASP.NET 4.0 son:

  • Se eliminó el proyecto de ASP.NET Web Service Application (si, los proyectos con asmx), recuerden que desde hace ratos existe WCF y los proyectos de servicio de WCF son la forma recomendada, ASMX es cosa del pasado.
  • El proyecto de servicio de WCF se movió a la categoría de WCF
  • Los dos proyectos de Dynamic Data fueron renombrados, probablemente por branding.

NOTA: Eso no implica que no pueden hacer ASMX’s en ASP.NET 4.0, simplemente ya no hay un proyecto para hacerlo.

El cuadro de diálogo para crear websites cambió también:

New_Web_Site-2010-04-10_22.31.45

Personalmente hubiera preferido que eliminaran el concepto de Website, pero creo que mucha gente en ese sentido diferirá grandemente conmigo :)

Por último, el landscape actual de ASP.NET 4.0 y su relación con los diferentes componentes puede ilustrarse de la siguiente manera (incluyendo su relación con librerías como JQuery):

image_2

¡Hasta la próxima pronta entrega!

Lo nuevo en ASP.NET 4.0: El reducido Web.config