A interatividade da interface de um aplicativo web é constantemente comparada com a dos aplicativos desktop, onde o desenvolvedor de sistemas pode elaborar interfaces complexas que suprem a expectativa do usuário com facilidade de implementação. Entretanto, existem as desvantagens da necessidade de instalação no computador do usuário e das atualizações sazonais para manter o produto fiel ao seu propósito. Por utilizar como elemento principal de interface a linguagem HTML, o software web apenas necessita de um navegador de páginas HTML (browser). Todavia, existe a desvantagem de que esta linguagem não foi originalmente concebida para concorrer com um software desktop, apresentando limitações de interatividade. Por conta disso, novas tecnologias surgem com o intuito de melhorar a interatividade das interfaces web.
Inicialmente, as tentativas de expansão do modelo síncrono de pedido e resposta das aplicações web passaram pelas tecnologias conhecidas como iframes e Java applets. Estas não se mostraram suficientes para trazer a interatividade desejada e novas tecnologias tiveram de ser criadas. Hoje, experimentamos o que está sendo comercialmente chamado de “Web 2.0”, ou seja, a web como plataforma de serviços e com a colaboração do usuário. Essa nova web baseia-se essencialmente num modelo assíncrono de pedido e resposta, o que a traz mais próxima da interatividade das interfaces desktop.
As novas tecnologias de interface web formam um conjunto chamado de Rich Internet Application (RIA), e concentram-se essencialmente na camada de apresentação, oferecendo suporte para comunicação com a camada imediatamente inferior (a camada de negócio). Nesse ínterim, destacam-se as seguintes tecnologias: AJAX, Flash, Silverlight, Flex e JavaFX.
AJAX (Asynchronous Javascript And XML) está mais próximo de um conceito do que uma tecnologia em si. Ele propõe uma forma de trazer mais interatividade com o usuário através de controles de interface já existentes na linguagem HTML. Suas principais características são a comunicação assíncrona entre a interface cliente e o servidor de aplicações e o fluxo de processamento, baseado nos dados trafegados na rede. Ele usa a linguagem Javascript para apoiar a codificação da interface, através do objeto XMLHTTPRequest (padronizado pela W3C para estar presente nos browsers) ou do controle ActiveX MSXML (se estivermos tratando dos browsers Microsoft Internet Explorer 5 e 6). Toda informação trocada entre as camadas de interface e negócio é feita através da XML. A desvantagem do AJAX está na baixa produtividade de codificação, o que está sendo minimizado com o aparecimento de API's e frameworks com suporte a essa tecnologia.
Flash é uma tecnologia desenvolvida pela empresa americana Macromedia, recentemente adquirida pela também americana Adobe. Ele destaca-se principalmente pela sua capacidade gráfica para melhorar a interatividade dos controles de interface com o usuário. Para codificar, faz-se uso da linguagem Actionscript (versões 1.0 e 2.0) em conjunto com os controles de interface. Entretanto, com essa tecnologia a comunicação com a camada de negócios é feita através da troca síncrona de mensagens entre a interface cliente e o servidor de aplicações. Outra desvantagem é que o usuário precisa ter instalado em seu browser um plug-in para conseguir executar a interface.
Lançado para concorrer com o Flash, o Silverlight foi anunciado recentemente pela empresa americana Microsoft. Integrante do Windows Presentation Foundation (WPF) – a API gráfica do sistema operacional Windows Vista – ele ainda é uma versão beta e está sendo avaliado pela comunidade de desenvolvedores. É focado basicamente em transmissão multimídia e pode utilizar diversas linguagens de apoio à codificação como .NET e Javascript.
Para resolver alguns dos problemas encontrados no Flash, a Adobe lançou há pouco tempo uma outra tecnologia: Flex. Ela traz a linguagem MXML como um dos seus pilares de apoio, similar a HTML e baseado na XML, além da linguagem Actionscript 3.0, uma implementação baseada no padrão ECMA Script, orientada a objetos, e com API's para desenho, comunicação, manipulação de gráficos e multimídia. O código gerado pela tecnologia Flex é compilado em formato SWF e interpretado em qualquer browser que já possua o plug-in Flash Player instalado.
Por fim, para não ficar atrás na concorrência das tecnologias RIA, a empresa americana Sun lançou a JavaFX. Ainda em sua versão beta, ela subdivide-se em JavaFX Script, similar ao Flex e baseada na linguagem Java, e JavaFX Mobile, voltada para dispositivos móveis e similar à API gráfica Swing da própria plataforma Java. O código implementado em JavaFX é compilado em bytecodes Java e interpretado em qualquer Java Virtual Machine (JVM). Por ser baseada na plataforma Java, essa tecnologia compatibiliza-se com diversos equipamentos hoje no mercado que possuem internamente suporte ao Java.
As tentativas de melhoria na interatividade das interfaces web esbarram nas limitações dos browsers, e por isso é necessário ampliar as funcionalidades dos mesmos adicionando elementos extras para dar suporte às tecnologias que surgem. Os benefícios para a interatividade do usuário com o sistema podem ser muito maiores com o uso destas tecnologias e num futuro próximo teremos interfaces mais ricas e mais próximas do que conseguimos realizar no ambiente desktop.