Entenda o que é a Nanotecnologia.

agosto 24, 2007

            Nanotecnologia é uma tecnologia que se baseia na utilização de átomos como blocos de construção. A utilização de átomos como unidade básica permite a construção de nanomáquinas capazes de realizar tarefas até agora inimagináveis. Permite ainda desenvolver novos computadores e novos tipos de sistemas de arquivamento de informação.

            Nanotecnologia é a aplicação da ciência de sistemas em escala nanométrica. Um nanômetro (nm) é 1 bilionésimo de metro; reais sistemas em escala nanométrica têm tamanhos que variam de 1 a 100 nm.

O objetivo principal dessa tecnologia é chegar em um controle preciso e individual dos  átomos.

Imagine o que se pode fazer se for possível manipular a matéria ao nível do átomo. Por exemplo, construir circuitos eletrônicos átomo a átomo. Esta técnica permitiria fabricar processadores muito menores e muito mais rápidos que os atuais. Também seria possível guardar a informação a nível atômico de modo que cada átomo representasse um bit. Espera-se que os nanocomputadores sejam 1000 vezes mais rápidos e armazenem 1000 vezes mais informações que os computadores atuais.

A capacidade de manipular o átomo abre outras perspectivas. Será possível construir nanomáquinas capazes de interagir com as células humanas ou mesmo com componentes das células como o DNA. Esta tecnologia permite, por exemplo, criar pequenas máquinas que circulam na corrente sanguínea e que estão concebidas para detectar e destruir células cancerosas. Também permite criar pequenas máquinas programadas para corrigir doenças genéticas alterando o DNA das células, uma por uma.

A nanotecnologia é o próximo passo na evolução da cadeia tecnológica.

Perigo nos Decibéis

agosto 24, 2007

Perigo nos Decibéis

Nos dias atuais é comum observarmos os consultórios médicos com um fluxo muito grande de pessoas que apresentam algum problema auditivo causado pelo excesso de ruído nos ouvidos. Um teste audiométrico é feito e o resultado revela se há acentuada perda de audição.

O vilão do momento que gera esse problema são os aparelhinhos de MP3 portáteis. Se uma pessoa fizer uso exagerado do volume ou do tempo de audição, pode resultar em danos permanentes ao ouvido. As perdas auditivas causadas por ruído não são novidade, é claro. Porém essa nova onda de fone no ouvido durante boa parte do dia está gerando maiores problemas.

Há vários motivos para classificar os fones de ouvido mais perigosos que caixas acústicas, entre elas se destacam; o som das caixas é atenuado no ambiente antes de chegar aos ouvidos, já os fones de ouvido injetam as ondas sonoras diretamente no canal auditivo, em plena potência. O que é afetado no ouvido pelo ruído são as 15 mil células ciliadas externas (CCE) da cóclea. Se o estrago não for sério, as células se recuperam num período máximo de 48 horas. Porém, se a exposição for muito longa ou intensa, a lesão pode se tornar irreversível.

Como a perda da audição é gradual, pode demorar anos até que a pessoa note a perda. Para evitar esse problema há medidas básicas que são muito eficazes: diminuir o tempo de uso de fones de ouvido, moderar a altura do som.

A recomendação feita pelos especialistas é que se use o MP3 player num local silencioso, quando estiver num lugar barulhento, não fazer o uso do aparelho.

Por Eliene Percília
Equipe Brasil Escola

OpenGL

agosto 9, 2007

A OpenGL (Open Graphics Library) é uma especificação definindo uma APImultiplataforma e multi-linguagem para a escrita de aplicações capazes de produzir gráficos computacionais 3D (bem como gráficos computacionais 2D). A interface consiste em cerca de 250 funções diferentes que podem ser utilizadas para desenhar cenas tridimensionais complexas. A OpenGL é bastante popular na indústria dos games e compete diretamente com o Direct3D (Microsoft). O OpenGL é bastante utilizado em ferramentas CAD, realidade virtual, simulações e visualizações científicas e desenvolvimento no campo dos videogames.

Site oficial:

http://www.opengl.org/ 

Linux: seis distribuições para usuários que querem usar o sistema no desktop

abril 9, 2007

