Upload
isaoyagi
View
516
Download
3
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
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