Desenvolvimento - C#

Introdução ao Microsoft Silverlight

O .NET Framework 3.0 trouxe grandes inovações para camada de apresentação, permitindo explorar imagens vetoriais, recursos 3D e diversas outras funcionalidades visuais.

por Ramon Durães



Artigo recomendado para Visual Studio 2005; VS2005 SP1; .NET Framework 3.0; Silverlight (CTP FEV/07); XAML

O .NET Framework 3.0 trouxe grandes inovações para camada de apresentação, permitindo explorar imagens vetoriais, recursos 3D e diversas outras funcionalidades visuais. Esse conjunto de recursos é conhecido como Windows Presentation Foundation (WPF). Esse novo padrão é implementado usando XAML (eXtensible Application Markup Language) permitindo experiências com os usuários nunca visto anteriormente. São os primeiros passos para um momento de grande importância na tecnologia para no futuro termos a fusão de interfaces Windows e Web.

O Silverlight conhecido anteriormente como WPF/E oferece uma nova experiência na web explorando benefícios do RIAs (Rich Interactive Applications) permitindo novas interfaces além de poderosos recursos para áudio e vídeo. Gráficos vetoriais, animações e vídeos de alta resolução (High Density) formam o pilar dessa nova tecnologia. As novas interfaces serão baseadas em WPF. O Silverlight está sendo implementando no padrão cross-browser e distribuído no formato de plug-in como já acontece com outras tecnologias incluindo dispositivos moveis.

As comparações com outras tecnologias concorrentes são invitáveis. Uma grande diferençal é que a interface é um simples arquivo em XAML com grande suporte a SEO (Search Engine Optimization) e a codificação será feita no já tradicional .NET Framework. Eliminando a necessidade de se aprender várias tecnologias diferentes.

Você pode conferir online alguns exemplos oferecidos pelo portal channel9 do MSDN. Para isso vai precisar instalar o plug-in para o Silverlight, os links encontram no final do artigo. Algumas telas de exemplo podem ser conferidas na figura 01, figura 02 e figura 03.


Piano
Figura 01 - Piano


Figura 02 - Álbum de fotos


Figura 03 - Biblioteca de vídeos

Depois que você conferir os exemplos vai perceber que são fantásticos. O primeiro apresentado na figura 01 mostra um simulador de Piano. Digite algo no seu teclado e escute. O segundo exemplo é um álbum de fotos com uma excelente interface e o terceiro uma biblioteca de vídeos muito fácil de ser implementada. A idéia desses projetos é dar justamente uma visão de novas possibilidades de implementação para suas aplicações na web. Um novo conjunto de possibilidades está se formando, rompendo os limites tradicionais e permitindo a exploração com recursos mais próximos a realidade do usuário atual.

Um exemplo bastante interessante também está apresentado na Figura 04 que é o Silverlight Pad onde você pode colocar seu código XAML e testar online. Esse exemplo também é 100% Silverlight.


Figura 04 - Teste seu código XAML online


Arquitetura do Silverlight
Com Windows Vista introduziu-se um novo conceito em camada de apresentação. Agora você poderá portar para web toda essa tecnologia que tanto está encantando os usuários. Confira na figura 05 uma visão simplificada dessa arquitetura.


Figura 05 - Arquitetura Silverlight



1. Browser Plugin
Está sendo implementando com suporte a diversos browsers do mercado. Atualmente já oferece suporte as versões mais recentes do Internet Explorer e Firefox.

2. Presentation Runtime
Baseado em WPF permitira explorar interfaces vetoriais, fazendo com que o XAML seja interpretado pelo browser possibilitando também exibição de videos baseados em Windows Media e suporte a arquivos de audio mp3.

3. .NET Framework
Possui implementação do modelo DCOM para comunicação via JavaScript, além de permitir a codificação usando código gerenciado baseado em .NET

Introdução a XAML ("zammel")
XAML (eXtensible Application Markup Language) é linguagem declarativa baseada no XML para implementação de interfaces durante do desenvolvimento. Com XAML você vai poder separar o design da aplicação da camada de codificação. Além de simplificar a codificação dos controles fará o elo com os profissionais de design que estarão agora mais próximos dos desenvolvedores trocando informações usando XAML.

A Microsoft está lançando um conjunto de ferramentas de apoio para construção de código baseado em WPF. Existe inclusive um site especifico para o público de Design onde você pode conhecer as novas ferramentas do pacote Expression Studio (Blend, Expression Media , Design , Web). Dentre as novas ferramentas o Blend será uma das principais na construção de XAML.

Silverlight & ASP.NET AJAX
Fácil integração com Microsoft AJAX incluindo os modelos Client e Server dando possibilidade aos desenvolvedores novas oportunidades de interação das aplicações existentes com camada de apresentação.

Expression Media Encoder
Mais um novo produto da linha Expression, ele permitira uma rápida compressão e publicação de videos digitais na web com suporte aos mais variados formatos. Confira mais informações no site oficial.

Prepara-se para o futuro da web 2.0, teremos muitas novidades em breve. Até próximo artigo.
Referência:
http://www.microsoft.com/Silverlight
http://www.Silverlight.net
Arquitetura WPF/E (MSDN)

http://www.mikeswanson.com/SWF2XAML (Conversor de SWF para XAML)
http://www.microsoft.com/expression/default.aspx
http://www.windowsvista.si (Exemplo Simulador Windows Vista em Silverligth)

Ramon Durães

Ramon Durães - Especialista em desenvolvimento de software e Microsoft Most Valuable Professional (MVP) em Visual Studio Team System. Realiza treinamentos de .NET Framework em empresas, consultoria em arquitetura de software e implantação de Visual Studio Team System. Palestrante nos principais eventos da Microsoft no Brasil (Tech-Ed 2005, Tech-Ed 2006, Tech-Ed 2007, Tech-Ed 2008, Tech-ED 2009), Microsoft Innovation Days 2007 (Salvador, Brasília, Recife, Goiânia, Natal, Maringá), Microsoft Innovation Days 2009 (Salvador) , Campus Party Brasil 2009 e eventos regionais relacionados a grupos de usuários e universidades. Conhecido autor de artigos para os principais portais de conteúdo e autor de 10 publicações eletrônicas em CD (Video-Aula) pela editora Linha de Código além dos livros "Desenvolvendo para web usando o Visual Studio 2008" e "Gerenciando projetos de software usando Visual Studio Team System" pela editora Brasport. Pode ser encontrado em seu blog http://www.ramonduraes.net e @ramonduraes no Twitter.