‘Cocktails’ Time For Web Developers: Yahoo

A new set of developer tools for Web applications using HTML5, JavaScript, Node.js and CSS3 released by Yahoo

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

In a 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.

He explained Cocktails is “a mix of HTML5, Node.js, CSS3, JavaScript and a lot of ingenuous, creative mind-bending tricks from Yahoo’s engineers”.

Growing bill of fare

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 back-end and browser front-end.

Not only that, but in future 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 [user interface] 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.”

The second cocktail, Manhattan, is a server-side JavaScript hosting environment for Mojito-based applications running on Yahoo’s cloud.

“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,” Fernandez-Ruiz wrote in his post. “Yahoo Manhattan provides a simple interface for developers to deploy, ‘un-deploy’, and manage multiple versions of their Mojito-based applications, employing the scale and performance of Yahoo’s technology infrastructure, for example Yahoo’s Content Distribution Network, to reduce the end-user network latency.”

“We look forward to working 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.

Yahoo plans to open source Mojito through its YDN in the first quarter of 2012. 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.