Post on 05-Jul-2015
MojitoIsao Yagiisao@yahoo-inc.com
THIS IS MOJITO
THESE ARE MOJITS
THIS IS MOJITO
Need these:
• Personalization
• Internationalization
• Localization
• Instrumentation
• Monetization
THIS IS MOJITO
And we need to provide our experiences
across various devices.
It needs to be accessible and inclusive.
It needs to be safe and fast.
PRE-MOJITO
Developers using lots of languages, tool
chains, and stacks.
Nokia
Apps
Native
Java, ObjC
ConnectedTV
Widgets
Konfabulator
JavaScript
Feature Phones
Views
BluePrint
Apache/PHP
Desktop
Web Modules
Maple, YUI
Apache/PHP/JS
iOS
Apps
Native
Java, ObjC
Android
Apps
Native
Java
REBOOT
MOJITO
• Open source github.com/yahoo/mojito
• 100% Javascript
• Build on YUI
• Runs on Node.js in the Yahoo! cloud
(Manhattan)
• Same core runtime on the browser
• Same core runtime in iOS & Android
MOJITO
“The web is THE platform”
-- Bruno Fernandez-Ruiz
Start with Javascript, with YUI providing
browser abstraction, libraries and patterns.
Provide a rich MVC framework with the
“Mojit” as the organizing principle.
“MOJIT”
A kind of MODULE…
or a kind of WIDGET…
…“MOJIT”
MOJITS
• Have models, views, controllers, and binders
• Can communicate with other mojits by
messaging
• Don’t have to know about other mojits
• Can be composed together
• Can run on server or client or both
MOJITO
Does not:
• Provide user interface abstractions
• Provide any magic, like having your browser
app work like a native mobile app
Does:
• Let developers write javascript everywhere
• Let developers use the same framework and
idioms
MOJITO: COMMAND LINE
% npm install –g mojito
% mojito help
Available commands: build, compile, create, docs,
gv, help, info, jslint, start, test, version
MOJITO: AN APPLICATION
Affinity: server, client, common
Views can be selected by device
Bundle things by app or mojit
MOJITO: A VIEW
Mustache template engine (or choose your own)
MOJITO: A CONTROLLER ACTION
MOJITO: A MODEL
MOJITO: RUNNING ON YOUR MAC
THANK YOUhttps://github.com/yahoo/mojito/
http://developer.yahoo.com/cocktails/
isao@yahoo-inc.com