Marcelo's profileExpressions (Inativo)BlogListsGuestbookMore ![]() | Help |
|
April 28 Perguntas e Respostas Sobre Silverlight 2
1 - O que é o Silverlight? O Silverlight é uma tecnologia que permite a criação de experiências ricas, com alta interatividade e conteúdo multimídia na Internet. Com o Silverlight é possível criar interfaces de forte apelo visual, conectadas a transações e bases de dados complexas, criando uma categoria totalmente nova de aplicações. Isso é possível porque o Silverlight é baseado na plataforma .NET da Microsoft, e as aplicações são criadas com duas ferramentas poderosas: o Expression Studio, para a criação dos elementos gráficos, e o Visual Studio, para a criação da parte transacional, regras de negócio e acesso a dados. As aplicações Silverlight são multi-plataforma e multi-browser, rodando em Internet Explorer, Firefox e Safari, e nos sistemas operacionais Windows e Mac OS X. O projeto Moonlight (independente da Microsoft) permite que aplicações Silverlight também rodem em Linux. 2 - Quais são as principais diferenças no uso do Flash e do Silverlight? Existe uma sobreposição grande de funcionalidades entre o Flash e o Silverlight, especialmente no tocante à criação de interfaces de usuário. A comparação correta seria entre Microsoft Silverlight e a combinação de Adobe Flash + Adobe Flex. Eu diria que a grande diferença não está no resultado final, mas no processo de criação. O Flex foi criado para dar ao Flash, um plataforma criada originalmente apenas para a criação de interfaces, capacidades de acesso a transações complexas. A Adobe procurou oferecer um front-end onde fosse possível a criação de formulários e o consumo de Web Services para acessar transações. Essas transações podem ser feitas em qualquer tecnologia, inclusive .NET, mas o caminho de desenvolvimento do Flex, baseado na ferramenta de desenvolvimento Eclipse, leva para uma integração mais forte com tecnologias não Microsoft, como Java, Rails e outras tecnologias "LAMP" (Linux + Apache + MySQL + PHP). O Silverlight tem uma origem, e portanto uma afinidade no caminho oposto: apesar de ser possível criar front-ends em Silverlight para tecnologias LAMP, o modelo ideal é o uso do Silverlight integrado ao .NET. Isso por si só já garante uma maior produtividade, pois o ambiente de desenvolvimento é integrado do design à implantação no servidor, passando por desenho de bancos de dados, programação e testes. Além disso, o Silverlight suporta linguagens de script que antes eram associadas ao LAMP, como Python e Ruby. 3 - Quais são as vantagens na utilização do Silverlight? A principal vantagem é o uso da tecnologia XAML - Extensible Application Markup Language. O XAML oferece uma maneira declarativa, como a do HTML, para a descrição dos elementos de interface, incluindo primitivas gráficas, campos de formulário, elementos de layout inteligente, imagens, vetores, 3D, animações, áudio e vídeo. O poder do XAML reside no fato de que todos os elementos descritos em XAML têm equivalentes nas linguagens de programação suportadas pelo ambiente (C#, Visual Basic, VBScript, JavaScript, IronRuby e IronPython. Propriedades, eventos e métodos podem ser manipulados e mesmo criados por código, a partir de transações, regras de negócio ou campos de bancos de dados. Isso permite, por exemplo, que a cor ou o tamanho de um objeto vetorial (como um gráfico de barras, por exemplo) possa ser associado facilmente a uma informação de negócios. Apesar de isso ser possível em Flash/Flex, a produtividade do desenvolvimento em Silverlight/.NET é muito superior. Além disso, o modelo de programação .NET permite que o desenvolvedor consuma transações e dados de todos os servidores Microsoft diretamente, incluindo SharePoint, BizTalk, SQL Server, Dynamics CRM e Communications Server, entre outros. 4 - Quando devemos recomendar o uso de Silverlight? Em princípio, qualquer projeto que exija alta interatividade e execução dentro do browser podem ser desenvolvidos com Silverlight. Isso inclui a maioria dos cenários hoje desenvolvidos em AJAX (Asynchronous JavaScript and XML) e Flash/Flex. A linha de decisão entre AJAX, Flash ou Silverlight hoje passa pelos seguintes fatores:
5 - Existe um perfil de projeto ideal para utilização do Silverlight? Alguns cenários são bastante adequados ao uso do Silverlight:
Aqui vale notar a questão de facilidade de desenvolvimento do Silverlight x Flash. Hoje praticamente nenhuma aplicação do tipo das mencionadas acima é desenvolvida em Flash, simplesmente porque não é economicamente viável. 6 - Que tipo de conhecimento um profissional precisa ter para trabalhar com Silverlight? Existem dois perfis de profissionais que tocam o Silverlight, o desenvolvedor e o designer. O desenvolvedor pode reaproveitar seus conhecimentos em .NET ou em qualquer uma das linguagens suportadas em Silverlight, e usar o Visual Studio 2008 como ferramenta de programação. O designer pode reaproveitar seus conhecimentos em Photoshop e Flash, pois as ferramentas do Expression Studio são facilmente dominadas por profissionais que já conheçam as ferramentas da Adobe. A maioria dos conceitos de design, usabilidade, interatividade e animação são universais, independente da ferramenta. Existe um conhecimento que deve ser compartilhado entre o designer e o programador, que são os princípio pelos quais o XAML funciona. Quanto mais o desenvolvedor e o designer entenderem a "mágica" do XAML, mais poderosas serão suas aplicações. 7 - Quais os recursos de aprendizado para quem deseja se aprofundar no assunto? Hoje a melhor maneira de se aprender Silverlight é online. A Microsoft tem uma série de tutoriais e hands-on labs que valem à pena ser feitos tanto por desenvolvedores quanto por designers. É importante que ambos compartilhem essa base comum de conhecimento, mesmo que design pareça assustador para um desenvolvedor e um designer seja avesso a colocar a mão em código. Aqui vale o mesmo que vale para HTML. Os melhores desenvolvedores e designers de páginas Web são os que conhecem coisas que tocam aos dois universos, como HTML bem formado, CSS e JavaScript. Sendo assim, conhecer um pouco de Expression Blend é fundamental para o desenvolvedor Silverlight, e o designer Silverlight se beneficiará bastande de um pouco de conhecimento de uma linguagem como C#. Outra comparação interessante é com Flash, onde bons designrs conhecem o básico de ActionScript, e os bons desenvolvedores sabem o básico do ambiente de desenho e animação. O ideal é desenvolvedores e designers aprenderem esses recursos em conjunto, com cada um ajudando o outro quando necessário. Isso ajudará as duplas designer/desenvolvedor a criar seu fluxo de trabalho ideal. Os recursos básicos para aprendizado do Silverlight 2.0 são: Conteúdo em português da MSDN Brasil:
Conteúdo em inglês:
8 - Quais são os melhores exemplos de aplicações Silverlight disponíveis?
Uma demonstração de como usar diversos controles de entrada de dados em Silverlight. O código-fonte pode ser baixado de: http://silverlight.net/Samples/2b1/SilverlightControls/SilverlightControls.zip. Mais aplicações com código-fonte podem ser baixadas de http://silverlight.net/community/gallerydetail.aspx?cat=5, e você pode encontrar diversos exemplos de aplicações Silverlight em: http://silverlight.net/Showcase/. |
|
|