Ajax e RIA – Radar do mercado

O instituto Gartner atualizou recentemente seu relatório “MarketScope for Ajax Technologies and RIA Platforms”. Aproveito para apresentar o resumo dessas tendências e alguns diagramas explicativos e estatísticas sobre Ajax e RIA.

Introdução

A técnica de interação e troca de dados assíncrona entre o cliente e o servidor web, identificada pelo acrônimo Ajax — Asynchronous Javascript And XML –, termo introduzido pela Adaptive Path em 2005, se populariza cada vez mais nas aplicações web e tem contribuído significativamente para melhorar a interatividade e experiência do usuário, oferecendo respostas imediatas à interação do usuário.

Vão se multiplicando as alternativas de bibliotecas e frameworks para desenvolvimento de aplicações web com suporte a Ajax, visando tornar o uso da técnica mais fácil, organizado e produtivo na construção de aplicações, de forma cada vez mais transparente, integrada e sistematizada.

Também têm se popularizado o uso de plataformas tecnológicas para web visando RIA — Rich Internet Applications –, termo introduzido pela Macromedia (Adobe) em 2002, que significa uma interface com usuário web mais rica — em componentes e comportamentos — e responsiva (resposta imediata, sensível ao contexto), similar a aplicações desktop.

As plataformas RIA podem ter como base um runtime específico, incorporado ao navegador web cliente através de plug-ins, ou se beneficiar do avanço da sofisticação das técnicas e componentes nativos baseados em Ajax.

O diagrama de blocos a seguir correlaciona esquematicamente RIA, Ajax e DHTML.

[photopress:RIA_AJAX_DHTML.png,full,centered]
Créditos: Márcio d’Ávila, 2008-2011.

RIA

Enquanto as aplicações gráficas Cliente/Servidor trouxeram riqueza à experiência de usuário que não havia no ambiente mainframe, plataformas RIA fazem o mesmo em relação às aplicações web primitivas.

[photopress:RIA_IU.png,full,centered]
Créditos: Uday M. Shankar, Adobe Flex – an introduction, mar/2008 (em Slideshare).

Segundo estatísticas do site Stat Owl, levando em consideração os diversos sistemas operacionais e navegadores web existentes, em setembro de 2008 o suporte runtime instalado para Adobe Flash já era 97,48% (verdadeiro padrão de facto), Java 81,37% e Microsoft Silverlight apenas 17,64%. Em abril de 2011, estas mesmas plataformas evoluiram para percentuais de penetração 95,65%, 77,31% e 63,92% respectivamente.

Percebe-se, portanto, uma notável expansão do suporte à tecnologia RIA da Microsoft no período medido, enquanto o pequeno decréscimo de Flash pode ser explicado pela ausência de suporte ainda existente em alguns ambientes operacionais de dispositivos móveis que vem se popularizando, como Apple iOS (iPhone e iPad).

[photopress:Suporte_RIA.png,full,centered]
Fonte: Stat Owl, Rich Internet Application Market Share – RIA Market Penetration and Global Usage comparing Adobe Flash, Microsoft SilverLight and Java, set/2008 a abr/2011.

2009

Em 2009, o mercado ainda estava incipiente e muitos produtos foram considerados pelo Gartner em tecnologias Ajax e plataformas RIA, dez deles classificados com tendência positiva ou muito positiva.

Forte
Negativo
Cuidado Promissor Positivo Forte
Positivo
Adobe Plataforma Flash RIA ($/L)
Backbase Ajax framework Ajax ($)
DevExpress para .NET RIA ($)
Dojo Ajax toolkit Ajax (L)
Ext JS JavaScript, Ext GWT Ajax ($/L)
Google GWT Java, Closure Ajax (L)
IBM Ajax, Lotus Expeditor Ajax/RIA ($/L)
ICEsoft ICEfaces JSF Ajax (L/$)
Infragistics para .NET Ajax ($)
Isomorphic Soft SmartCli, GWT Ajax/RIA (L/$)
JackBe Ajax framework Ajax ($)
jQuery JavaScript Ajax Ajax (L)
Magic Software uniPaaS RIA ($)
MB Tech Bindows Ajax ($)
Microsoft Silverlight, WPF RIA ($)
Nexaweb E.Web Suite Ajax/RIA ($)
Oracle ASF Faces JSF Ajax ($)
Prototype/
script.aculo.us
JavaScript Ajax (L)
Sun Microsystems JavaFX RIA (L/$)
Telerik para .NET Ajax ($)
Tibco Software GI Ajax (L)
Yahoo YUI toolkit Ajax (L)

Fonte: MarketScope for Ajax Technologies and RIA Platforms, Gartner, por Ray Valdes e outros, 2009-12-31, reproduzido por Adobe (PDF).

