WEB 2.0
por José Carlos Ortiz Nunes

Web 2.0 não é uma nova tecnologia, mas sim um termo que descreve um novo paradigma na criação de sites e serviços para a Internet, é o nome para uma série de conceitos que representam um novo nível de maturidade no desenvolvimento de aplicações web.



Neste artigo, será visto algumas nomenclaturas que estão formando esta revolução, chamada de Web 2.0, além de algumas dicas de como aplicá-las em suas aplicações, independente do seguimento de atuação e da tecnologia utilizada.

AJAX

AJAX (Asyncronous Javascript And XML) é o uso sistemático de Javascript e XML (e derivados) para tornar o navegador mais interativo com o usuário, utilizando-se de solicitaçõesassíncronas de informações.
AJAX não é somente um novo modelo, é também uma iniciativa na construção de aplicações web mais dinâmicas e criativas. Assim, evitamos o "refresh" da tela, que incomoda tanto o usuário. É importante lembrarmos que o AJAX está dentro do conceito RIA. Podemos ter uma aplicação rica em RIA construída com AJAX, Flash, Flex entre outros.

Características:

- Roda o site e a aplicação web no próprio navegador do cliente;

- Reduz processamento no servidor;

- Apresentação baseada em padrões, usando XHTML e CSS;

- Exposição e interação dinâmica usando o DOM;

- Intercâmbio e manipulação de dados usando XML e XSLT;



RIA

Rich Internet Applications (RIAs) é definida pela Macromedia como a combinação da melhor funcionalidade de interface das aplicações desktop, com a capilaridade e baixo custo de desenvolvimento das aplicações Web e o melhor da interatividade e comunicação multimídia. O resultado final: uma aplicação provendo uma experiência para o usuário mais intuitiva, rápida e efetiva.

Características:

- Interfaces mais rápidas e práticas incluindo validações e formatações em tempo real, sem necessidade de inúmeros refreshs e/ ou submits;

- Comportamentos de objetos como drag-and-drop;

- A utilização de download progressivo de dados e conteúdo, de acordo com a banda do usuário;

- Incorporar o melhor das duas funcionalidades da comunicação: interatividade de áudio e vídeo.


Web Standarts

Webstandards ou Padrões Web permitem a implementação de layouts em HTML muito mais fácil e rapidamente, além de tornar o site compatível com todos os navegadores que utilizam os padrões do W3C (Consórcio que regulamenta e define os padrões da web). A separação dos códigos que definem a apresentação (CSS), o conteúdo (HTML) e o comportamento (DOM) oferece a separação do conteúdo, apresentação e comportamento.

Características:

- Leveza e estabilidade para o Website;

- Manutenção mais fácil;

- Tamanho de arquivo menor (economia de banda e velocidade no carregamento);

- Maior acessibilidade para o usuário;

- Compatibilidade com diferentes navegadores.

Web Services

A capacidade de sistemas diferentes se comunicarem e compartilhar dados "seamlessly", sem estarem ligados entre si. Este é o objetivo dos Web Services. Um Web Service é uma aplicação lógica, programável, acessível e que usa o protocolo padrão da internet, para que se torne possível a comunicação transparente de máquina-para máquina e aplicação-para-aplicação.

Características:

- Utiliza a linguagem XML para a troca de informações;

- São "páginas web" para outros computadores e não para seres humanos com as páginas HTML tradicionais;

- É a tecnologia que permite que computadores na Internet conversem entre si sem a intervenção direta dos usuários;

- Por ser arquivo texto, pode ser interpretado em qualquer plataforma ou sistema operacional e não apresenta problemas quando encontra um firewall, já que não apresenta risco de segurança.



XML

XML é a abreviação de Extensible Markup Language (Linguagem extensível de formatação). Trata-se de uma linguagem que é considerada uma grande evolução na internet.
O XML é uma especificação técnica desenvolvida pela W3C (World Wide Web Consortium - entidade responsável pela definição da área gráfica da internet), para superar as limitações do HTML, que é o padrão das páginas da Web. A linguagem XML é definida como o formato universal para dados estruturados na Web. Esses dados consistem em tabelas, desenhos, parâmetros de configuração, etc.

Caracteristicas

- Descreve e transporta dados como um banco de dados;

- Apresenta dados em uma formato universal e até mesmo interpretável por seres humanos;

- Permite a troca de dados de forma transparente entre plataformas diferentes;


RSS


RSS (Really Simple Syndication) é um jeito novo e prático de ficar informado. Com ele você pode reunir informações de seus sites preferidos em uma única tela e, como num programa de e-mail, ser avisado das novidades assim que elas são publicadas na internet.
Ao invés do usuário ter que ficar entrando no site para ver se há novidades, o site vai até o usuário, mostrando as novidades. É importante destacar que o RSS é um formato baseado na
linguagem XML.

Caracteristicas

- É possível reunir em um único ambiente conteúdos produzidos por diversas fontes, sem a necessidade de acessar cada um dos sites responsáveis por eles;

- Você passa a ver notícias em seu computador em tempo real;

- Tudo é automático, a informação corre atrás de você e não o contrário.



SOA


