Atenção: esse artigo tem uma palestra complementar. Clique e assista!

Do que trata o artigo

Este artigo tem o objetivo de apresentar algumas novidades da versão 3 do Silverlight, como a possibilidade de rodar a aplicação fora do browser, off-line, vídeos em alta definição, recursos para navegação, binding, animação, efeitos 3D, .NET Ria Services, Silverlight Toolkit, herança em estilos e mais.


Para que serve

Em julho de 2009 foi disponibilizado o Silverlight 3, representando uma grande evolução se comparado ao Silverlight 2, e esse lançamento trouxe uma série de novos recursos que facilitam no desenvolvimento de aplicações Web (RIA – Rich Internet Applications). O artigo serve para dar um overview rápido ao leitor sobre essas principais novidades e as que você pode aplicar em seus projetos Silverlight.


Em que situação o tema é útil

Criação de aplicações ricas e multi-plataforma. Conhecendo as novidades do Silverlight 3, o leitor poderá aplicar rapidamente esses novos recursos em suas aplicações existentes, tirando proveito máximo da arquitetura, principalmente devido ao fato que o desenvolvimento de aplicações RIA é uma grande tendência de mercado.

Resumo do DevMan

A Microsoft tem feito grandes investimentos em seus produtos de desenvolvimento de software, e não é diferente com o Silverlight. Oito meses se passaram desde a versão final do Silverlight 2 e nesse período a evolução foi muito significativa, pois está cada vez mais prático criar aplicações ricas para a Web com essas ferramentas, principalmente se você já tem conhecimento em ambientes de desenvolvimento Microsoft. A excelente integração entre as ferramentas proporciona uma curva de aprendizado menor e um ganho de produtividade no desenvolvimento de projetos.

O Silverlight 3 chega apresentando diversas novidades, vou mostrar neste artigo um resumo dos novos recursos dando uma pequena noção do que é possível desenvolver com a versão 3. Se você estava esperando o momento certo para começar a estudar ou criar projetos em Silverlight, essa é a hora.

Os exemplos desse artigo foram feitos utilizando o Visual Studio 2008 com SP1, Visual Studio Tools for Silverlight 3, Silverlight Toolkit e .NET RIA Services July 2009 Preview. Confira os links para download no final do artigo.

O Visual Studio Tools for Silverlight 3 é um conjunto de ferramentas importante para o desenvolvimento de aplicativos. Esse pacote instala o runtime do Silverlight 3 e o SDK (Software Development Kit), além do próprio Silverlight Tools for Visual Studio 2008.

O Silverlight Toolkit é um conjunto de controles e componentes indispensáveis para a produtividade na criação de aplicações ricas em Silverlight, pois com ele temos componentes para a criação de gráficos, treeviews, calendários etc.

Já o .NET RIA Services tem como objetivo facilitar o desenvolvimento em camadas, unindo ASP.NET e a plataforma Silverlight através de um framework completo que fornece um padrão para escrever não só a lógica da aplicação mas também fornecendo suporte a validação, autenticação, entre outros.

Nota do DevMan

Existe uma ferramenta de apoio da Microsoft chamada Expression Blend, cujo objetivo principal é auxiliar o desenvolvimento em Silverlight. Nela você pode criar interfaces aprimoradas para aplicações que combinam o que há de melhor na web e é totalmente integrada ao Visual Studio 2008.

Com o Expression Blend a criação de animações é bastante facilitada. Por exemplo, você pode controlar suas animações com precisão usando suporte e edição de movimento na tela e o Expression Blend gera o XAML automaticamente.

O Microsoft Expression Blend 3 Preview já está disponível para download de avaliação no site da Microsoft.

Nota

Este artigo não apresenta os fundamentos do Silverlight, de forma alguma, e sim somente as novidades da versão 3, indo direto ao ponto, com exemplos rápidos e práticos. É fundamental que o leitor tenha conhecimentos prévios em Silverlight, detalhes básicos da tecnologia não serão discutidos. Uma ótima fonte de apoio e base para esta leitura é o artigo de capa da edição 64, “Introdução ao Silverlight”. Além disso, em nosso portal (www.devmedia.com.br), existem várias vídeo-aulas e cursos sobre o assunto, que vão desde o básico até o avançado.

Aplicação Silverlight fora do browser

Agora é possível rodar uma aplicação Silverlight fora do browser, instalada como um aplicativo no computador, possibilitando assim o uso mesmo sem conexão à internet. De forma muito simples a sua aplicação pode ser disponibilizada com um atalho no desktop, por exemplo, sendo possível ainda personalizar os ícones da instalação, descrição do projeto etc.

Para isso basta clicar em propriedades no seu projeto Silverlight e marcar o checkbox Enable running application out of the browser. Com isso o botão Out-of-Browser Settings é habilitado, dando acesso à tela exibida na Figura 1.

Figura 1. Tela de auxílio para rodar aplicações Silverlight fora do browser

Um arquivo XML será criado (OutOfBrowserSettings.xml) registrando as configurações. Execute a sua aplicação e clique com o botão direito do mouse para visualizar uma nova opção: “Install SuaAplicacao Application onto this computer...”. Se preferir você pode chamar a instalação de dentro da aplicação através do comando:

App.Current.Install();

É possível criar uma rotina que identifica quando uma nova atualização está disponível online e automaticamente atualiza a versão offline. Para isso basta criar, por exemplo, um botão e no seu evento Click adicionar o seguinte código:

Application.Current.CheckAndDownloadUpdateCompleted += new CheckAndDownloadUpdateCompletedEventHandler(Current_CheckAndDownloadUpdateCompleted);
 Application.Current.CheckAndDownloadUpdateAsync();

E quando o download da instalação finalizar o código da Listagem 1 apresenta uma mensagem ao usuário para reiniciar a aplicação:

Listagem 1. Mensagem para reiniciar a aplicação

void Current_CheckAndDownloadUpdateCompleted(
     object sender, CheckAndDownloadUpdateCompletedEventArgs e)
 {
      if (e.UpdateAvailable)
           MessageBox.Show("Atualização instalada, reinicie a aplicação.");
      else
           MessageBox.Show("Nenhuma atualização disponível");     
 }
 ... 

Quer ler esse conteúdo completo? Tenha acesso completo