Yahoo Delivers 'Cocktails' for Web Developers

Yahoo launches a new set of tools, known as 'Cocktails,' for Web development using HTML5, Node.js, JavaScript and CSS3.

Yahoo has delivered a new set of tools and tricks to help web developers create applications using standard Web technologies such as HTML5, JavaScript and CSS.

In a Nov. 2 post on the Yahoo Developer Network (YDN) blog, Bruno Fernandez-Ruiz, a vice president and architect fellow at Yahoo, said Yahoo has been working behind the scenes for the past several months on "Cocktails," a new technology powering Livestand, which Yahoo launched at Product Runway. Livestand is Yahoo's new digital newsstand for the iPad.

Fernandez-Ruiz said "Cocktails" is "a mix of HTML5, Node.JS, CSS3, JavaScript and a lot of ingenuous, creative mind-bending tricks from Yahoo's engineers." On Nov. 2, Yahoo announced two Cocktails: Yahoo's Mojito, an environment-agnostic JavaScript Web application framework, and Yahoo Manhattan, a hosted platform for Mojito-based applications.

According to Fernandez-Ruiz, Mojito is a JavaScript Web application framework that makes "your stuff run on both sides," browser-side and server-side. With Mojito, developers will no longer have to write different code for the server backend and browser frontend. Not only that, but going forward there should be no more warnings on Web pages reading "JavaScript enabled is required," since whenever JavaScript is not enabled in the browser, Mojito-based applications will still run on the server side, all using a single code base.

"The name Mojito is very illustrative to what makes Mojito-based applications unique. Each MVC (Model View Controller) unit in Mojito is both a module and a widget," Fernandez-Ruiz said. "It's a module because it's a self-contained package of business logic. It's a widget because it's a visual element of the UI the user can interact with. Mojito apps are actually both module and widget. We called these things -Mojits' as way to describe this novel combination between modules and widgets. From there, it became Mojit, Mojito and Cocktails were born."

Meanwhile, Yahoo Manhattan is a server-side JavaScript hosting environment for Mojito-based applications running on Yahoo's Cloud, Fernandez-Ruiz said. "Yahoo Manhattan extends Node.JS to provide the necessary fault-isolation and fault-tolerance, scalability, availability, security and performance you'd otherwise expect from one of the largest Web companies in the world," he said in his post. "Yahoo Manhattan provides a simple interface for developers to deploy, un-deploy and manage multiple versions of their Mojito-based applications, leveraging the scale and performance of Yahoo's technology infrastructure, e.g., Yahoo's Content Distribution Network to reduce the end-user network latency."

Yahoo plans to open source Mojito through YDN in the first quarter of 2012. "We look forward to working with the community to make Mojito one of the leading Web frameworks going forward, so that more and more developers can create Web applications that run seamlessly on the client- and the server-side," Fernandez-Ruiz said. Later in 2012, the company will open Yahoo Manhattan for publishers to be able to run Mojito-based applications on Yahoo's Cloud, he added.

"Going forward, Mojito and Yahoo Manhattan will allow you to develop ONE app and deploy it on several devices to lower cost, increase agility and keep a uniform design across platforms (Web, mobile, tablet)," Fernandez-Ruiz wrote in his post.