Ads 468x60px

quarta-feira, 29 de junho de 2011

SocketStream, uma nova forma de desenvolver para a web

No encontro London Hacker News, os desenvolvedores da AOL aproveitaram a oportunidade para lançar publicamente o SocketStream, um novo framework web em "tempo real" e "incrivelmente rápido". Um dos desenvolvedores, Owen Barnes, apresentou o framework completo, construído sobre a ideia de um aplicativo de uma página (Single-page Application). A apresentação gerou reações em redes sociais, e algumas chegaram a descrever o SocketStream como o sucessor do Rails. O projeto foi descrito como "altamente experimental, porém usável" pelos desenvolvedores. O framework em código aberto é um projeto patrocinado pela AOL com desenvolvedores trabalhando em tempo integral.

O SocketStream é baseado no servidor baseado em JavaScript e guiado por eventos Node.js, armazenamento de chave/valor Redis, CoffeeScript e Socket.io. A escolha por Node.js permite que um desenvolvedor use tanto JavaScript ou CoffeeScript como linguagem de programação, o Redis disponibiliza um sistema pub/sub que permite um fluxo efetivo de mensagens no sistema e o Socket.io provê uma implementação confiável de WebSockets.
O framework usa WebSockets para manter um canal permanente e bidirecional entre cliente e servidor, e cria um objeto compartilhado "SS" no namespace, com todos os dados sendo trocados como informação codificada em JSON. Terminais em ambos os lados, cliente ou servidor, podem acessar e pedir por métodos no objeto compartilhado. Inspirado pela experiência do desenvolvedor com Rails, um comando "new" no SocketStream cria uma hierarquia de projeto com servidor, cliente e árvores compartilhadas. As pastas dentro dessa hierarquia são refletidas no objeto compartilhado. Recursos estáticos, como HTML, CSS e código para o lado do cliente, são entregues aos navegadores quando se logam, de forma oculta, assim estão rapidamente disponíveis.
Uma demonstração das capacidades do SocketStream no evento em que foi apresentado permitiu que usuários corressem com carros em uma pista animada por CSS3, usassem um quadro de rascunhos compartilhado e entrassem em um bate-papo de grupo. Dentro da AOL, o projeto já foi usado para implementar um sistema de mensagens interno e um sistema de análise de desempenho de propaganda.
O framework ainda está em seus estágios iniciais de desenvolvimento. Barnes afirmou que os desenvolvedores ainda tem que resolver o problema de implementar uma plataforma de testes além de usar apenas os testes do Node.js.

Escalonamento também é um problema, já que o SocketStream está no momento preso ao uso de apenas um núcleo do processador, mas existem planos para implementar escalonamento horizontal e balanceamento de carga do lado no cliente. Os desenvolvedores estão ainda trabalhando em implementar um "modelo único" para validação do cliente e do servidor, e permitindo assim a desenvolvimento de aplicativos CRUD. O suporte ao navegadores internet também é limitado, o sistema só opera sem prolemas com o Chrome e o Safari, os navegadores Firefox e Internet Explorer precisam usar flashsockets para o funcionamento da ferramenta, o que a torna instável.
O SocketStream está hospedado no GitHub em github.com/socketstream/socketstream, onde documentação sobre como instalar e usar framework, além de alguns exemplos, também está disponível. Os desenvolvedores esperam expandir a comunidade do framework para enconrajar o uso, desenvolvimento e aprimoramento do sistema.
Fonte: h-online, em inglês.

0 comentários: