segunda-feira, 14 de julho de 2008

Interfaces Ricas

RIA é uma sigla muito discutida recentemente. Vem de Rich Interfaace Applications. Ou Aplicações com Interfaces Ricas. O termo aplica-se, basicamente, a aplicações para Internet, já que (em teoria) aplicações desktop já possuem Interfaces Ricas (ou deveriam possuir).

Recentemente estive em contato com algumas tecnologias que prometem realizar os sonhos de muitos programadores web. Adianto que nenhuma é perfeita. Todas têm pontos positivos e negativos. E cada uma pode ser melhor em determinada situação.

Nos últimos meses pesquisei e testei Ajax, Silverlight e Flex.

Ajax resume-se, basicamente na utilização de XML e javascript trabalhando em conjunto para permitir posts assíncronos. Utilizei duas bibliotecas: AjaxToolkit, da Microsoft, em conjunto com Visual Studio (C#) e ICEFaces, da ICESoft, em conjunto com o Eclipse (Java). A solução da Microsoft exige bastante codificação javascript. A solução Java possui mais componentes e esconde um pouco do javascript neles, mas é de difícil configuração.

Silverlight, da Microsoft, permite a criação de Interfaces bastante ricas. Uma grande vantagem é que o programador .NET não precisa aprender outra linguagem. A página, apesar de não ser em ASP.NET, é em XAML (que é quase um XML). a parte servidora pode ser em qualquer linguagem do Framework .NET (C# ou VB.NET, por exemplo). Mas o SL peca por não possuir muitos componentes disponíveis. Além de não ser multiplataforma. Fanáticos por Microsoft poderiam dizerq ue o Silverlight é multiplaforma: "roda no Vista, no XP, noServer 2008, no Server 2003". Pra mim é pouco. O Silverlight já está lançando a versão 2.0 e ainda não tem plugin para o Firefox rodando no Linux? Pra mim é pouco! Silverlight pode ser ideal para aplicações 100% ambiente Windows. Se precisar de um pouco de portabilidade, melhor procurar outra opção.

Flex, da Adobe, constrói interfaces ricas através de aplicações Flash. O framework já traz muitos componentes e efeitos fáceis de utilizar em uma aplicação web. Apesar do Flex utilizar ActionScript, uma linguagem que eu não conhecia, achei muito fácil trabalhar com ele. Uma grande dificuldade que tive até agora foi encontrar uma forma de gerar, visualizar e imprimir relatórios.