Yahoo has offered its Mojito application framework to the open source community under the BSD license.
Mojito is a model-view controller (MVC) JavaScript Web application framework built on release 3 of Yahoo’s open source JavaScript Yahoo User Interface Library (YUI 3).
MVC is a software architecture that isolates the domain logic from the user interface (UI), which allows for independent developing, testing and maintenance of each while providing a loose coupling between input logic, business logic and UI logic.
Mojito runs either on the client, or the server, or both.
“JavaScript is the de facto language for the Web, but unfortunately in mobile Web conditions, JavaScript sometimes does not get to run in the client,” Bruno Fernandez-Ruiz, Yahoo vice president and chief platform architect, told LinuxInsider. “Mojito solves this problem of running your code even in bad network conditions.”
Sipping on Mojito
Mojito is one of Yahoo’s Cocktails . These are a combination of HTML5, Node.JS, JavaScript and tweaks by Yahoo’s engineers.
Yahoo’s aiming Mojito at Web developers and is looking to get them to use the framework to build higher-end mobile experiences more rapidly.
Mojito lets devs write code once and run it across various devices with a bit of tweaking. Yahoo has been using it to build hybrid apps like Yahoo Livestand, Fantasy Finance and the Fantasy Premier League Football mobile Web app.
The framework runs on the client, using the client’s embedded JavaScript engine, or on the server, on Node.JS.
Although the idea behind the Web is universal access and a standard environment for applications, browser makers “agreed to disagree on enough things to essentially make this impractical from the early days,” Al Hilwa, a research director at IDC, told LinuxInsider. JavaScript and cascading style sheet frameworks such as Yahoo’s YUI “were born to handle such inconsistencies of JavaScript implementations” but now go beyond that to abstract the raw JavaScript programming environment and add widgets to improve productivity.”
Mojito “takes this a step or two further by trying to broaden this productivity and standard environment to the server,” Hilwa remarked.
Yahoo’s size “lends strong credibility” to this framework, which “offers one platform for client and server applications geared towards mobile environments,” Eric Leland, a partner at FivePaths, told LinuxInsider. “Developers are wise to adopt open sourced frameworks with big backers.”
Gunning for the Mobile Market
“Yahoo’s past, present and future is centered around mobile and data, like almost all other big players in the Internet,” the company’s Fernandez-Ruiz said. “Mojito demonstrates Yahoo’s commitment to technology and innovation and is aligned with Yahoo’s corporate strategy.”
Mojito might be able to provide runtime context, which is the data connection available to a mobile app, the connection’s speed and its bandwidth. It might also provide peak mitigation, which handles issues such as when a device is running out of power, when it might shift some of the power-hungry operations to the server.
Mojito is “optimized for content publishers, which is what Yahoo is, and switches dynamically between hosting and client execution depending on bandwidth and client power,” Rob Enderle, principal analyst at the Enderle Group, said. “It’s actually pretty impressive on paper and could lead to a much better user experience across a variety of devices and networks for Yahoo’s kind of content.”
Why Go Open Source Now?
The timing of Yahoo’s release of Mojito into the open source community might be questioned, given that the company’s reportedly about to announce massive layoffs and a major restructuring.
“With the executive shakeups and layoffs, leadership and direction have been a problem for the firm,” Enderle told LinuxInsider. “This appears to be fixing a ball that was dropped.”
However, “we decided to make Mojito open source when we came up with the idea and said we would open source back in November when we announced Cocktails,” Yahoo’s Fernandez-Ruiz said.
“You have to strike a compromise in completeness to get developers to pay attention,” IDC’s Hilwa stated.
“Putting half-baked ideas out there does not inspire confidence in a project. There is also a fair amount of due diligence process to scrub any software that’s going open source to ensure that the IP is clean,” he added.
“Building developer tools is not Yahoo’s big business, but it is critical glue for its mobile and cloud ambitions,” FivePaths’ Leland pointed out. “Opening the framework up is a wise strategy to give it life by plugging holes in the framework and building a community of free labor.”