Matéria de Capa

 



Laszlo
Desenvolvendo Aplicações com Recursos Poderosos na Web 

Qual seria a expressão de um usuário, ao tentar realizar um cadastro no seu site e se deparar com uma tela com vários recursos que antes eram vistos apenas em aplicações desktop? Isso pode ser alcançado, aplicando-se o conceito do desenvolvimento RIA (Rich Internet Application) com, por exemplo, a utilização do Laszlo, uma nova tecnologia para desenvolvimento de aplicações Web, que permite clientes em browsers muito mais ricos em detalhes e recursos.

Antes de cairmos de pára-quedas nesta nova metodologia de Desenvolvimento com Laszlo, precisamos entender e conhecer o que significa RIA, sigla para Rich Internet Application (Aplicações “Ricas” para Internet). RIA proporciona maior agilidade e interatividade do usuário com a aplicação reduzindo algumas etapas de navegação e levando ao objetivo final mais rapidamente, tornando a aplicação mais eficaz. Neste artigo, apresentaremos Laszlo, um framework totalmente focado no desenvolvimento de Aplicações “Ricas” para Internet e como fazer a integração com frameworks Java MVC.

O RIA, no caso do Laszlo, se traduz na utilização do Flash que permite vantagens importantes na interação com o usuário, especialmente em marketing e vendas, pois permite interação mais eficaz com o usuário do que o HTML, DHTML ou JavaScript.

RIA não é sinônimo de Flash, mas é ele quem domina esse segmento. Podemos citar concorrentes diretos do Flash para o desenvolvimento RIA, tais como Java/Applets que passaram a perder espaço quando o plug-in do Java parou de vir embarcado no MS Windows. Também podemos citar as aplicações baseadas em XUL (XML User Interface Language), contudo, essas só funcionam nos navegadores Mozilla e Mozilla Firefox. Já o Flash pode rodar em qualquer navegador através de um pequeno plug-in sem nenhum tipo de restrição ou alteração de comportamento.


Sobre o Laszlo

O Laszlo é um framework focado totalmente na camada de Apresentação – o V da sigla MVC (Model-View-Controller) – assim como o JSF (Java Server Faces), seus objetivos se cruzam quase que totalmente, a não ser pelo fato do Laszlo ter o objetivo concentrado e unicamente direcionado à camada de apresentação, diferente do JSF que pretende abranger não só a apresentação, mas também a parte do Controller do MVC.

O Laszlo foi criado inicialmente de forma totalmente comercial e não possuía uma versão gratuita ou de código aberto. Há algum tempo atrás, a Laszlo Systems (http://www.laszlosystems.com) recebeu um capital de incentivo e criou o projeto OpenLaszlo (http://www.openlaszlo.org), que consiste em uma versão Open Source e gratuita do Laszlo distribuída sob licença Common Public License 1.0 (http://opensource.org/licenses/cpl.php). O OpenLaszlo se encontra na versão 3.0.2.

A partir da versão 3.0, o desenvolvimento com Laszlo passou a ter duas vertentes principais (figura 1). Uma é o desenvolvimento chamado de SOLO (Standalone OpenLaszlo Output), que permite desenvolver com Laszlo para qualquer tipo de Servidor Web fazendo esta integração através de XML ou http (essa arquitetura reduz os custos no servidor e simplifica o desenvolvimento), e a outra, chamada de J2EE Server, que é o desenvolvimento de Aplicações Web Java utilizando o Laszlo como camada de Apresentação.

Figura 1. Arquitetura do Laszlo.


O Laszlo usa como Linguagem o até então novo LZX, que permite a utilização de TAGs XML em conjunto com APIs JavaScript. É com essa união que os arquivos SWF (Flash) são gerados e compilados. O LZX permite criar, de uma forma muito parecida com XML, Códigos Estruturados, Elementos de Visualização como Canvas, Animações e Layouts, Eventos, Marcação de HTML, uso de Multimídia, Scripts, Acesso a Dados e criação de Classes e Bibliotecas Genéricas, dentre muitos outros.

Um forte concorrente do Laszlo é o Macromedia Flex, que não usa a LZX como linguagem de desenvolvimento, mas sim uma proprietária, chamada de MXML (Macromedia Flex Makup Language) que é muito parecida com a LZX. O Flex provalvemente terá uma maior aceitação entre os já desenvolvedores Web que têm experiência com Flash, já o Laszlo, ataca com mais propriedade os desenvolvedores de sistemas Web, principalmente em Java, pois provê uma arquitetura mais robusta e adaptável.

Preparando o Ambiente

de Desenvolvimento Laszlo, começaremos com a instalação da IDE, passando pela Instalação do Laszlo e de um plug-in auxiliar. Para começar nossos trabalhos, podemos utilizar qualquer editor ou IDE desde que tenhamos em mãos o JDK (http://www.java.sun.com) e Laszlo SDK (http://www.openlaszlo.org). Neste artigo, utilizaremos o Eclipse (http://www.eclipse.org) como IDE e um plug-in especializado no Laszlo, o LaszloIDE.

A versão do Eclipse utilizada é a 3.1, última versão estável com Java 5 (JDK 1.5). O pré-requisito para usarmos o LaszloIDE é a presença do plug-in Web Tools (http://www.eclise.org/webtools), versão 0.7, última versão disponível e compatível com o Eclipse 3.1. No site do Projeto Web Tools, existe uma versão do Eclipse com o WTP instalado, pronta para uso, que é a que utilizaremos.

O download do pacote wtp-all-in-one-0.7-[PLATAFORMA]* pode ser feito em http://www.eclipse.org/webtools.

* Na página do download deverá ser escolhido o Sistema Operacional.

Se você já possui o Eclipse, versão 3.1 instalada e não quiser copiar este pacote completo, basta instalar os seguintes plug-ins: EMF-SDO-XSD-2.1.0, GEF-SDK-3.1 e JEM-SDK-1.1 e em seguida o Runtime do plug-in WTP.

Este pacote disponibilizado no site do WTP segue os mesmos passos de instalação que o Eclipse, a diferença é que com o wtp-all-in-one vários plug-ins já estão configurados para o funcionamento do WTP. Basta descompactar o pacote e a instalação estará completa.

Leia o artigo completo na revista MUNDOJAVA, já nas bancas!


Ajax
Desenvolvendo uma Web mais interativa


Aplicações Web tradicionalmente tendem a ser conjuntos de páginas HTML que precisam ser recarregadas para modificar qualquer parte do seu contexto. Tecnologias como JavaScript e CSS (cascading style sheets) trouxeram maturidade ao ponto de criar aplicações muito dinâmicas.
Este artigo irá detalhar técnicas que você pode usar diariamente para tornar sua aplicação muito mais agradável e interativa para o usuário. Conceitos sobre Web 2.0 e as premissas básicas de Ajax serão apresentadas, enquanto para os exemplos mais práticos utilizaremos a biblioteca DWR.


O que é

Ajax, ou Asynchronous JavaScript and XML (JavaScript Assíncrono e XML) é um termo que descreve uma técnica de desenvolvimento Web para a criação de aplicativos interativos usando uma combinação de:

• HTML (ou XHTML) e CSS para apresentar as informações;

• Document Object Model (DOM) manipulado através do JavaSript para mostrar e interagir dinamicamente com a informação apresentada;

• o Objeto XMLHttpRequest, para trocar dados assincronamente com o servidor Web, geralmente utilizando-se XML, embora qualquer formato de texto irá funcionar, incluindo HTML, plain text e JSON(JavaScript Object Notation – http://en.wikipedia.org/wiki/JSON).

Ou seja, Ajax não é uma tecnologia por si própria, mas sim a união de várias tecnologias. A maior vantagem dessa abordagem é que o usuário tem uma navegação mais rápida, natural e intuitiva. Juntando isso a um punhado de DHTML, as aplicações Web ficam muito mais interativas.

O nome “Ajax” foi cunhado por Jesse James Garrett para definir o objeto XMLHttpRequest, um componente criado jutamente com o Internet Explorer 5, pela Microsoft, e mais tarde suportado pelo resto dos browsers - em outras palavras: o termo “Ajax” foi criado simplesmente por questões de publicidade.

Uma das maiores diferenças entre programar um aplicativo para o desktop, que fica instalado localmente na máquina do usuário, e um aplicativo Web, é em relação à maneira em como os eventos são tratados. Em um aplicativo Web, toda e qualquer ação do usuário implica em requisições ao servidor, enquanto em um aplicativo instalado localmente, o retorno é quase instantâneo. Somado a isso, tem a forma de armazenar estado, já que o protocolo HTTP é dito ser “stateless”, e uma aplicação desktop, por sua vez, dispõe de uma área de memória “dedicada”.
Ajax pode ajudar a tornar aplicações Web mais parecidas com aplicações desktop, oferecendo respostas mais ágeis e, conseqüentemente, diminuindo a curva de aprendizado de novos usuários. Obviamente que tudo tem seu preço, e desenvolver aplicações corretamente com Ajax adiciona um certo grau de complexidade na arquitetura da aplicação.



Vantagens

Menor uso de banda

Grande parte do conteúdo das páginas são comuns durante toda a navegação, como o menu, cabeçalho com logo, descrição, atalhos, rodapé, etc., enquanto o conteúdo de interesse principal ao usuário ocupa uma fração não muito grande da área visível do navegador. Atualmente, quando mudamos de página, todo o conteúdo em comum será carregado novamente do servidor, além de, é claro, o conteúdo de interesse do usuário - notícia, foto, vídeo, etc.

Isso tudo consome banda, muita banda, afetando tanto o servidor quanto o usuário, que deve esperar a transferência de dados completar. E banda é algo bastante caro, além de limitado em muitos casos. O website paga caro pela banda que os usuários utilizam navegando pelo conteúdo e fazendo downlaods e o usuário paga caro para o provedor de acesso.
Com Ajax, é possível reduzir drasticamente o uso de banda, tornando a navegação muito mais rápida.

Resposta mais rápida
Usuários visitam nossos websites porque algo neles os interessa, como uma informação exclusiva, um artigo, uma foto peculiar, enfim, conteúdo. E, cada vez mais, exigem respostas rápidas e informação de qualidade, caso contrário ficam frustrados e vão procurar outro site, dificilmente voltando ao seu em uma ocasião futura.

Estudos de usabilidade apontam para um princípio básico: o usuário irá bater o olho na sua home page a procura do conteúdo de interesse. Caso não o ache facilmente, as chances de ir embora são grandes - ninguém gosta de ficar navegando à sorte na procura de algo. Uma vez que conseguimos ter a atenção inicial do visitante, é vital dar-lhe conteúdo de qualidade com resposta rápida, ou seja, algo que esteja a poucos cliques do mouse e não demore ‘séculos’ para carregar.

Utilizando os recursos de XMLHttpRequest, disponibilizamos a informação dezenas de vezes mais rápido, pois buscamos apenas o conteúdo de interesse do usuário - a página já está renderizada, os banners já estão aparencendo. Evitando o recarregamento completo dos dados, a navegação torna-se mais veloz e prazerosa.

Mais interatividade
A forma de apresentação de conteúdo na Internet evolui assim como revistas e jornais, mas de um modo próprio e inovador. Primeiramente, o acesso era feito em modo texto e pouquíssimas pessoas usavam a tecnologia. Com o passar dos anos, foram substituídos pelo World Wide Web, que continham páginas estáticas com algumas figuras, foi a introdução do HTML. Após isso, surgiram imagens animadas que traziam um tempero diferente às páginas. Juntamente com a linguagem Java, os applets nasceram e as pessoas ficaram entusiasmadas com ele. Até então, a Web era uma grande forma de se compartilhar informação, mas não muito divertida. Em meados de 99, com o lançamento do Flash 4, a Internet conheceu interfaces e animações um pouco mais amigáveis para o usuário, porém havia e há a desvantagem do tamanho dos arquivos necessários, falta de interatividade com a parte estática do site e dependência de um fornecedor. Com Ajax, você consegue ter interatividade e usabilidade com o usuário sem demandar um elevado consumo de recursos para que esses sejam disponibilizados.



Usos

Validação
Validação de dados é um item crítico para a segurança de qualquer sistema, devendo ser feita tanto no lado do cliente, via Javascript, quando no servidor – uma vez que a validação no cliente serve mais como praticidade para o usuário, podendo sempre ser facilmente burlada.
Ajax torna-se útil em validação no lado cliente por permitir que as regras fiquem apenas em um lugar - no servidor -, evitando assim duplicação de dados e a não-exposição das regras ao usuário mais curioso.

UI mais sofisticada

Páginas feitas para rodar em um browser podem ser bastante sofisticadas por si próprias, mas perdem boa parte da elegância e praticidade quando as mesmas precisam ser recarregadas para buscar informações no servidor.

Com Ajax, podemos facilmente tornar a página mais natural, menos fria e impessoal, utilizando Javascript para buscar no servidor a porção de dados que precisam ser modificados, como o texto da próxima página de um artigo, as informações complementares de um formulário ou mesmo o processamento de alguma ação mais importante, como salvar informações cadastrais.


Leia o artigo completo na revista MUNDOJAVA, já nas bancas!



 




 
© 2003 - MundoJava - Todos os direitos reservados <design: www.id-art.com.br >