Os agregadores de notícias e o seu impacto na Internet

Já não é de hoje que existem os agregadores de notícias. Alguns disponíveis como parte integrante do leitor de e-mails, outros disponíveis no próprio navegador, passando pelos softwares específicos para esse fim e até mesmo pelos disponíveis on-line, colaborativos e bem interessantes para quem não tem um computador portátil ou que acesse a internet de vários computadores.


Mas o que vale a pena dizer sobre esses softwares é que eles mudam completamente a experiência com a Internet. Ela se torna mais interativa, e a impressão que se tem é que se está participando de um grande fórum, porém sem canais com assuntos definidos e com uma moderação muito mais eficaz do que nos fóruns tradicionais, feita por tópicos (isso se encararmos um post como um tópico).

Além disso a qualidade daquilo que se escreve em blogs tem aumentado muito, o que ao ser somado ao processo ativo de entrega de informação promovido pelos agregadores de notícias, faz da experiência on-line algo muito mais vibrante do que a velha forma de interação, que mais lembrava a leitura de uma revista.


Ao levar em consideração esses pontos eu pergunto a você que está perdido por aqui lendo esse post (tendo sido trazido até ele por um agregador de notícias ou não): Você tem um Blog? Se você tem, ele tem um feed RSS ou ATOM? Se a resposta para qualquer uma das duas perguntas foi não, então conscientize-se de que encontrar o seu blog num buscador qualquer vai ser a única forma de alguém encontrá-lo e mesmo se isso acontecer você vai receber apenas uma visita, sem perspectiva de retorno.

Não é assim que as coisas devem funcionar. Use um agregador, tenha um blog e permita o acesso a ele através de feeds, isso irá fazer com que a sua experiência on-line mude muito, para melhor.

Mas além de serem muito úteis em blogs, os feeds RSS podem ter uma função espetacular, que é a de manter usuários, leitores ou clientes de seu site atualizados com relação à qualquer coisa que aconteça nele.

Basta levar em consideração a seguinte situação:

Suponha que um cliente de um e-commerce qualquer esteja procurando por um produto de uma determinada categoria, como por exemplo um mp3 player. Na primeira visita que ele faz ao site ele vê todos os modelos disponíveis, mas mesmo assim não encontra nenhum que lhe agrade. Mas ele encontra um link “monitorar novos produtos dessa categoria” e clica nele, o que faz com que o link para o feed relativo aos produtos seja adicionado ao seu agregador RSS.

Feito isso, toda vez que um novo produto for adicionado à categoria de interesse o seu “potencial cliente será avisado automáticamente”.

Revolucionário? Não. Útil? Muito!


Afinal de contas, o que é esse tal de AJAX?

Muito se tem falado sobre o AJAX, o barulho em torno dele é grande, assim como os Applets quando surgiram. O XML e JavaScript Assíncrono, também conhecido como AJAX (Asynchronous Javascript And XML), é na verdade uma nova abordagem para desenvolvimento de aplicações web mais ricas, interativas e responsivas. O AJAX não é realmente uma tecnologia, mas uma forma de utilizar várias tecnologias como HTML ou XHTML, CSS, JavaScript, DOM, XML, XSLT e o Objeto XMLHttpRequest.

O mecanismo de interação das aplicações web é diferente do das aplicações desktop tradicionais. Cada instância de uma página da web precisa se comunicar com o servidor para obter a resposta necessária para ser atualizada. Isso consome uma grande quantidade de tempo e reduz a qualidade da experiência do usuário.

Vamos imaginar uma aplicação que exibe fotos por exemplo. Como ela se encontra rodando no servidor web e não no lado do cliente, quando o usuário quer ver a próxima foto, a página inteira precisa ser montada do zero mesmo que 99% do seu conteúdo nunca se altere. Agora considere a mesma aplicação novamente, mas dessa vez rodando como uma aplicação desktop: Quando o usuário clica para ver a próxima foto, isso é feito tranquilamente e a aplicação só tem que exibir a foto, porque ela está rodando inteiramente no lado do cliente.

A diferença que existe entre o comportamento de aplicações web e aplicações desktop é anulada pelo AJAX já que ele é processado do lado do cliente. O AJAX pode ser utilizado para criar Rich Internet Applications (RIA) que podem ter a interface consistente de um componente da GUI do desktop rodando em um browser comum sem aumentar o tamanho das páginas.

Como o Ajax Funciona?

