SlideShare a Scribd company logo
Caridy Patiño
Bartender at Yahoo! Mojito Team
Principal Frontend Engineer at Yahoo!

caridy@yahoo-inc.com
@caridy
Introducing
   Mojito
Introducing
   Mojito
Yahoo! Cocktails is a mobile application development
      platform based on open web standards.
A little bit of history...
The Twitter Tale
FEDM Meetup: Introducing Mojito
Twitter launched a new version of the web
application that explicitly required javascript
http://twitter.com/?_twitter_noscript=1
HTML




Javascript




Content



      Runtime   FE Layer   CDN   API Layer
The problem?
  The app was sloooowwwww for
some users, specially mobile users.
Less than a year after, Twitter re-architected
 the infrastructure to get content upfront
The Problem
An Event Apart




   #aeaatl
FEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing Mojito
FEDM Meetup: Introducing Mojito
few types of mobile web applications
      that you can build today
WebViews + Web App



                +


nativ
    Native            Web

     e wr
             appe
                  r
- Part of hybrid apps
- Based on WebViews*
- HTML, JS and CSS are bundled with app
- Can work offline
- Mimic native behavior
Browser based apps




pure
       web
- Pure web apps
- Require a browser
- HTML, JS and CSS are downloaded over HTTP
- Inherit the freedom of the Web
- Discoverability is inherited as well
Our Solution
Javascript Everywhere
https://github.com/languages
http://yuilibrary.com/
Ryan Dahl: “Introduction to NodeJS”




Yahoo! hosted a BayJax meetup dedicated to NodeJS
                    May, 2010
YAF Client/Server Demo




 http://photosnear.me/
A Javascript MVC Framework for mobile applications,
     focused on supporting multiple runtimes and
              customizating per context
Mojito Runtimes
Javascript Runtimes
A runtime is a web engine container that can run a web
       application in a form of HTML, JS and CSS
A mobile browser, a webview and phonegap are
            examples of runtimes
Windows 8 has 4 runtimes:

- IE Start Screen Mode (Formerly known as Metro)
- IE Desktop Mode
- WebView (within Native Windows 8 App)
- Native Windows Runtime (Windows Store apps)



         https://github.com/yui/yui3/wiki/Windows-8-JavaScript-Runtimes
Runtimes allow us to run the same web app
           in different contexts
Every runtime has its own characteristics, features and
                   security models
Developing for a single runtime is not
longer an option for most products
Optimization & Adaptation
Optimization is about customizing the
way your app behaves per runtime, it is
about producing the right HTML, JS and
           CSS per runtime
Adaptation is about customizing the
UI per screen size, per connection
 speed, per feature detection, etc.
the race is just starting
A Javascript MVC Framework for mobile applications!


          https://github.com/yahoo/mojito
http://meteor.com/
DerbyJS

  MVC framework making it easy to write realtime,
collaborative applications that run in both Node.js and
                        browsers


                 http://derbyjs.com/
“It's agnostic to how requests are routed, which templating
     language you use or even if you render your HTML
                 on the client or the server”

            http://twitter.github.com/flight/
FEDM Meetup: Introducing Mojito
Backbone on the Client and Server

     http://nerds.airbnb.com/
Mojito Today
FEDM Meetup: Introducing Mojito
// Mojito 101

$   npm install mojito@0.5.4 -g
$   mojito version
$   mojito create app demo
$   cd ./demo
$   mojito create mojit foo
$   mojito start --context ”environment:dev”
$   curl http://localhost:8666/@foo/index
// Mojito 101 (second part)

$   mojito   build html5app ./
$   mojito   jslint app . -p
$   mojito   test app . --coverage
$   mojito   docs app ./
$   mojito   info ./
$   mojito   help
Current versions:
- mojito@0.5.4
- yui@3.8.1
One last thing...
http://github.com/yahoo/mojito
Thanks
 @caridy

More Related Content

PDF
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
PPT
Mojito: Building for multiple devices using a single language and framework
PPTX
5 single page application principles developers need to know
PDF
Progresywny WordPress
KEY
Open Hack Taiwan 2012 - Mojito intro
PPTX
Jws masterclass progressive web apps
PPT
Building for multiple devices using a single language and framework
PDF
Bruce Lawson Opera Indonesia
The challenges of building mobile HTML5 applications - FEEC Brazil 2012 - Recife
Mojito: Building for multiple devices using a single language and framework
5 single page application principles developers need to know
Progresywny WordPress
Open Hack Taiwan 2012 - Mojito intro
Jws masterclass progressive web apps
Building for multiple devices using a single language and framework
Bruce Lawson Opera Indonesia

What's hot (19)

