SlideShare a Scribd company logo
Building cross platform mobile web apps
James Pearce
 Director, Developer Relations

 @ jamespearce
   jamesp@sencha.com
Sencha
Create amazing apps built
    on web standards
Web Frameworks
     Tools
     Labs
   Services
Frameworks
    Sencha Touch

    Ext JS

    Ext GWT

    Ext Core
Ext JS




 http://www.sencha.com/products/extjs/examples/
Ext JS 4




   http://dev.sencha.com/deploy/ChartsDemo/
Ext GWT


  +


http://www.sencha.com/products/extgwt/examples/
Ext Core




   http://www.sencha.com/products/extcore/
                                             M IT
Tools
        Ext Designer

        Sencha Animator
Ext Designer




   http://www.sencha.com/products/designer/
Sencha Animator




http://www.sencha.com/products/animator/demos/
Labs
       jQTouch          InfoVis

       Raphaël          PhiloGL

       Connect          Android tools

       http://www.sencha.com/company/
Building Cross-Platform
   Mobile Web Apps
             with
      HTML   CSS    JS
building(
   mobile.web().apps([
     html5, css3, js
   ]).crossPlatform()
);
building(
   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 cross platform mobile web apps
omfg
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 cross platform mobile web apps
Building cross platform mobile web apps
building(
   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
    Thin client        Thick client
     Themes               APIs
      URLs             Arguments
 Request/Response    Synchronization
Building cross platform mobile web apps
building(
   mobile.web().apps([
     html5, css3, js
   ]).crossPlatform()
);
Building cross platform mobile web apps
Building 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 P Access
                     A
                  RN
     ParallelDProcessing
                E
              O
           EM
Inter-App Communication
        ET
      PL Offline Capability
    Full
 C OM
building(
   mobile.web().apps([
     html5, css3, js
   ]).crossPlatform()
);
Building cross platform mobile web apps
Building cross platform mobile web apps
Building cross platform mobile web apps
building(
   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 cross platform mobile web apps
Documents           Applications
Declarative HTML   Programmatic DOM
   Thin client        Thick client
    Themes               APIs
     URLs             Arguments
Request/Response    Synchronization
Sencha Touch support
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
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
Data Package
Models, Stores, and Proxies
- Associations
- Validation
- Local & server storage

Easily consume web services
- JSON/P
- XML
- YQL
Theming
Use CSS3 & SASS
- Flexible themes
- Highly optimized
“The Kitchen Sink”




                 http://sencha.com/x/5e
building(
   mobile.web().apps([
     html5, css3, js
   ]).crossPlatform()
);
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
Thick client, thin server


The shortfall in the cloud
http://mysite.com/myimage.png




http://i.tinysrc.mobi/http://mysite.com/myimage.png
Location Services
        Adaptation                         Analytics



   Web Fonts                                   Data Sync




Video Serving                                   Ad Serving


                                             $
       Image Serving                       Commerce
                        Network APIs
Do we have time for
   some code?
Building 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
Building cross platform mobile web apps
PhoneGap
A platform that allows you to author native applications
  with web technologies and get access to device APIs




                 http://phonegap.com
Device Access

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

http://docs.phonegap.com
building(
   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

PDF
Building Cloud-Based Cross-Platform Mobile Web Apps
PDF
An Introduction to Sencha Touch
PPT
Usability In Mobile Applications
PPT
Salesforce touch
PDF
OreDev 2008: Software + Services
PPTX
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
PDF
Cloud Computing2
PDF
Sutra Company Profile
Building Cloud-Based Cross-Platform Mobile Web Apps
An Introduction to Sencha Touch
Usability In Mobile Applications
Salesforce touch
OreDev 2008: Software + Services
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
Cloud Computing2
Sutra Company Profile

What's hot (20)

PDF
Ajax World Oct2008 Jrd
PDF
Egl Rui Ajax World
PDF
air
PDF
ITCamp 2012 - Lorant Domokos - Building single page, modular HTML5 applications
PPTX
Developing with Windows Live
PPTX
Shape 2013 developing multi targeting windows store and windows phone apps
PDF
Building Desktop & Mobile Apps with Sencha and Force.com
PDF
Michael Adobe Flex Java 1 London
PPSX
Developing Downloadable Mobile Apps Using HTML5 and PhoneGap
PPT
Introduction to the Windows Live Platform
PPTX
Soa204 Kawasaki Final
PPTX
Building single page, modular html5 applications for PC and Mobile
PPTX
Sao Paolo Workshop
PPTX
Win8 ru
PDF
Develop multi-screen applications with Flex
PDF
Camo Tech (Apr 2010)V191
PPT
Web2.0 Ajax and REST in WebSphere Portal
PPTX
Comm Gate Corporate Profile V0.4
PDF
Camo Tech (Apr 2010)
PDF
Glass Fish Mobility Platform Santiago Pericas Geersten V2
Ajax World Oct2008 Jrd
Egl Rui Ajax World
air
ITCamp 2012 - Lorant Domokos - Building single page, modular HTML5 applications
Developing with Windows Live
Shape 2013 developing multi targeting windows store and windows phone apps
Building Desktop & Mobile Apps with Sencha and Force.com
Michael Adobe Flex Java 1 London
Developing Downloadable Mobile Apps Using HTML5 and PhoneGap
Introduction to the Windows Live Platform
Soa204 Kawasaki Final
Building single page, modular html5 applications for PC and Mobile
Sao Paolo Workshop
Win8 ru
Develop multi-screen applications with Flex
Camo Tech (Apr 2010)V191
Web2.0 Ajax and REST in WebSphere Portal
Comm Gate Corporate Profile V0.4
Camo Tech (Apr 2010)
Glass Fish Mobility Platform Santiago Pericas Geersten V2
Ad

Similar to Building cross platform mobile web apps (20)

PDF
Building Cross Platform Mobile Web Apps
PDF
HTML5 and the dawn of rich mobile web applications
PDF
An Intro to Mobile HTML5
PDF
HTML5 and the dawn of rich mobile web applications pt 1
PDF
A Snapshot of the Mobile HTML5 Revolution
PDF
Cross platform mobile web apps
PDF
Bd conf sencha touch workshop
KEY
Building Rich Mobile Apps with HTML5, CSS3 and JavaScript
PDF
Sencha Touch for Rubyists
PPTX
Application Development Approaches
PPT
Architecting RIAs
PDF
mobicon_paper
PPTX
Windows Phone 7 and Silverlight
PPSX
Cross platform mobile application architecture for enterprise
PDF
Polysource-IT Profile
PDF
Polysource-IT Profile
PPSX
Silverlight development
PPTX
Silverlight development
PDF
Polysource It Profile
PDF
Poly Source It Profile
Building Cross Platform Mobile Web Apps
HTML5 and the dawn of rich mobile web applications
An Intro to Mobile HTML5
HTML5 and the dawn of rich mobile web applications pt 1
A Snapshot of the Mobile HTML5 Revolution
Cross platform mobile web apps
Bd conf sencha touch workshop
Building Rich Mobile Apps with HTML5, CSS3 and JavaScript
Sencha Touch for Rubyists
Application Development Approaches
Architecting RIAs
mobicon_paper
Windows Phone 7 and Silverlight
Cross platform mobile application architecture for enterprise
Polysource-IT Profile
Polysource-IT Profile
Silverlight development
Silverlight development
Polysource It Profile
Poly Source It Profile
Ad

More from James Pearce (13)

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

Recently uploaded (20)

PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
cuic standard and advanced reporting.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Encapsulation theory and applications.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
cuic standard and advanced reporting.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
NewMind AI Monthly Chronicles - July 2025
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Building Integrated photovoltaic BIPV_UPV.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Electronic commerce courselecture one. Pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Dropbox Q2 2025 Financial Results & Investor Presentation
Advanced methodologies resolving dimensionality complications for autism neur...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Understanding_Digital_Forensics_Presentation.pptx
Machine learning based COVID-19 study performance prediction
Encapsulation theory and applications.pdf
Network Security Unit 5.pdf for BCA BBA.
Digital-Transformation-Roadmap-for-Companies.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025

Building cross platform mobile web apps