As aplicações AJAX usam um Motor AJAX que atua como uma camada de aplicação intermediária entre o usuário e o servidor web. Esse Motor AJAX é escrito totalmente em JavaScript e algumas vezes é colocado em um frame escondido. Nesse momento algumas pessoas podem concluir que a presença de uma camada intermediária irá tornar a aplicação menos responsiva, mas a verdade é que ocorre exatamente o oposto no caso do AJAX já que as aplicações resultantes da sua utilização são muito mais responsivas.

Como isso é possível? Quando uma página web é acessada pelo usuário pela primeira vez, o Motor AJAX é carregado pelo navegador. Esse motor é responsável por montar a interface do usuário a medida que vai obtendo dados do servidor web no formato XML utilizando o objeto XMLHttpRequest. Agora a aplicação inteira está rodando no Motor AJAX e não precisa montar a página no servidor. O Motor AJAX permite que a interação do usuário com a aplicação ocorra de forma assíncrona (independente da comunicação com o servidor). Isso significa que o usuário nunca será apresentado à uma janela em branco enquanto estiver esperando que o servidor faça alguma coisa.

Toolkits de desenvolvimento AJAX

Os Motores AJAX possuem códigos complexos escritos em JavaScript, e não é fácil escrever um sozinho. Felizmente, existem vários Toolkits de desenvolvimento desenvolvidos por terceiros para escrever aplicações web baseadas em AJAX. Os três listados abaixo não são exatamente uma lista significativa, mas são um bom lugar para se começar.

Aplicações Web desenvolvidas em AJAX

Assim que o AJAX ganhou popularidade ele saiu dos laboratórios e foi para os servidores de produção na forma de aplicações web reais, simples e complexas. Ele também se tornou uma das tecnologias favoritas no Google, o que pode ser visto nas várias aplicações que eles tem desenvolvido usando AJAX. Abaixo encontra-se uma pequena lista com algumas coisas nas quais o AJAX está sendo utilizado no mundo real.


Análise do Django

Como já falei aqui anteriormente o Django é um Framework para desenvolvimento de aplicações web escrito em Python que tem por objetivo simplificar a vida do desenvolvedor e possibilitar a criação de aplicações de forma limpa e organizada. Também havia prometido que descreveria a minha experiência com o framework e é por isso que resolvi escrever o texto abaixo.

O primeiro passo na utilização do Django foi fazer a sua instalação, o que não foi difícil, já que bastou seguir as instruções contidas no Tarball. Depois disso, como todo bom iniciante, parti para o processo de leitura do tutorial, disponível na área de documentação do site oficial, e repetição dos passos descritos em meu próprio equipamento.

A utilização é bastante simples, básicamente composta pelos seguintes passos:

  1. Inicialização do projeto, que é feita com o comando django-admin.py startproject projeto;
  2. Configuração da aplicação, que consiste em informar o endereço, login e senha, além do tipo (mysql, postgres, etc) da base de dados a ser utilizada pela aplicação, através da edição do arquivo settings.py;
  3. Criação da aplicação (um projeto pode ser composto por multiplas aplicações), o que é feito com o comando django-admin.py startapp aplicação;
  4. Definição das classes, editando o arquivo apps/aplicação/models/aplicação.py; e
  5. Instalação da aplicação, que é na verdade a geração das tabelas necessárias ao funcionamento da aplicação na base de dados indicada na configuração, o que é feito pelo comando django-admin.py install aplicação.

Omiti alguns detalhes do processo, como a configuração do settings.py para que a aplicação seja adicionada ao projeto e outros pequenos detalhes de implementação, já que não é essa a finalidade desse texto, mas basicamente é assim que a coisa funciona.

Com as devidas definições no modelo, parâmetros especiais, etc. é possível ter uma interface de gerenciamento de dados completa, com direito a mecanismo de busca, níveis de acesso, autenticação, filtragem, além das operações CRUD (Create, Recover, Update, Delete).

Depois da primeira experiência comecei a montar uma pequena aplicação de minha própria autoria (sempre recorrendo à documentação no site oficial) e posso dizer que:

É possível criar aplicações em minutos com o Django, entretanto ainda não comecei a mexer com as views (templates), mas posso garantir que pelo menos o “M” (model) e parte do “C” (controller) da triade MVC, sobre a qual está alicerçado o framework, são postas na tela com pouquissimo trabalho.

Pois bem. Nos próximos dias voltarei a dar notícias do Django por aqui. Python on Rails? Não sei… Mas pode ser até melhor.