Por Guilherme Felitti, repórter do IDG Now!
Publicada em 02 de março de 2007 às 17h22

 

Quer migrar para o Linux mas ainda teme o sistema aberto? Confira seis das mais populares distribuições para usuários leigos.

 

Nunca houve um período mais propenso para que usuários leigos com curiosidade sobre o Linux se aventurassem pelas bandas do código livre.

Recém-lançado, o novo Windows Vista, além de carregar uma pesada etiqueta de preço, exige configurações muito aquém das máquinas de usuários brasileiros.

 

Aliado a isto, as distribuições estão adotando posturas ainda mais didáticas, o que torna ações como o programa Computador para Todos, do Governo Federal, um enorme empurrão para o sistema.

Até mesmo a tradicionalmente radical comunidade entusiasta vem trocando seu fervor por uma postura mais tolerante e simpática a quem vê o Linux com desconfiança.

Antes de tomar o primeiro passo, é bom que o usuário tenha claro que, por mais que se pareçam graficamente com o Windows, sistemas em Linux ainda trazem diferenças substancias em relação ao sistema da Microsoft.

A diferença, caro leitor, não é ruim. O esforço em se adaptar a novos comandos (bastante simples) deve compensar para usuários cansados com vírus e lentidões, por exemplo.

 

______________________________________________________

Red Hat Fedora

Quando chegar aos colégios do terceiro mundo no segundo semestre deste ano, o XO, conhecido como “notebook de 100 dólares”, introduzirá os alunos no Linux por meio da interface Sugar, adaptação que a Red Hat vem fazendo do seu Fedora.

Aposta da Red Hat no mercado de desktop domésticos após o fim do Red Hat Linux, o Fedora está em sua sexta versão estável, com previsão de lançamento da sétima ainda para 2007.

Ainda que não traga a mesma riqueza de aplicativos que distribuições como o Ubuntu, o Fedora é popular o suficiente para contar com uma extensa biblioteca de aplicativos.

A própria Red Hat promete enriquecer os softwares integrados ao Fedora, que vem acompanhado pelo pacote OpenOffice, o navegador Firefox e o editor de imagens Gimp, na versão 6.

Ainda assim, a interface Gnome do Fedora 6 oferece muitas das mesmas funções de navegação presentes no Windows.

Caso queria testar o sistema sem apelar para o Live CD, o Fedora 6 pode ser instalado no disco rígido do usuário a partir do próprio Windows, oferecendo uma ferramente no boot onde o usuário escolhe qual sistema será carregado.

 

______________________________________________________

Ubuntu

O Ubuntu se assume inteiramente voltado a usuários leigos a começar pelo seu mote – “Linux para seres humanos”. Lançado pelo sul-africano Mark Shuttleworth em 2004, o Ubuntu se apóia na interface gráfica Gnome para atrair atenção dos iniciantes.

Quem está acostumado com a interface do Windows não deve ter dificuldades em se guiar pelos menus na barra superior da sua área de trabalho, que leva aos aplicativos e configurações do sistema.

Melhor: funções de acessibilidade, como teclado na tela e pronúncia oral de comandos são habilitados como padrão, o que o torna uma opção ainda mais vantajosa para usuários com necessidades específicas.

Outro atrativo para quem nunca usou Linux é a presença nativa de softwares como o pacote corporativo OpenOffice, o comunicador Gaim, o editor de imagens Gimp e o navegador Firefox, que emulam muito bem as principais funções presentes no Windows.

Caso queira, a instalação padrão do Ubuntu ainda permite que o usuário habilite diversos outros softwares multimídia e para internet sem o trabalho de baixar e instalar pacotes – mesmo bastante simples, o Ubuntu instala aplicativos de uma maneira bem diferente do Windows.

Com ótimo desempenho até mesmo em máquinas enxutas, o Ubuntu ainda permite a criação de diferentes áreas de trabalho para o usuário – algo que a Apple pretende integrar ao seu Mac OS X 10.5, prometido para este ano.

 

______________________________________________________

Kurumin

Apresentado como “uma das distribuições Linux mais fáceis de usar”, o Kurumin é o melhor exemplo de distribuição desenvolvida no Brasil dentro de um setor dominado por softwares estrangeiros.

