BT

Yahoo abre o código do Mojito prometendo a escrita de código JavaScript realmente multiplataforma

por Abel Avram , traduzido por Eder Magalhães em 09 Abr 2012 |

O Yahoo abriu o código fonte do Mojito, um framework JavaScript para o desenvolvimento aplicativos web MVC. O Mojito é parte do Yahoo Cocktails, uma plataforma de JavaScript que permite o desenvolvimento de soluções web para vários dispositivos, incluindo PCs, tablets, smartphones, de forma universal, sem a necessidade de portar o código para cada um dos dispositivos. Com o Mojito, desenvolvedores podem construir aplicações web utilizando JavaScript do lado cliente para criação de widgets, ou do lado servidor, de forma integrada ao Node.js.

Outra tecnologia que compõe o Yahoo Cocktails é o Manhattan, um ambiente JavaScript para o lado do servidor, voltado à execução de aplicações desenvolvidas com Mojito em ambientes de cloud computing. Na camada inferior do Cocktails, está presente o YUI Library, outro framework open source que fornece um conjunto de APIs JavaScript. Estes componentes podem ser incorporados em aplicativos web e executados nos principais navegadores e dispositivos.

O principal objetivo do Cocktails é oferecer suporte para o desenvolvimento de aplicações web criadas a partir de componentes reutilizáveis, que podem ser apresentados em diversos tipos de dispositivos, além de ser executados tanto no lado do cliente (navegador) ccomo no lado servidor. A plataforma utiliza apenas as tecnologias HTML5, JavaScript e CSS.

Arquitetura do Mojito

O Mojito é uma tecnologia voltada para a camada de apresentação. O elemento básico do framework é o Widget, um componente MVC que pode ser incorporado como um fragmento de um aplicativo. Além disso, um mesmo Widget pode ser utilizado em diferentes aplicações web. Ao criar um aplicativo baseado no Mojito, o desenvolvedor tem a capacidade de reunir diferentes widgets criados por outros desenvolvedores. Uma aplicação que utiliza esse modelo de implementação é o Yahoo OMG; nessa página cada componente é um widget. Cada widget pode ser apresentado respeitando um padrão visual (skin) definido.

Uma das características essenciais do Mojito é que os Widgets são transparentes em relação ao tipo de dispositivo utilizado. Os Mojits (widgets desenvolvidos com Mojito) podem ser apresentados em qualquer desktop ou dispositivo móvel a partir de um navegador, enquanto o código controlador do componente pode ser executado no lado cliente ou no lado servidor, nesse caso sobre o Node.js. Dessa forma os desenvolvedores não precisam escrever código distinto para a camada cliente e outro código para a camada servidor, o mesmo código será executado em ambas as camadas.

Planos e execução

O Yahoo pretende melhorar o Mojito no sentido de introduzir mecanismos que tornam transparente a execução de código no lado do servidor ou no lado do cliente. Por exemplo, caso um dispositivo se mostre lento para realizar um determinado processamento, o servidor pode executar assumir a tarefa. A vantagem seria que o desenvolvedor e o usuário não precisam se preocupar com a "troca" do ambiente, de cliente para servidor.

O Mojito pode ser executado sobre o YUI3 (que gerencia toda a depêndencia do framework), o JQuery ou o Dojo. O YUI3 é o mais indicado por ser compatível com os principais navegadores e também por rodar sobre o Node.js. O Mojito foi utilizado pelo Yahoo nos projetos: Livestand,Fantasy Finance eFantasy Premier League Football.

Na mesma linha, o Yahoo havia recentemente anunciado a abertura do YSlow, outra tecnologia do seu toolkit de desenvolvimento web. Aderir ao desenvolvimento open source é uma forma de o Yahoo expandir o uso de suas tecnologias web para outros ambientes, como a web móvel ou o desenvolvimento nativo nas principais plataformas móveis.

O código do Mojito está disponível no Github, sobre a licença BSD. A apresentação Mojito: A Tale of Two Runtimes descreve em detalhes como os widgets são desenvolvidos e executados.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber menssagens dessa discussão

Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT