Unas de las novedades más importantes anunciadas en Mix09 fue la liberación de la Beta 1 de Silverlight 3, la misma viene cargada de nuevas y mejoradas características, el siguiente es un listado de las mismas y de algunos recursos útiles para profundizar más en el tema.
GPU Acceleration
Ahora es posible utilizar el poder de nuestra placa de video en tareas que hagan uso intensivo de video y gráficos, liberando recursos del CPU.
Perspective 3D
Permite que un objeto 2D interactué en un espacio 3D fácilmente utilizando la propiedad PlaneProjection.
<Border CornerRadius="5" BorderBrush="DarkGray" Background="White">
<Grid Margin="10" Width="100" Height="100">
<Image Source="/images/silverlight.jpg"></Image>
</Grid>
<Border.Projection>
<PlaneProjection x:Name="Projection"
RotationZ="45"
RotationY="60"
RotationX="30"/>
</Border.Projection>
</Border>
Pixel Shader
Con Pixel Shaders podemos aplicar efectos como Drop Shadow o Blur a cualquier UIElement, también es posible crear nuestros propios efectos personalizados.
<TextBlock.Effect>
<DropShadowEffect Color="Red" BlurRadius="5" />
</TextBlock.Effect>
Navigation Framework
Esta nueva característica nos permite navegar fácilmente entre user controls dentro de nuestra aplicación, también se integra con el historial de nuestro browser permitiéndonos utilizar los botones atrás y adelante del mismo.
Navigation Framework también nos permite mapear una Uri a una vista, esto posibilita que se más fáciles para los buscadores indexar el contenido de nuestro site.
<NavigationCore:UriMapper x:Key="uriMapper">
<NavigationCore:UriMapping Uri="Home" MappedUri="/Views/Home.xaml"></NavigationCore:UriMapping>
<NavigationCore:UriMapping Uri="{}{page}" MappedUri="/Views/{page}.xaml" />
</NavigationCore:UriMapper>
DataForm
El control DataForm permite representar una entidad, pudiendo agregar y modificar datos, navegar entre los mismo y definir opciones de validación.
DataGrid
Al control DataGrid se le ha agregado la opción de agrupar filas, soporte para validación a nivel de fila y celda, y nuevos handlers para cuando finaliza la edición de una fila o celda.
Codecs
Se ha agregado soporte para formatos de video MPEG-4, H.264 y audio AAC-LC mono y estéreo.
Element Data Binding
Esta muy útil característica ya estaba disponible en WPF, permite enlazar el valor de una propiedad de un control dado, con el valor de una propiedad de otro control, por ejemplo podemos enlazar el valor de la propiedad Width de una Image con el valor de la propiedad Value de un control Slider, para así cambiar el ancho de la imagen dependiendo del valor seleccionado en el slider.
<Slider x:Name="XSlider" Value="{Binding Widht, Mode=TwoWay, ElementName=SampleImage}"/>
Out-Of Browser
Con esta característica ahora es posible ejecutar nuestra aplicación como si fuese una aplicación de Desktop tradicional, por default todas la aplicaciones Silverlight 3 viene con esta opción, solo es necesaria activarla y agregar configurar algunos parámetros adicionales para el nombre, los iconos a utilizar, etc.
Además se ha ampliado el tamaño del Isolated Storage de 1 a 25mb, para poder guardar datos en el mismo cuando nuestra aplicación este desconectada, para ello se han agregado funciones de monitoreo de la conexión.
Estas son algunas de las novedades que trae la Beta 1 de Silverlight, a continuación les dejo algunos links donde podrán profundizar más en estos temas.
A guide to Silverlight 3 new features
http://timheuer.com/blog/archive/2009/03/18/silverlight-3-whats-new-a-guide.aspx#oob
Silverlight Toolkit
http://codeplex.com/Silverlight
Navigation Framework and Uri Routing
http://blogs.microsoft.co.il/blogs/alex_golesh/archive/2009/04/02/silverlight-3-quick-tip-6-navigation-framework-and-uri-routing.aspx
How to prepare your Silverlight 3 application offline
http://blogs.microsoft.co.il/blogs/alex_golesh/archive/2009/03/19/silverlight-3-quick-tip-2-how-to-prepare-your-silverlight-3-application-offline.aspx
Silverlight 3 Hardware Acceleration
http://blogs.microsoft.co.il/blogs/alex_golesh/archive/2009/03/29/silverlight-3-quick-tip-hardware-acceleration.aspx