Esse artigo faz parte da revista WebMobile edição 09. Clique aqui para ler todos os artigos desta edição

Capa_WM09_M.gif

Clique aqui para ler este artigo em PDFimagem_pdf.jpgser do cliente, deixando todo o processamento no servidor. O ASP.NET 2.0 trouxe diversos novos recursos que possibilitam a criação de aplicações muito mais inteligentes e ricas, com novos controles, recursos etc (veja maiores detalhes na edição 8 da WebMobile)

Mesmo falando de todas essas evoluções, o conceito de aplicações web continua o mesmo, o cliente envia os dados para o servidor Web, que processa e retorna esses dados no formato HTML. Com isso, a técnica utilizada geralmente são round-trips (posts) enviados ao servidor com o intuito de enviar ou recuperar informações para exibição ao usuário. Esse processo de envio/recuperação de dados causa uma atualização da página, comumente chamado “refresh”, que em determinadas situações causa um desconforto ao usuário, que dependendo da conexão que está sendo utilizada pode até inviabilizar a aplicação. Pelo fato das aplicações web serem stateless (após a carga da pagina a conexão com o servidor é finalizada), a cada requisição solicitada pelo usuário ao servidor, toda a página é re-criada mesmo que não tenha havido alterações de layout, somente de dados, gerando um grande fluxo de rede e uma grande demora no processamento das informações

O projeto ATLAS, da Microsoft, visa eliminar essas atualizações de páginas, evoluindo um conceito que hoje em dia já é muito conhecido, o AJAX.

Conhecendo o Ajax

O Ajax (Asynchronous JavaScript and XML) tem se mostrado muito útil em grande parte das aplicações web desenvolvidas atualmente. Essa forma de desenvolvimento trabalha sob um conceito muito simples: blocos de códigos escritos em JavaScripts que fazem chamadas para aplicações web utilizando um protocolo baseado em XML nomeado XMLHTTP.

Esse protocolo, presente na maioria dos browsers atuais, permite ao desenvolver fazer chamadas assíncronas a um servidor web através de funções JavaScripts. O servidor “empacota” o conjunto de informações que devem ser trafegadas e envia através do protocolo XMLHTTP. Dessa forma, os dados trafegados são somente o que foi requisitado, eliminando as atualizações (refresh) de páginas, aumentando a performance das aplicações, e novamente, satisfazendo as necessidades do usuário da aplicação.

Basicamente, o Ajax utiliza continuamente bibliotecas JavaScripts que fazem todo o trabalho de requisição remota aos serviços web agilizando a operação do usuário junto à aplicação web. Mesmo com todo esse poder, o Ajax se tornou muito complexo de ser implementado, já que envolve grande conhecimento de linguagens scripts, como o próprio JavaScript (parte dessa dificuldade foi solucionada recentemente com o uso do DWR – ler artigo Simplificando o AJAX nesta edição).

Existem ainda outros problemas na implementação do Ajax que dificultam sua utilização. Como exemplo, podemos citar que o JavaScript:

·         Não implementa conceitos de orientação a objetos;

·         Não é possível utilizar recursos do .NET FrameWork como: gerenciamento de exceções, tratamento de erros etc;

·         Não implementa por padrão um gerenciamento de eventos, como acontece (por exemplo) no C# ou VB.NET.

 

Apesar do poder dessa tecnologia, poderíamos numerar diversos outros problemas que temos com implementações Ajax no quesito desenvolvimento, produtividade, curva de aprendizado e outros. Com objetivo de solucionar esses problemas, a Microsoft criou o Atlas, que encapsulando as funcionalidades do Ajax, gera ganhos extraordinários para o desenvolvimento de aplicativos para web além de acrescentar diversas outras funcionalidades relacionadas ao .NET FrameWork e recursos para o desenvolvimento de aplicativos.

Conhecendo o Atlas

A tecnologia Atlas é totalmente integrada ao Visual Studio 2005 ou Visual Web Developer Express, e é claro, suportada pelo ASP.NET 2.0 juntamente ao .NET Framework 2.0 Alguns recursos extras que ela disponibiliza são:

·         Desenvolvimento orientado a objetos com JavaScript. As funcionalidades do JavaScript agora se estendem suportando os conceitos de POO como: herança, polimorfismo, interface, overload etc;

·         Inclusão de bibliotecas prontas. Muitas funcionalidades implementadas de forma complexa já fazem parte do “pacote” Atlas como: auto-complete, drag and drop, popups, comportamento do mouse etc;

...

Quer ler esse conteúdo completo? Tenha acesso completo