Adobe anuncia o Apollo: rich media e web no desktop
Por Herman Fuchs em 28 dAmerica/Sao_Paulo março 2007, 07:03
 

A Adobe anunciou a primeira versão do Apollo, um biblioteca que ajuda a levar aplicações web para o desktop, dentro do conceito RIA – Rich Internet Application, utilizado junto do HTML, AJAX, Flash, Flex.

É mais fácil entender ao assistir ao vídeo com a demonstração de uma aplicação do Apollo no ambiente no Ebay, onde a integração com o desktop pode trazer muitas vantagens: aplicação do Apollo no Ebay.

No site da Adobe: Informações sobre o Apollo.

Na Wikipedia: Rich Internet application.

 

Comentários | Permalink | Envia a um amigo

JavaScript E4X economiza código, tempo e memória
Por Rogério Coelho em 28 dAmerica/Sao_Paulo março 2007, 10:03
 

Você já deve ter ouvido falar do Ajax e de como ele contribui para a revolução da Web 2.0. Diferente do que muitos pensam, Ajax não é uma tecnologia, mas um conjunto de tecnologias que já existem há algum tempo e foram “combinadas” mais recentemente. Como maior exemplo do uso do Ajax temos o Google, pioneiro com o seu Gmail.

Mas este conjunto de tecnologias só está se popularizando agora e muita coisa boa vem por aí, como o E4X.

E4X signfica "ECMAScript For XML", uma extensão ao JavaScript já padronizada pela ECMA. A vantagem do E4X é a inclusão de suporte nativo ao XML dentro do JavaScript sem a necessidade de controles ActiveX ou códigos complexos.

Basicamente você declara um objeto XML diretamente no código da mesma forma como faz com datas, strings, números etc, e pode manipulá-lo como desejar.

A especificação inicial da tecnologia foi lançada oficialmente em 2004. Veja um exemplo da simplicidade do uso do E4X. Considere um XML com este conteúdo:

<nome>John</nome>
<sobrenome>Johnson</sobrenome>
</cliente>
<item>
<produto>Maxilaku</produto>
<qtd>5</qtd>
<preco>155.00</preco>
</item>
</compra>

Este código pode ser inserido diretamente no trecho JavaScript conforme abaixo:

<script type="text/javascript;e4x=1">

var dadosCompra = new XML();
dadosCompra=<compra id="123">
<data>2005-08-01</data>
<cliente>
<nome>Fulano</nome>
<sobrenome>de tal</sobrenome>
</cliente>
<item>
<produto>Sabonete</produto>
<qtd>5</qtd>
<preco>2.0</preco>
</item>
</compra>

Repare como é diferente do tratamento com strings padrão. Basta associar o código ao objeto "dadosCompra", sem necessidade de complicados métodos DOM tratar o conteúdo:

var dadosCompra = new XML();
dadosCompra=<compra id="123">
<data>2005-08-01</data>
<cliente>
<nome>Fulano</nome>
<sobrenome>de tal</sobrenome>
</cliente>
<item>
<produto>Sabonete</produto>
<qtd>5</qtd>
<preco>2.10</preco>
</item>
<item>
<produto>Desodorante</produto>
<qtd>3</qtd>
<preco>11.50</preco>
</item>


</compra>

//mostra dados na tela
document.write("Nome do cliente: ");
document.write(dadosCompra.cliente.nome + " ")
document.write(dadosCompra.cliente.sobrenome)

//calcula total da compra
var totalCompra = 0
for each (i in dadosCompra.item)
{
totalCompra += (i.qtd * i.preco);
}

document.write("<br>");
document.write("Total da compra: R$" + totalCompra);
</script>

É claro que o conteúdo deste XML pode estar armazenado no servidor ou ser gerado dinamicamente e capturado pelo JavaScript.

Há muitas vantagens no uso desta tecnologia. É possível, por exemplo, ter um modelo XML padrão e dinamicamente “preencher” o conteúdo dele sem ter que gerar um novo XML, com economia de código, tempo e memória. Com uma curva de aprendizado menor, E4X é como uma versão 2 do Ajax. Você pode utilizar diversas técnicas para enriquecer suas aplicações como antes, mas agora reduzindo as linhas e para Javascript e Web. Menos código = menos uso de recursos e banda, logo sua performance é melhor.

Embora já exista uma documentação de padronização do E4X, até o momento somente o Firefox e Safari dão suporte a tecnologia. Mas por seu uso simples e padronização acredito que seja natural o suporte pelos navegadores em suas futuras versões, permitindo a diminuição da dependência de Ajax e tornando mais simples, mas não menos poderoso, o desenvolvimento que a Web 2.0 tem revelado pra trazer simplicidade ao usuário final.

Mais informações sobre essa nova sigla em Standard ECMA-357 ECMAScript for XML (E4X) Specification

 

Comentários | Permalink | Envia a um amigo