Upload
isaoyagi
View
840
Download
1
Embed Size (px)
DESCRIPTION
An intro to Yahoo's open source javascript application framework for WPP May the Fourth Be With You
Citation preview
WHAT IS MOJITO http://developer.yahoo.com/cocktails/ Isao Yagi
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
Na've
Java, ObjC
ConnectedTV
Widgets
Konfabulator
JavaScript
Feature Phones
Views
BluePrint
Apache/PHP
Desktop
Web Modules
Maple, YUI
Apache/PHP/JS
iOS
Apps
Na've
Java, ObjC
Android
Apps
Na've
Java
REBOOT
Nokia
Apps
Native
Java, ObjC
RUNTIME
FRAMEWORK
APPLICATION
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
Mojito HTML5 Modules
MVC
Javascript
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 • Does not provide any magic, like having your
browser app work like a native mobile app Does: • Lets developers write javascript everywhere • Lets 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 YOU http://developer.yahoo.com/cocktails/ https://github.com/yahoo/mojito [email protected]