Rumo ao RIA

A história dos browsers nos conta uma reviravolta em direção a um cliente web mais rico. Aqui vão alguns passos que ocorreram depois da introdução do HTML e JavaScript:

· O IE 4.0 (1997) introduz o Dynamic HTML (DHTML), misturando HTML, style sheets e scripts que podem mudar a apresentação das páginas no browser. Vários outros browsers seguiram este mesmo rumo criando suas concepções de DHTML. Ao final, o W3C organizou a casa ao produzir tanto o DOM (Document Object Model) quanto o CSS, que permitem a mudança do comportamento visual dos elementos web através de uma API acessível por ECMAScript;

· O IE 5.0 introduz o XMLHttpRequest a partir de um COM, permitindo a chamada ECMAScript aos servidores sem mudança do conteúdo da página. Naquele tempo esta técnica foi chamada de Microsoft's Remote Scripting (MSRS) - hoje, pense em REST/Ajax. Em resposta ao IE 5.0, o Mozila copia e melhora a segurança deste mecanismo, incorporando o XMLHttpRequest como um objeto ECMAScript puro;

· Começam surgir técnicas que permitem simular o comportamento de classes em ECMAScript (ver https://blogs.msdn.com/ECMAScript/archive/2007/09/24/classes-in-ECMAScript-part-i.aspx ). Utilizando estas técnicas foram criados frameworks similares ao ScriptManager – frameworks escritos ECMAScript capazes de gerenciar e criar dinamicamente classes, métodos e propriedades;

· A partir de 2005 Yahoo! e outros começam a usar JSON (Java Script Object Notation) como formato para troca de dados. JSON usa a sintaxe do ECMAScript na serialização para a transferência de dados;

· Em 2005 o AJAX (Asynchronous JavaScript and XML) é proposto torna-se lugar comum.

Um duplo movimento, ao que parece:

· tornar o browser um cliente mais rico (programável e interativo por si mesmo);

· encontrar um canal para comunicação de dados e carga de código;

Como o ECMAScript não foi uma linguagem criada para este modelo de programação, podemos prever mudanças futuras para uma linguagem de mais alto nível.

O HTML (ou XHTML) também tem suas limitações. Como linguagem de markup ela não endereça questões essenciais ao RIA (Rich Internet Application), como interface vetorial, gráficos e animação.

Existem duas forças em campo. Por um lado, uma necessidade real (RIA) e empresas interessadas nesta oportunidade para alavancar produtos que dêem diferencial ao cliente final. Por outro, uma comunidade multi-plataforma requisitando uniformidade via padronização.

O mais provável será uma adoção parcial de novos modelos (como o Silverlight 1.1) e o concomitante esforço de padronização.

Enquanto isto não ocorre, a arquitetura SmartClient ainda pode ser uma boa solução.