Basicamente, a idéia consiste em padronizar funções genéricas únicas, utilizadas para cada aplicação, em componentes reutilizáveis que podem ser compartilhados e acessa-dos online.
O termo não se refere exatamente a uma tecnologia, mas a uma filosofia (ou metodologia) de desenvolvimento que é uma evolução natural da tradicional arquitetura voltada a objetos.
Em suma, SOA prevê o reuso de componentes para o desenvolvimento de diferentes serviços e, conseqüentemente, a eliminação do retrabalho e o aumento da produtividade. Um modelo cuja força motriz está na unificação da plataforma tecnológica de desenvolvimento de aplicações.

Características


- Uma Arquitetura específica construída de acordo com um conjunto de princípios
- Os princípios SOA são independentes da tecnologia
- Os Serviços são reutilizáveis
- Ao desenhar um Serviço deve ser considerado o seu potencial de reutilização
- Os Serviços partilham um contrato formal

Mashup

Um mashup é um website ou uma aplicação web que descontinuamente combina em seu conteúdo de mais de um código.
O conteúdo usado em mashups é tipicamente códigos de uma third party através de uma interface pública ou de uma API. Outros métodos de codificação de conteúdo para mashups incluem Web feeds( exemplo: RSS ou Atom ) e Javascript.
Assim como os blogs revolucionaram a publicação online, os mashups estão revolucionando o desenvolvimento web possibilitando a qualquer um combinar dados de fontes como o eBay, Amazon.com, Google, Windows Live e Yahoo! em caminhos inovadores. Uma maior disponibilidade de APIs leves e simples tem possibilitado mashups relativamente simples de projetar. Requerem um conhecimento técnico mínimo e os mashups feitos sob encomenda muitas vezes apresentam inovações que eram consideradas improváveis, combinando uma nova disponibilidade pública de dados e novos caminhos criativos.



Dicas Web 2.0

• A aplicação deverá ser de fácil e clara navegação e ,o principal de tudo, um forma objetiva de navegar, com o mínimo numero de clicks possíveis.


• Outro termo importante, “Coopere, não controle!”, as aplicações devem ser construídas sobre uma visão cooperativa de serviços de dados. Portanto, viabilize com interfaces adequadas para que o seu serviço possa ser distribuído e reutilize os serviços de dados de outros.



• Seguindo o antigo e sábio ditado, “Ao invés de dar o peixe, ensine como pescar”, agora traduzido para Web atual seria, “Ao invés de uma pagina bonitinha com efeitos, dê uma página dinâmica na qual o usuário terá o poder customizá-la a sua maneira”.


• Não restrinja sua "arquitetura de participação" ao desenvolvimento de software. Envolva seus usuário tanto implícita quanto explicitamente para agregar valor à aplicação. Deixando de lado, o modelo antigo de apenas consumidores de conteúdo.


• O internauta não é obrigado a saber HTML, CSS ,AJAX ou qualquer outra tecnologia para publicar um conteúdo na Internet. Cada pessoa poderá produzir conteúdo e/ou alterar o serviço (com facilidade)


• Ao planejar sua aplicação, independente da linguagem utilizada, projete-a de maneira que viabilize integrar com outras. Sendo que na atualidade, a principais são: C#, VB.NET, PHP, JAVA e Ruby on Rails e Python.



• Os usuários querem ter acesso a informações em qualquer lugar, através de múltiplas fontes, sem sincronização, delay ou manutenção (upgrade de software, backup de dados, etc).



• Os usuários querem poder compartilhar conhecimento e colaborar.



• Reuse serviços de outros sites demasiadamente, evitando o principal problema de desenvolvimento, o de reinventar a roda. Felizmente, com o advento dos web services e RSS, estes trabalhos estão reduzindo bruscamente.



• Deixa sua aplicação com o conteúdo mais claro e inteligente possível, de fácil absorção. Normalmente, o usuário tem pressa e não gosta de perder tempo, por isso, jamais coloque um conteúdo misterioso para que ele adivinha do que trata, à menos que sua pagina aborda esses assuntos

Concluindo, antes de começarmos a criticar ou comparar com o Windows as aplicações Web, devemos regredir alguns anos e lembrar que, inicialmente, o próprio Windows tinha muitos problemas, quando foi lançado na versão 3.0, havia uma grande diferença de performance em relação ao DOS, era repleto de bugs , o que continua até hoje, e a forma de navegar comparada ao modo caractere, o que permitia ao usuário mover pastas inteiras clicando e arrastando o mouse, algo que no DOS não existia com tal facilidade, pois era necessário digitar uma enorme linha de comando e torcer para não ter esquecido nenhum caractere.

Quem bancou o cabeça dura e insistiu nesse fato, só criticando e ironizando, acabou ficando obsoleto e ultrapassado. Evolução tecnológica sempre implica em necessidade de mais equipamento para resolver a lentidão, novos costumes do usuário para resolver o problema dos acidentes, e tolerância aos bugs que inevitavelmente surgem, apesar da estabilidade já alcançada pela "versão anterior".

A tecnologia sempre serviu para resolver problemas que antes não existiam, porém, sempre trazendo junto consigo muitas vantagens e uma lista infinita utilidades.





Referências:
http://www.web2con.com/
http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html
http://www.paulgraham.com/web20.html
http://webinsider.uol.com.br
http://www.desta.ca
http://www.focusnetworks.com.br