Criado e atualizado pela comunidade Guia do Hardware, o Kurumin se mostra amigável ao usuário graças à sua interface KDE (K Desktop Environment) com pequenos ajustes para parecer ainda mais com o sistema Windows.

Se antes apostava na portabilidade de CDs em miniatura distribuídos com o sistema, o Kurumin resolveu integrar softwares, como o pacote OpenOffice e o aplicativos de virtualização VMWare, a ponto do Kurumin 7 ocupar uma mídia inteira.

E que mal há nisto? Nenhum. Pelo contrário. Aliada aos chamados “ícones mágicos”, a função de instalação de novos programas no Kurumin saiu na frente de outras distribuições pela ótima exploração de recursos gráficos.

Outra vantagem é a possibilidade de usar o Kurumin pelo Live CD, assim como o Ubuntu. Ao invés de instalar no HD, o usuário pode experimentar o Kurumin a partir do drive do PC.

 

______________________________________________________

Mandriva

A francesa Mandrakesoft comprou a Conectiva em 2005 e, além de mudar o nome para Mandriva, incorporou a seu sistema operacional muito da usabilidade para usuário final da empresa curitibana que revelou Marcelo Tosatti ao mundo.

Mais recente distribuição da empresa, o Mandriva Linux 2007 continua a apostar na pluralidade de maneiras de chegar ao usuário final.

Não bastasse a versão gratuita, o Mandriva Linux pode ainda ser encontrado em memory keys (uma mão na roda para quem precisa usar PCs públicos sem Linux) ou nos seus três pacotes pagos.

Pagar por Linux? Sim, e com gosto. Como paga taxas referentes a plug-ins proprietários que rodam aplicações multimídia, os pacotes PowerPack (79 euros), PowerPack+ (179 euros) e Discovery (49 euros) chegam redondinhos ao usuário final – tocar DVDs, emular games para Windows e suportar novos modos de exibição exigem configurações nem tão simples do usuário.

Com visual parecido ao Ubuntu graças à interface Gnome ou no modo padrão de exibição com KDE, a versão gratuita traz navegação simples e acompanha os softwares Mozilla Firefox, OpenOffice, Gimp, AmaroK, KMPlayer, Ekiga.

 

____________________________________________________

Debian

Em uma comparação rasteira, o Debian está para o Ubuntu como o Netscape está para Firefox.
O sistema em Linux nascido na homenagem de um programador à sua namorada hoje serve de base para outras distribuições, como a popular Ubuntu.

Aliado à extensão lista de ferramentas disponíveis para programadores, o Debian serviu de ponto de partida também para dezenas de outras distribuições que exploram sua estabilidade e as interfaces amigáveis KDE ou Gnome.

Graças à sua longevidade (a primeira versão do Debian foi lançada em 1996), o Debian goza de popularidade entre a comunidade Linux principalmente por sua estabilidade e pela vasta biblioteca de aplicativos disponível.

Aliada à extensão de ferramentas disponíveis para programadores, a longevidade transformou o Debian no primeiro passo para diversas outras distribuições de Linux – confira a lista da Wikipedia

 

____________________________________________________

Dual OS

Em 2002, a Microsoft processou a desenvolvedora por trás do sistema operacional Lindows alegando que o software de código aberto era exageradamente copiado do Windows.

Quase três anos depois, o processo terminou com a Microsoft pagando uma multa e o sistema renomeado como Linspire.

Considerando esta história, é um grande mistério como a mesma Microsoft também não correu para acionar os desenvolvedores do Dual OS (150 reais), sistema operacional em Linux com interface claramente copiada do Windows.

A interface do desktop do Dual OS é idêntica ao Windows XP, com direito a Menu Iniciar, barra de tarefas com relógio e até ícones muito parecidos aos desenhados pela Microsoft.

Por este motivo, o Dual OS é uma bela ponte para quem quer migrar para Linux sem muito esforço em se adaptar a novas funções e comandos – um dos possíveis motivos pelos quais foi incluído no programa Computador para Todos.

Junto ao Dual OS, o usuário pode usar o DualOffice, pacote corporativo com aplicações abertas que imitam com fidelidade assustadora o Word, Excel e PowerPoint, do pacote Office, da Microsoft.

