|
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
|
|
|