Newsletter
Nome:
E-mail:

Artigos

| TI24x7 Cursos Online

Introdução ao Silverlight (RIA application)

14/02/2011

O Silverlight é um plug-in cross-browser e cross-plataform que permite o desenvolvimento de aplicativos ricos e interativos (RIA) para a Web.

Evolução da interface do usuário

Nas versões mais antigas do Mac OS, o usuário experimentava uma riqueza de conteúdo na interface ao mesmo tempo que o Linux possuía várias interfaces ricas que promoviam grande interação com seus usuários, tanto pela quantidade de interfaces como a flexibilidade para personalização da mesma. O Windows da Microsoft possuía a interface mais limitada até então.

Em 2001 a Microsoft lançou o Windows XP que foi uma grande atualização na interface usual do Windows, mas não se comparou as interfaces recém lançadas na mesma época como a do Mac OS X (Que neste ano sofreu uma grande atualização incrementando ainda mais a sua interatividade), Gnome e KDE (que estava em fase final de desenvolvimento), sendo estas duas últimas as interfaces mais utilizadas para usuários Linux.

Finalmente, em 2009 a Microsoft lançou uma nova versão do Windows denominada 7 (Seven) que conta com uma grande atualização na interface gráfica do usuário. Mas em 2006, a Microsoft já vinha estudando sobre a riqueza de interfaces gráfica e nessa época estava desenvolvendo um plug-in que seria conhecido como Windows Presentation Foundation.

O Windows Presentation Foundation é um subsistema gráfico do .NET Framework 3.0 que usa uma linguagem de marcação chamada XAML para o desenvolvimento de interfaces ricas.

Uma aplicação WPF pode ser implantada em ambiente Desktop ou hospedada em um site da web. Possibilita controles ricos, design, e desenvolvimento de aspectos visuais de programas do Windows. Se propõe a unificar um número de serviços de aplicações: interface com o usuário, desenhos 2D e 3D, documentos fixos e adaptáveis, tipografia avançada, gráficos vetoriais, gráficos Raster, animações, vinculação de dados, áudio e video.

Embora Windows Forms continue sendo largamente utilizado, e a Microsoft ter criado apenas algumas aplicações WPF, a companhia promove WPF para linha de aplicações comerciais.

Com o crescimento da internet e da quantidade de pessoas conectadas, a Microsoft lançou um subsistema WPF baseado na web que permite aplicações no estilo Flash e aplicações móveis com o mesmo modelo de programação .NET. Este subsistema ficou conhecido por Silverlight

Se você considerar as aplicações de desktop padrão, os aplicativos são instalados em máquinas individuais do cliente. Elas permitem uma interface de usuário muito rica e responsiva com vários recursos adicionais, como suporte off-line. O desempenho da aplicação depende da máquina na qual ele está instalado. Enquanto as aplicações desktop possuem uma experiência muito rica, eles têm um alcance muito pequeno. O aplicativo precisa ter uma base de código para cada plataforma de destino, e cada máquina precisa ter o aplicativo instalado e mantido. Em contrapartida, temos aplicações web que são programas HTML focados para ser executado dentro de um browser em diversas plataformas. Para o desenvolvedor que utiliza a tecnologia da Microsoft, este desenvolve com ASP.NET e web services para oferecer serviços através da Internet. O foco da maior parte da lógica é o código que foi colocado no servidor para o benefício do desempenho da aplicação. O preço tem sido uma interface pobre. Estas aplicações tinham alcance excelente, mas elas não eram muito ricas.

Para preencher este vazio, uma nova abordagem de desenvolvimento veio à tona, como apresentada na figura acima. Esta nova abordagem é chamada de RIA (Rich Internet Applications), que é definido como uma aplicação web que tem as características e funcionalidades encontradas em aplicações desktop tradicionais.

O RIA, preenche a lacuna entre aplicativos ricos e aplicativos de desempenho e alcance.

Benefícios do Silverlight

O Silverlight oferece os mesmos benefícios existentes nos demais componentes RIA´s, mas existem peculiaridades a parte como:

  • Suporte cross-platform/cross-browser.
  • Disponibilidade de uma versão cross-platform do framework .NET.
  • Linguagem de marcação baseada no XAML.
  • Utilização de tecnologias consagradas no mercado.
  • Silverlight é a plataforma principal de desenvolvimento para Windows Phone 7.
  • Implementação simples.

Suporte cross-platform/cross-browser.

