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

PDF
Building cross platform mobile web apps
PDF
An Introduction to Sencha Touch
PPTX
Developing with Windows Live
PDF
Mxim Framework
PDF
Inaugural address manjusha - Indicthreads cloud computing conference 2011
PPT
Salesforce touch
PDF
6 develop web20_with_rad-tim_frnacis_sarika-s
 
PDF
Cloud & The Mobile Stack
Building cross platform mobile web apps
An Introduction to Sencha Touch
Developing with Windows Live
Mxim Framework
Inaugural address manjusha - Indicthreads cloud computing conference 2011
Salesforce touch
6 develop web20_with_rad-tim_frnacis_sarika-s
 
Cloud & The Mobile Stack

What's hot (18)

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

Viewers also liked (6)

PPS
Vb.net session 11
PPTX
Application of mis in material mangement and marketing
PPTX
Your First Adobe Flash Application for Android
PDF
Creating and Distributing Mobile Web Applications with PhoneGap
PDF
App程式上架google play流程
PDF
Anatomy of an HTML 5 mobile web app
Vb.net session 11
Application of mis in material mangement and marketing
Your First Adobe Flash Application for Android
Creating and Distributing Mobile Web Applications with PhoneGap
App程式上架google play流程
Anatomy of an HTML 5 mobile web app
Ad

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

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

More from James Pearce (11)

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
Theming and Sass
PDF
Source Dev Con Keynote
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
Theming and Sass
Source Dev Con Keynote
Serving Mobile Apps from Content Management Systems

Recently uploaded (20)

PDF
KodekX | Application Modernization Development
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Advanced IT Governance
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Electronic commerce courselecture one. Pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Approach and Philosophy of On baking technology
PPT
Teaching material agriculture food technology
PPTX
Big Data Technologies - Introduction.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Cloud computing and distributed systems.
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
KodekX | Application Modernization Development
Spectral efficient network and resource selection model in 5G networks
Advanced IT Governance
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
The AUB Centre for AI in Media Proposal.docx
Electronic commerce courselecture one. Pdf
cuic standard and advanced reporting.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Approach and Philosophy of On baking technology
Teaching material agriculture food technology
Big Data Technologies - Introduction.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Cloud computing and distributed systems.
Review of recent advances in non-invasive hemoglobin estimation
Diabetes mellitus diagnosis method based random forest with bat algorithm
NewMind AI Weekly Chronicles - August'25 Week I
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf

Building Cloud-Based Cross-Platform Mobile Web Apps

  • 2. James Pearce Director, Developer Relations @ jamespearce jamesp@sencha.com
  • 3. Building Cloud-based Cross-Platform Mobile Web Apps with HTML CSS JS
  • 4. building( cloudBased( mobile.web().apps([ html5, css3, js ]).crossPlatform() ) );
  • 5. building( cloudBased( mobile.web().apps([ html5, css3, js ]).crossPlatform() ) );
  • 6. 2008 We must have an iPhone App!
  • 7. 2009 We must have an Android App!
  • 8. 2010 We must have an iPad App!
  • 11. omfg
  • 14. 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
  • 15. building( cloudBased( mobile.web().apps([ html5, css3, js ]).crossPlatform() ) );
  • 16. The Mobile Web Cross-platform Familiar skills & tools Decentralized Easily updated Indexed Well-understood technologies
  • 17. The Web is Evolving... Documents Applications Declarative HTML Programmatic DOM Themes APIs URLs Arguments Request/Response Synchronization Thin client Thick client
  • 19. building( cloudBased( mobile.web().apps([ html5, css3, js ]).crossPlatform() ) );
  • 20. -webkit accelerometer @page localStorage CSS Text @media manifest transform <video> WebSQL GeoLocation type=camera canvas keyframe gradient
  • 23. 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
  • 24. 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
  • 25. building( cloudBased( mobile.web().apps([ html5, css3, js ]).crossPlatform() ) );
  • 29. building( cloudBased( mobile.web().apps([ html5, css3, js ]).crossPlatform() ) );
  • 30. WebKit FOEs
  • 31. 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
  • 32. Stay on top of diversity Can I Use? http://caniuse.com Modernizr http://modernizr.com DeviceAtlas http://deviceatlas.com
  • 34. Documents Applications Declarative HTML Programmatic DOM Themes APIs URLs Arguments Request/Response Synchronization Thin client Thick client
  • 36. What’s in Sencha Touch? Layouts & components Theming & icons Orientation & animation Touch events & scroller Data package MVC framework
  • 37. Components Lists - Nested, Grouped, Sortable Carousel Picker Overlay Slider Forms & fields Toolbars & buttons HTML5 - Audio - Video - GeoLocation
  • 38. Theming Use CSS3 & SASS - Flexible themes - Highly optimized
  • 39. Forms
  • 40. Scrolling Momentum/bounce physics Hardware accelerated Throughout all components: - Lists - Carousel - Pickers
  • 41. Touch Events Built on native events Abstracted for performance Additional events - Tap - Double tap - Tap and hold - Swipe - Rotate - Drag & drop
  • 42. “The Kitchen Sink” http://sencha.com/x/5e
  • 43. building( cloudBased( mobile.web().apps([ html5, css3, js ]).crossPlatform() ) );
  • 44. Data Package Models, Stores, and Proxies - Associations - Validation - Local & server storage Easily consume web services - JSON/P - XML - YQL
  • 45. Evolving a site for mobile Views HTML, CSS... Controllers Models
  • 46. Evolving a site for mobile Desktop Switcher HTML, CSS... Mobile Controllers Models
  • 47. A dedicated mobile app Desktop Switchers Mobile REST JSO on Controllers N ce Models
  • 48. Thematic consistency http://mysite.com/posts/123 http://mysite.com/#!/posts/123
  • 49. The stack of the present req/res User interface Rendering Business logic Storage
  • 50. A stack of the future User interface sync Security Business logic Storage Storage
  • 51. <aside> JSON          JavaScript  Object  Notation JSON-­‐P      JSON  with  Padding CORS          Cross-­‐Origin  Resource  Sharing </aside>
  • 52. Thick client, thin server The shortfall in the cloud
  • 53. Location Services Adaptation Analytics Web Fonts Data Sync Video Serving Ad Serving $ Image Serving Commerce Network APIs
  • 55. building( cloudBased( mobile.web().apps([ html5, css3, js ]).crossPlatform() ) );
  • 56. Do we have time for some code?
  • 59. The cloud at work... Location API to get lat/long MongoLabs to get city name Yelp to get businesses
  • 60. https://github.com/ senchalearn/ seattlebars
  • 61. PhoneGap A platform that allows you to author native applications with web technologies and get access to device APIs http://phonegap.com
  • 62. +
  • 64. Device Access Accelerometer File Camera Geolocation Compass Media Contacts Network Device Notification Events Storage http://docs.phonegap.com
  • 65. building( cloudBased( mobile.web().apps([ html5, css3, js ]).crossPlatform() ) );
  • 66. built with Apps vs Web technology
  • 67. James Pearce Director, Developer Relations @ jamespearce jamesp@sencha.com