Assim como o Madriva Linux 2007, o Dual OS vem com funções multimídia e de navegação completamente configuradas por ser pago.

 

 

 

Como funciona a CGI

abril 7, 2007



A CGI (Common Gate Interface) é um programa instalado num servidor da WWW que pode ser acessado através de páginas HTML. Além disso, a própria CGI pode gerar código HTML e enviá-lo a um navegador.

Quando você está na web e utiliza um mecanismo de busca, compra um livro, deixa um recado num livro de visitas ou vê um contador de páginas, podes crer… por trás desses serviços está uma CGI (ou uma plataforma semelhante).

Um programa CGI, quando solicitado, manipula dados. Esta manipulação de dados ocorre no servidor web. Os programas CGI podem gravar (salvar) dados no servidor. Por exemplo, seu acesso à uma página com contador ou seu recado no livro de visitas fica gravado no servidor web. Os programas CGI também podem ler dados do servidor e utilizá-los para gerar código HTML. Este código HTML “dinâmico” é transmitido para o navegador que chamou a CGI e apresentado na forma de uma página HTML. Por exemplo, o número de acessos de uma página ou todos os recados de um livro de visitas.

O acesso à CGI é proporcionado por software instalado no servidor web. Geralmente este software de suporte à CGI prevê que os programas CGI estejam instalados num determinado diretório, geralmente denominado cgi-bin. Alguns servidores web permitem que você crie seus próprios diretórios para abrigar seus programas CGI, como também existem servidores que não disponibilizam acessos a CGI… tem de tudo.

Como já foi visto na introdução, não existe uma “linguagem” CGI. Teoricamente, qualquer linguagem de programação pode ser utilizada, porém … e, e aí está o primeiro porém… o programa CGI precisa ser compilado para o sistema do servidor ou o servidor precisa disponibilizar um interpretador em tempo real que execute seu programa. Se, por exemplo, o servidor for UNIX, ele pode executar programas CGI escritos em C que tenham sido compilados utilizando-se um compilador UNIX-C. Se o servidor for um Windows-NT, os programas CGI podem também ser arquivos .EXE gerados por compiladores de 32 bits para C, Pascal, Visual Basic, etc. Atualmente, a maioria dos programas CGI é escrita em Perl ou UNIX-Shell. A linguagem UNIX-Shell é interpretada por todos os servidores UNIX. Para a linguagem Perl ou PHP, o servidor precisa ter um interpretador correspondente instalado (a maioria tem).


Situação típica de um mecanismo de busca na web

Fluxograma Página Dinâmica

No exemplo acima, o usuário pode digitar dados num formulário de uma página HTML para solicitar uma pesquisa num banco de dados. Após enviar o formulário para o servidor web, o programa CGI é chamado. O programa CGI transforma os dados enviados pelo usuário numa solicitação ao banco de dados. O tipo de solicitação depende essencialmente do banco de dados disponível. Existe uma linguagem padrão internacional, chamada SQL, que é utilizada com frequência. O banco de dados envia o resultado da pesquisa para o programa CGI solicitante ou grava o resultado num arquivo que possa ser lido pela CGI. O programa CGI gera então um código HTML, utilizando o resultado da pesquisa como dados para a página HTML. Em seguida, envia o código HTML para o servidor que, por sua vez, o envia para o navegador que fez a solicitação. No monitor do usuário, a página com o formulário de solicitação é substituída pela nova página, gerada dinamicamente pela CGI e que contém o resultado da pesquisa.

Breve Introdução a CGI

abril 7, 2007



O que é CGI

O termo CGI vem de Common Gateway Interface. É apenas uma outra designação para o que conhecemos como API (Application Programming Interface). Resumo da história, a CGI é apenas uma API para o servidor web.

O servidor web, por sua vez, é o software que envia páginas web para os web browsers (navegadores como o Internet Explorer ou o Netscape). Tecnicamente, os navegadores deveriam ser chamados de clientes web e, as pessoas que os utilizam, deveriam ser chamados de navegadores. Mas deixa pra lá…

Encontra-se muita informação a respeito da CGI na Internet porém, na maioria das vezes, desencontrada e cheia de mitos e preconceitos. Vamos esclarecer algumas dúvidas relatando o que não é a CGI…