Quando o ASP.NET foi lançado alguns anos atrás, um dos benefícios apregoados foi o suporte cross-browser. Os desenvolvedores precisariam ter apenas uma base de código e que a base de código poderia funcionar em todos os navegadores modernos. Para a maior parte, isso é verdade. Não importa qual navegador você está usando, a aplicação funcionará. No entanto, a fim de receber todos os benefícios oferecidss pelos controles do ASP.NET, você deve usar a versão mais recente do Internet Explorer. Se você estiver usando outro navegador, você poderá perceber diferenças no site, que podem conter menos recursos. Os controles de validação são um excelente exemplo. Se você estiver usando um navegador que o ASP.NET reconhece como um browser "upscale", você pode tirar vantagem da validação do lado do cliente. Se você estiver usando outro navegador, os controles de validação ainda funcionam, mas requerem um postback para o servidor para fazer a validação. Assim, embora o ASP.NET sendo cross-browser, os usuários podem ter experiências diferentes, dependendo de qual navegador eles estão usando. Com o Silverlight, isso muda. Microsoft está mais uma vez renovando o termo cross-browser e também acrescentando o termo multi-plataforma. Como um desenvolvedor, você pode criar uma aplicação Silverlight e ter certeza de que ele irá executar exatamente igual em todas as plataformas e navegadores suportados. Atualmente, duas plataformas são suportadas. Naturalmente, o primeiro é plataformas baseados no Windows, e a segunda sendo o Mac OS. Quanto ao suporte do navegador, o Internet Explorer, Firefox, Safari e Google Chrome são atualmente suportados. Isso deixa uma grande plataforma sem suporte: Linux. Embora a Microsoft não tenha planos para suportar ao Linux, outros o fazem. O Moonlight é uma implementação open source do Silverlight, destinada principalmente em sistemas operacionais baseados em Linux. Moonlight é parte do projeto Mono, uma iniciativa de código aberto para desenvolver e executar o cliente e servidor.NET em aplicações Linux, Solaris, Mac OS X, Windows e Unix. Embora o Moonlight traga características do Silverlight para Linux, o projeto está bastante aquém dos agressivos ciclos de novas versões liberadas pela Microsoft. A última versão do Moonlight é a versão 3 Preview 6, que chega perto de compatibilidade com o Silverlight 3.

Disponibilidade de uma versão cross-platform do framework .NET.

O Silverlight 1.0 foi lançado pela Microsoft, na metade de 2007, mas esta versão só possuía idiomas suportados pelo Ecma que são interpretados no cliente. Embora o Silverlight 1.0 funcione bem para os desenvolvedores que já estão familiarizados com o script do lado do cliente, muitos desenvolvedores têm os olhos na segunda versão do Silverlight, a versão 2. Silverlight 1.0 é mais ou menos em concorrência direta com flash alguns têm chamado de Microsoft "matador de Flash". No entanto, as coisas ficam mais emocionantes com o Silverlight 2. O Silverlight 2 contém além da sua versão multi-plataforma, uma versão própria do .NET Framework, o que significa sua própria versão do Common Language Runtime (CLR) que é um tipo de sistema completo, e um Framework .NET de programação que você pode usar no Visual Studio 2010 para criar ricas experiências para o usuário.

Linguagem de marcação baseada no XAML.

A Microsoft é muito boa em criar ferramentas que tornam o desenvolvimento de fácil aplicação. O ambiente de desenvolvimento integrado (IDE) Visual Studio, possui funcionalidades que são constantemente adicionadas à ferramenta e o ambiente tem permanecido notavelmente consistente. O desenvolvimento do Silverlight não é diferente. O núcleo de desenvolvimento de aplicativos Silverlight é o Visual Studio 2010, que é a versão mais recente na longa história do Visual Studio. Isso dá uma vantagem distinta ao Silverlight e assim, os desenvolvedores não precisam aprender a usar um novo ambiente de desenvolvimento. Além do Visual Studio, a Microsoft possui um conjunto de ferramentas conhecidas por Expression Studio. Estão inclusos neste pacote o Microsoft Expression Blend, que é usado para editar e criar aplicações XAML para Silverlight. O Expression Blend é completamente diferente do VS, mas ele ainda tem muitos dos mesmos elementos que o Visual Studio aplica. Além disso, o Expression Blend trabalha fora do mesmo projeto como o Visual Studio. Isto significa que você pode fazer as alterações em cada um dos editores, como abrir um projeto no Visual Studio, e depois abrir o mesmo projeto no Expression Blend para editar o XAML, os arquivos editados pedirão para serem atualizados quando estes forem utilizados nas outras ferramentas.

Runtime pequeno e simples implantação

O Silverlight requer que um runtime instalado na máquina do cliente, é fundamental para que em tempo de execução os downloads sejam feitos mais rápidos. A Microsoft trabalhou muito duro para obter o tamanho da instalação tão pequeno quanto possível. Os desenvolvedores claramente conseguiram com o Silverlight 1.0, conforme o tamanho do arquivo para download minúsculo de 1MB. Para o Silverlight 2 porém, eles tinham uma tarefa difícil pela frente já que o Silverlight 2 contém o seu próprio Framework .NET e uma biblioteca de objetos. O resultado final do arquivo Silverlight 2 é de aproximadamente 4 MB de tamanho. No Silverlight 4, mesmo com a grande quantidade de novos recursos que foram adicionados ao runtime do Silverlight, o tamanho do arquivo ainda é inferior a 6MB. Se o cliente não tem o arquivo para a execução do Silverlight apropriado instalado no seu navegador, ele irá exibir uma tela indicando que o usuário necessita instalar o arquivo do Silverlight para o seu navegador. Esse processo é feito apenas uma vez!



Colunista

Fabrizio Rodrigues

Graduado em Tecnologia, Análise e Desenvolvimento de Sistemas. Possui cursos Microsoft 2278/2192A, 4994A, 2956B, 2542A, 2543B, e 2544A. Trabalha com desenvolvimento de sistemas na linguagem C# e utiliza tecnologias como JavaScript, jQuery e SilverLight. Experiência em desenvolvimento de sistemas para governos na área da construção civil. Atualmente trabalha como Desenvolvedor WEB em um empresa na área de Segurança Digital Tributária.
© Copyright 2011 - Todos os direitos reservados. Proibida a reprodução parcial ou total do conteúdo deste site.
Como Funciona Formas de Pagamento Logo Ebit Compra Segura

TI 24x7 - O Maior portal de cursos online especializado em TI do Brasil