SlideShare a Scribd company logo
Building Cloud-Based Cross-Platform Mobile Web Apps
James Pearce
 Director, Developer Relations

 @ jamespearce
   jamesp@sencha.com
Building Cloud-based
Cross-Platform Mobile
      Web Apps
            with
     HTML   CSS    JS
building(
   cloudBased(
     mobile.web().apps([
       html5, css3, js
     ]).crossPlatform()
   )
);
building(
   cloudBased(
     mobile.web().apps([
       html5, css3, js
     ]).crossPlatform()
   )
);
2008

We must have an
 iPhone App!
2009

We must have an
 Android App!
2010

We must have an
   iPad App!
2011

We must have a...
Building Cloud-Based Cross-Platform Mobile Web Apps
omfg
Building Cloud-Based Cross-Platform Mobile Web Apps
Building Cloud-Based Cross-Platform Mobile Web Apps
JS
        C# Palm   J2ME
    Microsoft

                        RIM         RIM
                                    Android
                                    Apple
Apple                     Air       Microsoft
                                    Palm
Obj-C
                       Java
         C++ Android            Top U.S. Smartphone Platforms,
                                3 Month Average Ending December 2010
                                comScore MobiLens 2010
building(
   cloudBased(
     mobile.web().apps([
       html5, css3, js
     ]).crossPlatform()
   )
);
The Mobile Web
Cross-platform
Familiar skills & tools
Decentralized
Easily updated
Indexed
Well-understood technologies
The Web is Evolving...
   Documents           Applications
 Declarative HTML   Programmatic DOM
     Themes               APIs
      URLs             Arguments
 Request/Response    Synchronization
    Thin client        Thick client
Building Cloud-Based Cross-Platform Mobile Web Apps
building(
   cloudBased(
     mobile.web().apps([
       html5, css3, js
     ]).crossPlatform()
   )
);
-webkit
       accelerometer
                                        @page
  localStorage
                                                CSS Text
  @media
                                                 manifest
transform
                                                <video>
  WebSQL
                                             GeoLocation

   type=camera                              canvas

                  keyframe       gradient
Building Cloud-Based Cross-Platform Mobile Web Apps
Building Cloud-Based Cross-Platform Mobile Web Apps
A New Mobile App Stack
                WebFonts        Video      Audio    Graphics
Device Access                                                  Server & Services

  Camera                    CSS Styling & Layout                    HTTP

  Location                                                          AJAX
                                   Javascript
  Contacts                                                          Events

    SMS                          Semantic HTML                     Sockets

 Orientation                                                         SSL
                 File Systems        Worker
                                                    x-App
    Gyro              DBs            Parallel                      More...
                                                   Messaging
                  App Cache         Processing
Rich Media & StylingO     RM
                           TF
                        LA
    Full Resource PP PAccess
                    A
                 RN
     ParallelDProcessing
               E
             O
            M Communication
Inter-AppTE
       LE
      P O ine Capability
 C  Full
   OM
building(
   cloudBased(
     mobile.web().apps([
       html5, css3, js
     ]).crossPlatform()
   )
);
Building Cloud-Based Cross-Platform Mobile Web Apps
Building Cloud-Based Cross-Platform Mobile Web Apps
Building Cloud-Based Cross-Platform Mobile Web Apps
building(
   cloudBased(
     mobile.web().apps([
       html5, css3, js
     ]).crossPlatform()
   )
);
WebKit   FOEs
HTML5 Support
                       IE 10 PR   Chrome 10   Safari 5   Firefox 4   iOS4.31   Playbook   Honeycomb
@font-face
Canvas
HTML5 Audio & Video
rgba(), hsla()
border-image:
border-radius:
box-shadow:
text-shadow:
opacity:
Multiple backgrounds
Flexible Box Model
CSS Animations
CSS Columns
CSS Gradients
CSS Reflections
CSS 2D Transforms
CSS 3D Transforms
CSS Transitions
Geolocation API
local/sessionStorage
SVG/SVG Clipping
SMIL
Inline SVG
Drag and Drop
hashchange
X-window Messaging
History Management
applicationCache
Web Sockets
Web Workers
Web SQL Database
WebGL
IndexedDB
Stay on top of diversity
Can I Use?
http://caniuse.com