PDF
Modern JavaScript Frameworks: Angular, React & Vue.js
PDF
Creating mobile apps with Cordova for iOS, Android and BlackBerry 10
PDF
DotNet Cologne 2015 - Windows 10 AppDev, Teil1: App Developer Basics- (Daniel...
PDF
Getting Your Hooks into Cordova
PDF
PHPBootCamp - Joomla! Framework
PDF
How to build a website... the accessible way
PPTX
Html5 mobile develop tools
PPTX
[DevDay2019] Vue.js - By Nguyen Viet Cuong, Engineer at MTI Technology
PDF
Building Desktop RIAs with PHP, HTML & Javascript in AIR
PDF
W3C Widgets: Apps made with Web Standards
PDF
Always on! ... or not?
PPTX
Web Development
PPT
Joomla CMS SEMINAR PPT
PDF
Bruce lawson Stockholm Geek Meet
PPTX
Front-End Web Development
PDF
Web Push API
PPTX
Progressive Web Apps
PDF
Symfony2 for Midgard Developers
PPT
Best And Worst Practices Building Ria with Adobe and Microsoft
Modern JavaScript Frameworks: Angular, React & Vue.js
Creating mobile apps with Cordova for iOS, Android and BlackBerry 10
DotNet Cologne 2015 - Windows 10 AppDev, Teil1: App Developer Basics- (Daniel...
Getting Your Hooks into Cordova
PHPBootCamp - Joomla! Framework
How to build a website... the accessible way
Html5 mobile develop tools
[DevDay2019] Vue.js - By Nguyen Viet Cuong, Engineer at MTI Technology
Building Desktop RIAs with PHP, HTML & Javascript in AIR
W3C Widgets: Apps made with Web Standards
Always on! ... or not?
Web Development
Joomla CMS SEMINAR PPT
Bruce lawson Stockholm Geek Meet
Front-End Web Development
Web Push API
Progressive Web Apps
Symfony2 for Midgard Developers
Best And Worst Practices Building Ria with Adobe and Microsoft
Ad

Similar to FEDM Meetup: Introducing Mojito (20)

PDF
Hybrid mobile apps
PDF
Hybridmobileapps 130130213844-phpapp02
PDF
BayJax: Expanding Yahoo! Axis across 3 screens
PPTX
Cocktails – Shaken, Not Stirred @osdc.tw
KEY
Future of Mobile
PDF
Web, Native & Hybrid Apps Overview
PDF
Mojito@nodejstw
PPTX
An overview of mobile html + java script frameworks
PDF
Anatomy of an HTML 5 mobile web app
PPTX
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
PDF
Building Cross-Platform Mobile Apps
PDF
Cordova and PhoneGap Insights
KEY
20120802 timisoara
ODP
Apache Cordova, Hybrid Application Development
PPTX
Yahoo! Mojito
PDF
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
PPTX
Mobile Web Apps
PDF
Introduction to Phonegap
KEY
DjangoSki
PPTX
Cross-Platform Development
Hybrid mobile apps
Hybridmobileapps 130130213844-phpapp02
BayJax: Expanding Yahoo! Axis across 3 screens
Cocktails – Shaken, Not Stirred @osdc.tw
Future of Mobile
Web, Native & Hybrid Apps Overview
Mojito@nodejstw
An overview of mobile html + java script frameworks
Anatomy of an HTML 5 mobile web app
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Building Cross-Platform Mobile Apps
Cordova and PhoneGap Insights
20120802 timisoara
Apache Cordova, Hybrid Application Development
Yahoo! Mojito
Building Enterprise Grade Front-End Applications with JavaScript Frameworks
Mobile Web Apps
Introduction to Phonegap
DjangoSki
Cross-Platform Development
Ad

More from Caridy Patino (10)

PPTX
MiamiJS - The Future of JavaScript
PDF
CSP Level 2: Defensa en profundidad para aplicaciones Web
PDF
The rise of single-page applications
PDF
YUIConf2013: Introducing The "Modown" Project
PDF
FOWA2013: The rise of single page applications
PDF
YUIConf2012: Mojito for YUI Developers
PDF
HTML5 summit - DevCon5 - Miami - Feb 2, 2012
PDF
Conquistando el Servidor con Node.JS
PPT
JS Loading strategies
PPT
YUI 3 Loading Strategies - YUIConf2010
MiamiJS - The Future of JavaScript
CSP Level 2: Defensa en profundidad para aplicaciones Web
The rise of single-page applications
YUIConf2013: Introducing The "Modown" Project
FOWA2013: The rise of single page applications
YUIConf2012: Mojito for YUI Developers
HTML5 summit - DevCon5 - Miami - Feb 2, 2012
Conquistando el Servidor con Node.JS
JS Loading strategies
YUI 3 Loading Strategies - YUIConf2010

Recently uploaded (20)

PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
A Presentation on Artificial Intelligence
PDF
Machine learning based COVID-19 study performance prediction
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Cloud computing and distributed systems.
PPT
Teaching material agriculture food technology
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Diabetes mellitus diagnosis method based random forest with bat algorithm
Mobile App Security Testing_ A Comprehensive Guide.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Reach Out and Touch Someone: Haptics and Empathic Computing
MYSQL Presentation for SQL database connectivity
A Presentation on Artificial Intelligence
Machine learning based COVID-19 study performance prediction
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Unlocking AI with Model Context Protocol (MCP)
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
NewMind AI Weekly Chronicles - August'25 Week I
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Encapsulation_ Review paper, used for researhc scholars
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Cloud computing and distributed systems.
Teaching material agriculture food technology
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication

FEDM Meetup: Introducing Mojito