A CGI não é…

… não é uma linguagem de programação: isto significa que você pode usar qualquer linguagem da sua escolha para escrever um programa CGI. É claro que a linguagem escolhida precisa ser capaz de ler um “input” e escrever um “output”. Você conhece alguma linguagem de programação que não ofereça tais possibilidades?

…não necessita da linguagem PERL. A PERL pode ser usada assim como qualquer outra linguagem, como PHP, C, Phyton, Object Pascal, etc.

… não é apenas para especialistas em sistemas UNIX. Aliás, não há necessidade de ser especialista algum, noções básicas de programação são mais do que suficientes.

… não é um estilo de programação. Use seu estilo próprio, pois apenas com “input” e “output” podemos fazer com que o servidor web “converse” com a CGI.


O que faz um Servidor Web

Parece brincadeira, mas um servidor web apenas espera – a não ser que o site esteja sendo maciçamente acessado.

O que o servidor web fica esperando nada mais é do que um cliente, um navegador que solicite um arquivo. Este arquivo pode ser uma página HTML, um gráfico ou qualquer outro tipo de arquivo.

Quando o servidor web recebe uma solicitação, realiza três tarefas na seguinte ordem:

  1. Envia uma linha de texto raso que contém a indicação do tipo de arquivo que será enviado, ou seja, HTML, GIF, JPEG ou qualquer outro.
  2. Envia uma linha em branco.
  3. Envia o conteúdo do arquivo.



Como o Servidor Web envia arquivos

Um de cada vez. Por incrível que pareça, apenas UM.

Sabemos que uma página de web típica é constituída por um documento HTML e por alguns gráficos. Cada um deles é um arquivo diferente que precisa ser enviado ao navegador.

Como o servidor web envia apenas UM arquivo por vez, o navegador precisa iniciar uma nova sessão (solicitação) para cada um dos arquivos de que necessite. Ainda bem que, tanto o servidor web quanto o navegador, são multi-tarefa. O navegador pode solicitar vários arquivos simultaneamente e o servidor web pode enviar vários arquivos simultaneamente, porém, para cada um dos arquivos solicitados-enviados é necessária UMA SESSÃO própria.




O servidor web só é capaz de enviar arquivos?

Não necessariamente. Na verdade, o que ocorre é apenas uma transferência de dados. Lembre-se de que o servidor e o cliente (o navegador) geralmente são executados em computadores diferentes. Eles podem até usar sistemas operacionais diferentes em máquinas com microprocessadores diferentes. O navegador apenas solicita um “recurso” e não sabe, nem precisa saber, de onde o servidor obtém os dados.

Entretanto, um servidor típico está programado para obter seus dados de um arquivo. Ele simplesmente lê os dados do arquivo e os transmite para o cliente. Como resultado desse processo, o servidor envia apenas dados estáticos, ou seja, o servidor não altera dinamicamente os dados enviados.




O que fazer para enviar dados dinâmicos?

Não é nada difícil. A CGI foi projetada justamente para cumprir esta função. Você simplesmente escreve um programa que produz dados dinamicamente e estes dados, ao invés de um arquivo, são enviados para o navegador.

Esta é a maneira como um programa CGI amplia a funcionalidade de um servidor, da mesma forma que, por exemplo, uma DLL amplia a funcionalidade do Windows. Mas tem uma grande diferença: a CGI é muitíssimo mais simples de escrever do que qualquer coisa para o Windows.




Mas, como falar com o navegador?

Não há necessidade de se falar com o navegador. É o servidor que faz este trabalho. O melhor da brincadeira é que você nem mesmo precisa falar com o servidor. Tudo o que você tem a fazer é escrever para uma saída padrão (standart output). Da mesma forma como, por exemplo, você usa o printf() da linguagem C.

A única coisa que não se pode perder de vista é a sequência das três tarefas realizadas pelo servidor numa transmissão de dados (citada acima). Uma vez que o servidor desconhece o tipo de dados que você estará enviando, você precisa suprir a saída padrão com esta informação.