Modernizr
http://modernizr.com

DeviceAtlas
http://deviceatlas.com
Building Cloud-Based Cross-Platform Mobile Web Apps
Documents           Applications
Declarative HTML   Programmatic DOM
    Themes               APIs
     URLs             Arguments
Request/Response    Synchronization
   Thin client        Thick client
Building Cloud-Based Cross-Platform Mobile Web Apps
What’s in Sencha Touch?
Layouts & components
Theming & icons
Orientation & animation
Touch events & scroller
Data package
MVC framework
Components
Lists
- Nested, Grouped, Sortable
Carousel
Picker
Overlay
Slider
Forms & fields
Toolbars & buttons
HTML5
- Audio
- Video
- GeoLocation
Theming
Use CSS3 & SASS
- Flexible themes
- Highly optimized
Forms
Scrolling
Momentum/bounce physics

Hardware accelerated

Throughout all components:
- Lists
- Carousel
- Pickers
Touch Events
Built on native events

Abstracted for performance

Additional events
- Tap
- Double tap
- Tap and hold
- Swipe
- Rotate
- Drag & drop
“The Kitchen Sink”




                 http://sencha.com/x/5e
building(
   cloudBased(
     mobile.web().apps([
       html5, css3, js
     ]).crossPlatform()
   )
);
Data Package
Models, Stores, and Proxies
- Associations
- Validation
- Local & server storage

Easily consume web services
- JSON/P
- XML
- YQL
Evolving a site for mobile

   Views
               HTML, CSS...


 Controllers
  Models
Evolving a site for mobile
            Desktop
 Switcher


                      HTML, CSS...
             Mobile


   Controllers
            Models
A dedicated mobile app
            Desktop
Switchers



             Mobile
             REST
                      JSO    on
  Controllers            N
                               ce

            Models
Thematic consistency


   http://mysite.com/posts/123



  http://mysite.com/#!/posts/123
The stack of the present


                 req/res
User interface             Rendering
Business logic
   Storage
A stack of the future



                   User interface
            sync
Security           Business logic
Storage               Storage
<aside>

JSON          JavaScript  Object  Notation

JSON-­‐P      JSON  with  Padding

CORS          Cross-­‐Origin  Resource  Sharing




                                    </aside>
Thick client, thin server


The shortfall in the cloud
Location Services
        Adaptation                         Analytics



   Web Fonts                                   Data Sync




Video Serving                                   Ad Serving


                                             $
       Image Serving                       Commerce
                        Network APIs
http://mysite.com/myimage.png




http://i.tinysrc.mobi/http://mysite.com/myimage.png
building(
   cloudBased(
     mobile.web().apps([
       html5, css3, js
     ]).crossPlatform()
   )
);
Do we have time for
   some code?
Building Cloud-Based Cross-Platform Mobile Web Apps
http://senchalearn.github.com/seattlebars/
The cloud at work...
Location API to get lat/long

MongoLabs to get city name

Yelp to get businesses
https://github.com/
    senchalearn/
     seattlebars
PhoneGap
A platform that allows you to author native applications
  with web technologies and get access to device APIs




                 http://phonegap.com
+
PhoneGap Build
Device Access

Accelerometer   File
Camera          Geolocation
Compass         Media
Contacts        Network
Device          Notification
Events          Storage

http://docs.phonegap.com
building(
   cloudBased(
     mobile.web().apps([
       html5, css3, js
     ]).crossPlatform()
   )
);
built with

Apps vs Web technology
James Pearce
 Director, Developer Relations

 @ jamespearce
   jamesp@sencha.com

More Related Content

What's hot (18)

PPSX
Developing Downloadable Mobile Apps Using HTML5 and PhoneGap
Worklight
 
PDF
Tactics Esb Implementation
Murali Manohar
 
PDF
ITCamp 2012 - Lorant Domokos - Building single page, modular HTML5 applications
ITCamp
 
PDF
Exploring REST Purity and Pragmatism - Tuesday, November 6, 2012
WSO2
 
PPT
Cloudforce Essentials 2012 - Understanding Force.com in 60 Minutes or Less
Salesforce_APAC
 
PPTX
Tacademy techclinic-2012-07-11
영호 라
 
PPTX
IT Modernization and Cloud Computing
Barry Gervin
 
PPTX
Navantis & Microsoft "Find Your Silver Lining in the Cloud" Event Slidedeck
Navantis
 
PPTX
SharePoint 2013 - What's new for Devs - Belgian IT Bootcamp 2012
Joris Poelmans
 
PPTX
Win8 ru
Igor Sychev
 
PPTX
Migrate a on-prem platform to the public cloud with Java - SpringBoot and PCF
Roy Braam
 
PPTX
Mesh-Enabled Web Applications
goodfriday
 
PPTX
Introducing ADF Mobile - and Luc Bors(AMIS SIG, 12th November 2012)
Lucas Jellema
 
PPT
La qualità delle applicazioni Web
Roberto Polillo
 
PDF
Building Desktop & Mobile Apps with Sencha and Force.com
Salesforce Developers
 
PDF
Iboss Web Brochure
ibosstech
 
PDF
콜센터의 지능화와 고객 관리 혁신 - 클라우드가 도와 드립니다  - 김정곤 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
Amazon Web Services Korea
 
PPTX
Building single page, modular html5 applications for PC and Mobile
Lorant Domokos
 
Developing Downloadable Mobile Apps Using HTML5 and PhoneGap
Worklight
 
Tactics Esb Implementation
Murali Manohar
 
ITCamp 2012 - Lorant Domokos - Building single page, modular HTML5 applications
ITCamp
 
Exploring REST Purity and Pragmatism - Tuesday, November 6, 2012
WSO2
 
Cloudforce Essentials 2012 - Understanding Force.com in 60 Minutes or Less
Salesforce_APAC
 
Tacademy techclinic-2012-07-11
영호 라
 
IT Modernization and Cloud Computing
Barry Gervin
 
Navantis & Microsoft "Find Your Silver Lining in the Cloud" Event Slidedeck
Navantis
 
SharePoint 2013 - What's new for Devs - Belgian IT Bootcamp 2012
Joris Poelmans
 
Win8 ru
Igor Sychev
 
Migrate a on-prem platform to the public cloud with Java - SpringBoot and PCF
Roy Braam
 
Mesh-Enabled Web Applications
goodfriday
 
Introducing ADF Mobile - and Luc Bors(AMIS SIG, 12th November 2012)
Lucas Jellema
 
La qualità delle applicazioni Web
Roberto Polillo
 
Building Desktop & Mobile Apps with Sencha and Force.com
Salesforce Developers
 
Iboss Web Brochure
ibosstech
 
콜센터의 지능화와 고객 관리 혁신 - 클라우드가 도와 드립니다  - 김정곤 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021
Amazon Web Services Korea
 
Building single page, modular html5 applications for PC and Mobile
Lorant Domokos
 

Viewers also liked (6)

PPS
Vb.net session 11
Niit Care
 
PPTX
Application of mis in material mangement and marketing
Gunjan Lal
 
PPTX
Your First Adobe Flash Application for Android
Motorola Mobility - MOTODEV
 
PDF
Creating and Distributing Mobile Web Applications with PhoneGap
James Pearce
 
PDF
App程式上架google play流程
newegg
 
PDF
Anatomy of an HTML 5 mobile web app
Ivano Malavolta
 
Vb.net session 11
Niit Care
 
Application of mis in material mangement and marketing
Gunjan Lal
 
Your First Adobe Flash Application for Android
Motorola Mobility - MOTODEV
 
Creating and Distributing Mobile Web Applications with PhoneGap
James Pearce
 
App程式上架google play流程
newegg
 
Anatomy of an HTML 5 mobile web app
Ivano Malavolta
 
Ad

Similar to Building Cloud-Based Cross-Platform Mobile Web Apps (20)

PDF
Building Cross Platform Mobile Web Apps
James Pearce
 
PDF
An Intro to Mobile HTML5
James Pearce
 
PDF
HTML5 and the dawn of rich mobile web applications
James Pearce
 
PDF
A Snapshot of the Mobile HTML5 Revolution
James Pearce
 
PDF
Cross platform mobile web apps
James Pearce
 
PDF
HTML5 and the dawn of rich mobile web applications pt 1
James Pearce
 
PDF
Bd conf sencha touch workshop
James Pearce
 
KEY
Building Rich Mobile Apps with HTML5, CSS3 and JavaScript
Sencha
 
PDF
Building tomorrow's web with today's tools
James Pearce
 
PPTX
Application Development Approaches
Osman Celik
 
PPTX
When worlds Collide: HTML5 Meets the Cloud
David Pallmann
 
PDF
Next Generation Web Attacks – HTML 5, DOM(L3) and XHR(L2)
Shreeraj Shah
 
PDF
air
locifer
 
PPSX
Cross platform mobile application architecture for enterprise
Venkat Alagarsamy
 
PPSX
Silverlight development
Anurag Gupta
 
PPTX
Silverlight development
Vivek Chaturvedi
 
PDF
Sencha Touch for Rubyists
James Pearce
 
PDF
Development Model for The Cloud
umityalcinalp
 
PPT
FIND ME IF YOU CAN – SMART FUZZING AND DISCOVERY
Shreeraj Shah
 
PDF
Shreeraj-Hacking_Web_2
guest66dc5f
 
Building Cross Platform Mobile Web Apps
James Pearce
 
An Intro to Mobile HTML5
James Pearce
 
HTML5 and the dawn of rich mobile web applications
James Pearce
 
A Snapshot of the Mobile HTML5 Revolution
James Pearce
 
Cross platform mobile web apps
James Pearce
 
HTML5 and the dawn of rich mobile web applications pt 1
James Pearce
 
Bd conf sencha touch workshop
James Pearce
 
Building Rich Mobile Apps with HTML5, CSS3 and JavaScript
Sencha
 
Building tomorrow's web with today's tools
James Pearce
 
Application Development Approaches
Osman Celik
 
When worlds Collide: HTML5 Meets the Cloud
David Pallmann
 
Next Generation Web Attacks – HTML 5, DOM(L3) and XHR(L2)
Shreeraj Shah
 
air
locifer
 
Cross platform mobile application architecture for enterprise
Venkat Alagarsamy
 
Silverlight development
Anurag Gupta
 
Silverlight development
Vivek Chaturvedi
 
Sencha Touch for Rubyists
James Pearce
 
Development Model for The Cloud
umityalcinalp
 
FIND ME IF YOU CAN – SMART FUZZING AND DISCOVERY
Shreeraj Shah
 
Shreeraj-Hacking_Web_2
guest66dc5f
 
Ad

More from James Pearce (11)

PDF
Mobile Device APIs
James Pearce
 
PDF
The City Bars App with Sencha Touch 2
James Pearce
 
PDF
A mobile web app for Android in 75 minutes
James Pearce
 
PDF
HTML5 and the dawn of rich mobile web applications pt 2
James Pearce
 
PDF
Building a Mobile App with Sencha Touch
James Pearce
 
PDF
Create a mobile web app with Sencha Touch
James Pearce
 
PDF
City bars workshop
James Pearce
 
PDF
San Diego Hackathon
James Pearce
 
PDF
Theming and Sass
James Pearce
 
PDF
Source Dev Con Keynote
James Pearce
 
PDF
Serving Mobile Apps from Content Management Systems
James Pearce
 
Mobile Device APIs
James Pearce
 
The City Bars App with Sencha Touch 2
James Pearce
 
A mobile web app for Android in 75 minutes
James Pearce
 
HTML5 and the dawn of rich mobile web applications pt 2
James Pearce
 
Building a Mobile App with Sencha Touch
James Pearce
 
Create a mobile web app with Sencha Touch
James Pearce
 
City bars workshop
James Pearce
 
San Diego Hackathon
James Pearce
 
Theming and Sass
James Pearce
 
Source Dev Con Keynote
James Pearce
 
Serving Mobile Apps from Content Management Systems
James Pearce
 

Recently uploaded (20)

PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PPTX
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
PDF
Advancing WebDriver BiDi support in WebKit
Igalia
 
PDF
July Patch Tuesday
Ivanti
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
DevBcn - Building 10x Organizations Using Modern Productivity Metrics
Justin Reock
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Webinar: Introduction to LF Energy EVerest
DanBrown980551
 
Advancing WebDriver BiDi support in WebKit
Igalia
 
July Patch Tuesday
Ivanti
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 

Building Cloud-Based Cross-Platform Mobile Web Apps