Artigo .net Magazine 60 - Silverlight 2

Saiba como desenvolver aplicativos ricos para Web com acesso a dados.

Esse artigo faz parte da revista .NET Magazine edição 60. Clique aqui para ler todos os artigos desta edição

 

Clique aqui para ler esse artigo em PDF.

 

Novidades - Web

Silverlight 2

Aplicativos ricos para Web com acesso a dados

 

Em Outubro de 2008 foi lançada a versão final do Silverlight 2.0. Esta tecnologia permite criar aplicações com interface rica, que roda em diversas plataformas. Ela está disponível para Windows e Mac (nos browsers Internet Explorer, Firefox ou Safari), uma versão para mobile está em beta e, em breve, com o projeto Moonlight, poderemos executar programas Silverlight em Linux. Você deve estar se perguntando: por que devo aprender mais esta tecnologia? Já conheço diversas tecnologias para Web, que me permitem escrever aplicações multi-plataformas, isto é apenas mais uma tecnologia para a Web.

Não é bem assim. A grande diferença está nestas palavras: “experiência do usuário”. Quando você desenvolve uma aplicação para a Web, sacrifica a experiência do usuário em nome da portabilidade.

 

Nota do DevMan

O projeto Moonlight é um projeto open source desenvolvido pela Novell, com o apoio da Microsoft, para usar o Silverlight em Linux. Veja mais em http://www.mono-project.com/Moonlight.

 

Sem dúvida, você pode criar uma aplicação Web que traga a mesma experiência de uma aplicação desktop, mas para isso você deverá trabalhar com Ajax e criar milhares de linhas de código em JavaScript, o que, sem dúvida, não é uma tarefa simples.

Por outro lado, quando você usa Silverlight, pode criar aplicações muito ricas, com mídia, animações, usando controles semelhantes aos que usaria em uma aplicação desktop, usando sua linguagem de programação preferida: você pode criar programas em Silverlight usando não só o C# ou o VB.net. Você também pode usar IronPyton, IronRuby ou mesmo JScript gerenciado. Para aqueles que gostam de Delphi, a RemObjects tem o Oxygene, que será a base para o Delphi Prism (a nova versão do Delphi), a ferramenta da Embarcadero para desenvolvimento de aplicações .Net (inclusive Silverlight) baseadas em linguagem Delphi, que funcionará como um plug-in tendo como ambiente principal o VS. Isto quer dizer que você pode criar aplicações para a Web com usabilidade semelhante a uma aplicação desktop, usando o Visual Studio, sem precisar utilizar diversas linguagens de programação. Sem dúvida, é um grande avanço, não?

Por ser uma tecnologia voltada à Web, o Silverlight tem acesso limitado à máquina do usuário: embora possamos abrir um arquivo local usando a caixa de diálogo de abrir arquivos ou usando Isolated Storage, não podemos acessar diretamente bancos de dados no servidor, pois não temos acesso ao módulo cliente do banco de dados (como uma aplicação desktop) e não estamos executando no servidor (como uma aplicação ASP.Net): as aplicações Silverlight são empacotadas num arquivo com extensão xap e executadas no browser do cliente, graças a um plug-in de 4MB que é instalado na máquina do usuário.

 

Nota do DevMan

Isolated Storage é uma área de armazenamento local fora do cache do browser que permite armazenar pequenas porções de dados em uma área acessível ao usuário ou à aplicação. Ela fica em uma área escondida no diretório privado do usuário. O tamanho default desta área é de 1MB, porém isto pode ser alterado.

 

Nota do DevMan

Um arquivo xap é, na realidade, um arquivo zip contendo as dlls requeridas pela aplicação e os arquivos necessários para sua execução. Este arquivo é carregado no browser, descompactado e executado pelo plug-in. Se você quer ver o conteúdo de um arquivo xap, crie uma aplicação Silverlight, renomeie o arquivo xap resultante para zip e abra-o num editor de arquivos zip.

 

Por isso, não podemos fazer uma aplicação cliente-servidor, acessando diretamente o banco de dados, como poderíamos fazer com aplicações desktop ou ASP.Net. Teremos que criar uma aplicação multi-camadas, onde a aplicação Silverlight acessa uma camada intermediária de acesso a dados usando um serviço Windows Communication Foundation (WCF) que, por sua vez, acessa o servidor.

 

Nota do DevMan

Windows Communication Foundation (WCF) faz parte do .net Framework 3.0 e é a tecnologia de comunicações que engloba as tecnologias de comunicações que a antecederam: Web Services, remoting, message queues e transações distribuídas.

 

Embora isso seja um pouco mais complicado, este tipo de arquitetura traz um benefício muito grande: usando camadas desacopladas, podemos facilmente substituir uma camada, sem precisar refazer todo o sistema. Caso queiramos substituir o cliente Silverlight por um WPF, WinForms ou mesmo ASP.Net, basta criar uma nova camada de apresentação que acessa o nosso Web Service. E nada impede que criemos mais de uma camada de apresentação para acessar os dados: WPF para usuários baseados em estações Windows com .net Framework 3.5, Silverlight para usuários Windows ou Mac em laptops, aplicações Compact Framework para usuários com Windows Mobile ou ASP.Net para todos os outros. Nossas regras de negócio e o acesso aos dados permanecem inalterados." [...] continue lendo...

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados