Vantagens escondidas do AJAX/Atlas
Em artigo anterior, já manifestei a opinião que simpatizo com a criação de interfaces com usuário baseadas
AJAX quer dizer Asyncronous JavaScript and XML. A idéia principal do AJAX é permitir que uma página Web se comunique com o servidor sem recarregar a página inteira, facilitando assim a criação de interfaces com o usuário mais “espertas”. No entanto, acho que o AJAX acabará trazendo outros benefícios além dessa capacidade de atualizações assíncronas das páginas.
A biblioteca ASP.NET do .NET Framework tem um modelo de trabalho bem interessante: os componentes, e não o seu aplicativo, são responsáveis por tratar a entrada, manter estado e gerar saída. Os componentes podem gerar qualquer tipo de saída, tanto HTML como JavaScript, com ou sem chamadas “AJAX”.
Apesar de ser um modelo de trabalho muito interessante, esse tipo de componente, também chamado de “Server Control” na documentação do Visual Studio, é particularmente difícil de escrever. Isso é especialmente verdade se for desejada uma boa integração com o Visual Studio em tempo de desenvolvimento. Por causa disso e talvez também por inércia, a adoção desse tipo de componente é relativamente lenta. Ainda vejo muita gente usando apenas os componentes padrões do Visual Studio, que são meio limitados.
Já há algum tempo, a Microsoft anunciou suporte à AJAX, inicialmente através de algumas extensões de última hora ao ASP.NET 2.0. Esse suporte é meio chato de utilizar, mas pelo menos a Microsoft pode dizer que o ASP.NET 2.0 suporta AJAX.
A onda em torno do AJAX trouxe um novo interesse aos “Server Controls”, a princípio para aproveitar as vantagens do AJAX, mas também para estender o conjunto de componentes original do Visual Studio de maneira geral.
Esse interesse é evidente tanto dentro como fora da Microsoft. Em
E o que fazem esses componentes? Alguns deles efetivamente chamam o servidor sem atualizar a página toda, no bom estilo AJAX, como por exemplo, um componente que aglutina vários “Comboboxes” em cascata, por exemplo, para o usuário selecionar o país e a seguir aparecer a lista de estados desse mesmo país.
Evidentemente é necessário chamar o servidor para pegar a lista de estados do país selecionado no primeiro ComboBox. No entanto, vários desses componentes como o TextBox Watermark ou o ConfirmButtonExtender são simplesmente controles com script no cliente, sem chamar nada no servidor. Ou seja, o AJAX está trazendo um grande interesse à criação de componentes que usam script de cliente, quer esses componentes chamem ou não o servidor.
Do lado de fora da Microsoft, também evidente o interesse por parte dos criadores de componentes