2011

Atualizando a pesquisa em 2011, o mercado ainda se mostra em evolução, com oito produtos apontados como tendência positiva ou muito positiva.

Comparando com 2009, Adobe Flash e Microsoft Silverlight tiveram sua tendência refreada (Positivo), enquanto a versátil biblioteca livre JavaScript jQuery obteve maior evidêcia (Muito Positivo).

Saíram da lista Magic Software uniPaaS e MB Tech Bindows; Ext JS se tornou Sencha, enquanto Sun foi incorporada à Oracle; e entram agora Canoo Engineering RIA Suite (UltraLightClient framework baseado em Java EE) e Vaadin (framework RIA Java baseado em GWT widgets e extensa coleção de componentes UI).

Forte
Negativo
Cuidado Promissor Positivo Forte
Positivo
Adobe ⇓ Plataforma Flash RIA ($/L)
Backbase ⇓ Portal Ajax ($)
Canoo Engineering UltraLightClient RIA ($)
DevExpress para .NET RIA ($)
Dojo Ajax toolkit Ajax (L)
Google GWT Java, Closure Ajax (L)
IBM Ajax, Lotus Expeditor Ajax/RIA ($/L)
ICEsoft ICEfaces JSF Ajax (L/$)
Infragistics para .NET Ajax ($)
Isomorphic Soft SmartClient, GWT Ajax/RIA (L/$)
jQuery jQuery JS lib Ajax (L)
Microsoft ⇓ Silverlight, WPF RIA ($)
Oracle ASF Faces JSF, JavaFX Ajax/RIA (L/$)
Prototype/
script.aculo.us
JavaScript Ajax (L)
Sencha Ext JS, Ext GWT Ajax ($/L)
Telerik ASP.NET Ajax Ajax ($)
Tibco Software General Interface Ajax (L)
Vaadin Vaadin RIA RIA (L)
Yahoo YUI Library Ajax (L)

Fonte: MarketScope for Ajax Technologies and RIA Platforms, Gartner, por Ray Valdes e outros, 2011-03-31, reproduzido por Microsoft.

Conclusão

Tecnologias RIA e Ajax têm se tornado cada vez mais difundidas e maduras.

Podemos inferir, pela evolução do Gartner MarketScope, que plataformas RIA com componentes ricos nativos (Ajax e DHTML) — boa parte delas baseadas em frameworks livres e Java server/EE) — tem ganhado força, em detrimento daquelas baseadas em runtime próprio.

É provável que o emergente padrão HTML 5, quando se estabelecer, reforce ainda mais esse movimento.

Para saber mais:

Aplicações Internet Ricas e Acessíveis

Há pouco tempo ouvi de um programador web que ele estava em um dilema quando foi demandado a construir uma aplicação com facilidades de usabilidade e, ao mesmo tempo, acessível a deficientes visuais.

Para o objetivo da boa usabilidade, o programador introduziu recursos baseados em Ajax de forma a tornar a interface mais dinâmica e interativa. Bibliotecas Javascript como Scriptaculous, Prototype e jQuery, e componentes de frameworks em Java, ASP.NET e PHP oferecem amplo uso de Ajax.

A técnica de Ajax é uma das principais engrenagens para RIA (Rich Internet Applications), as Aplicações Internet Ricas. Consiste basicamente em programar eventos Javascript na página web que disparam requisições HTTP assíncronas, que por sua vez retornam dados (em formato XML, JSON etc.) para atualizar dinamicamente a página (via seu modelo de objetos — o DOM). Isso oferece ao usuário respostas imediatas e sensíveis ao contexto da sua interação. Em suma, mais interatividade.

Mas ao utilizar Javascript modificando dinamicamente a interface e o conteúdo das páginas web, parte da aplicação ficou inacessível a pessoas com deficiência, principalmente aqueles que necessitam de um leitor de tela e os que não conseguem utilizar mouse.

O dilema então é: Usabilidade × acessibilidade podem conviver harmonicamente?

Um padrão emergente do W3C, Consórcio de Padronização da Web, visa trazer um solução para isto. É o Accessible Rich Internet Applications (WAI-ARIA), RIA Acessível. Atualmente o padrão está em versão preliminar (public working draft) WAI-ARIA 1.0 de 15 de dezembro de 2009.

O navegador Mozilla Firefox 3 provê suporte quase total a WAI-ARIA — as versões 1.5 e 2 já ofereciam algum suporte. Outros navegadores que oferecem suporte parcial ou planejam incluir suporte a WAI-ARIA incluem Internet Explorer 8, Opera e Apple Safari (Web Kit).

Para saber mais: