| |
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!
|
|