Archive for July, 2006

Use JSON nas suas aplicações AJAX

Monday, July 31st, 2006

O XML já é há tempos o padrão mais usado para estruturarmos informações que serão trafegadas entre sistemas, mas nem sempre ele é a melhor alternativa.

Com a crescente onda de desenvolvimento de aplicações usando o conjunto de tecnologias embutidas no termo AJAX, o XML se popularizou ainda mais. Isso porque o nome do principal componente embutido nos navegadores, que está diretamente relaciondo com o AJAX, chama-se XMLHttpRequest.

Apesar do nome sugestivo do componente, muitos desenvolvedores estão começando a estruturar as informações usando o JSON, que é um acrônimo de JavaScript Object Notation. Na prática, acaba ficando muito mais fácil acessar os dados se estiverem estruturados dessa forma do que com XML, e mais, o arquivo no formato JSON acaba ficando um pouco menor.

Embora o uso do JSON seja mais popular com JavaScript, você pode usá-lo em diversas linguagens de programação. Sua sintaxe é baseada em estruturas de pares nome/valor. Esse termo tem variações dependendo da linguagem, você certamete conhece ou já deve ter ouvido falar em alguns destes: dicionário, array associativo, hash table, struct.

Recomendo a todos que leram este post a pesquisar sobre o JSON. Abra sua ferramenta favorita de buscas e mande ver. Em poucas horas você já estará habituado com o novo formato e certamente sua aplicações sairão do forno mais rápido. Você economizará horas não tendo mais que brigar com XML Parsers :)

Como contornar o problema de ativação do Flash

Monday, July 10th, 2006

Conforme notícia do IDG Now!, a Microsoft anunciou recentemente um update para o IE (Internet Explorer) que muda a maneira do browser lidar com controles ActiveX e Applets Java. Essa alteração só vale para máquinas com Windows XP com Service Pack 2 e também para aquelas que rodam Windows Server 2003 com Service Pack 1.

Bem, certamente estamos falando da maior parte da população de internautas, ou seja, é uma alteração que afeta bilhões de pessoas. A atualização obriga os usuários a ativar qualquer controle que se encaixe nos descritos acima antes de usá-los. Entre os mais conhecidos, posso citar: QuickTime Player, Flash Player, RealPlayer e Java Virtual Machine, da Sun.

Na prática, um usuário que visita um site em Flash, como exemplo, precisa clicar em cima do Flash para ativá-lo. Isso acontecia de forma natural, ou seja, o usuário entrava em algum site com Flash e este já começava sua execução automaticamente.

Pensando nas conseqüências, acredito que se essa alteração não fosse contornável, agências publicitárias iriam estar de cabelos em pé. Imagine que a esmagadora maioria das peças publicitárias que veiculam na Web são feitas usando Flash.

Como mencionei no parágrafo anterior, o problema é contornável, e daí surge o título deste post. Nós, desenvolvedores, temos que ficar dando manutenção em códigos que estavam funcionando por causa de briga alheia.

O que muda na prática para nós é a forma de codificar as chamadas dos controles no HTML. No modo tradicional, simplesmente colocamos uma tag que tem em um dos seus parâmetros o endereço físico do controle em questão. No modo que contorna o problema, temos que pegar esse código e colocar em um arquivo JavaScript externo, que irá fazer exatamente a mesma coisa, ou seja, escreverá a tag no HTML.

Existem algumas soluções bem interessantes que podem ser encontradas pela Web. Uma das mais interessantes que vi foi a SWFObject desenvolvida por Geoff Stearns. Ela usa orientação a objetos e com isso permite que o seu HTML fique limpo e claro pois a criação de instâncias é curta e passar parâmetros para serem colocados na tag resultante do controle é bem fácil.