Foi dito acima que você pode usar seu estilo próprio. Pois vamos lá: suponha que seu servidor esteja rodando sob DOS. A bem da verdade, não existe nenhum servidor assim mas… existem servidores Windows e o Windows pode interpretar comandos do MS DOS. Sendo assim, imagine que você queira enviar uma lista do seu diretório corrente para a web (não é uma boa idéia, mas mostra como essa tarefa é simples). O MS DOS também tem o comando dir que envia a listagem de diretórios para a saída padrão. Então, teoricamente, poderíamos produzir o seguinte script:

1a. Tarefa: identificar o tipo de dados que serão enviados
echo Content-type: text/plain

2a. Tarefa: enviar uma linha em branco
echo

3a. Tarefa: enviar o conteúdo
dir

O exemplo acima é apenas uma simulação de como funciona um script CGI usando elementos que a maioria das pessoas conhece. Foi citado apenas para entender o princípio de um output (saída) e não para funcionar de verdade. Agora, mais um passo…




Como conseguir um input (uma entrada)?

Primeiramente precisa ficar bem claro que a web NÃO é interativa. Isto significa que seu programa CGI não pode solicitar entradas (input) dos usuários, processá-las, enviar algum resultado (output), pedir mais um input etc.

É justamente por isso que a programação de uma CGI é muito simples. O programa recebe entradas do usuário apenas uma vez, logo no início, e envia apenas uma resposta (output). Entretanto, tanto a entrada quanto a resposta podem ter qualquer tamanho e complexidade, dependendo do que seu programa possa comportar.

Dito isto, você precisa saber que seu programa pode receber uma entrada do usuário de duas maneiras, dependendo do método que o navegador usar para enviá-lo ao servidor.




Onde o navegador acha o input do usuário?

O navegador aceita entradas usando formulários HTML (forms). Um formulário pode instruir o navegador para enviar dados através de dois métodos: GET e POST.

O método GET envia as entradas como parte da URL. O método POST envia as entradas como stdin. O segundo método parece ter algumas vantagens:

  • É possível enviar maior quantidade de dados (a URL tem limite de tamanho).
  • Os dados não são registrados em arquivos de acesso (log). Por exemplo: enviando uma senha como parte de uma URL deixa um rastro nos vários sistemas pelos quais os dados estejam passando!
  • Os dados não aparecem no campo de endereços do navegador. Novamente, mostrar uma senha no navegador pode não ser do agrado do usuário.



Como saber qual método está sendo usado?

O servidor web, antes de carregar seu programa CGI, inicializa algumas variáveis de contexto. Você pode analisar estas variáveis para saber a quantidade e a origem dos dados de entrada (input).

Uma das variáveis de contexto é a REQUEST_METHOD. Seu valor pode ser POST, GET e, eventualmente, HEAD.

Se REQUEST_METHOD indicar POST, a variável CONTENT_LENGTH indicará quantos bytes de dados deverão ser lidos através de stdin e a variável CONTENT_TYPE indicará que os dados se originam de um formulário (ou, possivelmente, de alguma outra fonte).

Assim que os dados tenham sido recebidos (lidos pelo servidor), podem imediatamente serem processados e a resposta (output) pode ser enviada através de um stdout. Geralmente a resposta é escrita na forma de dados HTML, com toda a formatação necessária. Mas programas CGI podem produzir qualquer tipo de resposta, como um arquivo GIF ou qualquer outra coisa.

Este é o motivo pelo qual você precisa indicar ao navegador, nas 2 primeiras etapas da transmissão, o tipo de dado que será enviado. Podemos identificar dados de HTML enviando a string Content-type: text/html (tarefa 1) seguida de uma string vazia (tarefa 2). Usando a linguagem C seria printf(“Content-type: text/html\n\n”); onde \n é quebra de linha e o segundo \n outra quebra de linha para indicar a linha vazia. Usando PERL seria print “Content-type: text/html\n\n”;

Metodo de desenvolvimento Ajax

abril 4, 2007

No site Conexãomx tem um excelente artigo sobre Princípios do Ajax, com um bom exemplo do Objeto XMLHttpRequest. Vale a pena da uma confirida.

Ajax: Desenvolvendo uma Web mais interativa

abril 4, 2007

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

Hello world!

abril 2, 2007

Seja bem-vindo!

Qualquer dúvida, se depender de mim, continuará com ela.