SlideShare a Scribd company logo
1 of 45
Mobile Web Apps in a Nutshell
Who Am I?


          Frame
          useframe.com


Nicolae Rusan
Co-founder,
Design/JS Engineer
What Is Mobile Web?
   What Is Mobile Web?

Optimized Sites up to Full Blown Apps
in the Browser
What Is Mobile Web?
   What Is Mobile Web?

Design for a variety of screen sizes and
devices
What Is Mobile Web?

Taking advantage of device capabilities
What Is Mobile Web?

Handling Limitations
                 • Browser Memory
                 • Slower Networks
                 • Slower Hardware
                 • Different Capabilities
Why Mobile Web?

Write once, works everywhere..
Why Mobile Web?

Write once, works everywhere..
(Still not there yet.)
Why Mobile Web?

People are used to browsers
Customers
•   Do they know your site?
•   Specific use case: more likely
    to use browser than native
    app?
Why Mobile Web?

People are used to browsers
Developers
•   Familiar technologies:
•   HTML, Javascript, CSS
Why Mobile Web?

Not competitive with Native Apps!
Why not do both?
Why Mobile Web?

Some frameworks let you:
write web code => compiled to native:
e.g. PhoneGap, Appcelerator‟s Titanium
etc.
Why Not Mobile Web?

Native Apps still have better
performance and responsiveness.
Why Not Mobile Web?

The App Store is a good distribution
channel
• easier to charge
Why Not Mobile Web?

If you need Device APIs
e.g. Camera, Voice
- (Phone Gap Workaround)
Why Not Mobile Web?

It‟s good to be an app!
• Homescreen real-estate
• Push notifications
Frameworks
Touch

Full out MVC Framework w/ Touch
• built on top of Ext JS
Touch

Cross-browser
• Both Mobile and Desktop
Touch

Don‟t write HTML, glue together “Components”
• Lots of GUI Components :
  • E.g. Carousel, Picker, Toolbars, Animations,
    Charts and Graphs.
• Lots of Touch Events
Touch

Close integration with PhoneGap
Touch

• Reasonably well documented
• Free to use (unless you‟re making an app builder)
   • Can pay for support
Touch


For Examples:
Sencha Kitchen Sink
http://dev.sencha.com/deploy/touch/examples/kitchensink/
RedditUI
(iPad Web App built by Frame CTO on Sencha 2.0)
http://www.redditui.com
Touch

Cons:           • Heavy
                   • 365KB, >40K lines of
                     code, DOM Bloat
                   • Initial load time.
Touch

Cons:           • Heavy
                   • 365KB, >40K lines of
                     code, DOM Bloat
                   • Initial load time.
                • Weird Bugs, hard to
                  identify best practices
Touch

Cons:           • Heavy
                   • 365KB, >40K lines of
                     code, DOM Bloat
                   • Initial load time.
                • Weird Bugs, hard to
                  identify best practices
                • Hard to separate
                  components
Touch

Cons:           • Heavy
                   • 365KB, >40K lines of
                     code, DOM Bloat
                   • Initial load time.
                • Weird Bugs, hard to
                  identify best practices
                • Hard to separate
                  components
                • Do you need all these
                  browsers supported?
Touch

Cons:           • Sencha 2.0 is out in
                  developer preview,
                  working to fix many of
                  these issues
•   Developed by Sencha Labs
•   Not full MVC (separate from Ext JS)
•   Touch events (swipe, tap)
•   Some UI Components (not as may as sencha)
•   Fairly performant, decent documentation, still
    crashes fairly often
Zepto.js
• Mobile WebKit browsers + Safari, Chrome,
  Firefox, Opera
• Based on jQuery syntax (familiar selectors, and
  event binding)
• Very Small: 2KB – they care about speed.
• Adds Touch events:
  • swipeleft, swiperight, tap, doubletap, pinchin pinchout
    etc. that you can bind to elements
  • e.g. $(„some selector‟).swipeLeft(function(){
     });
Zepto.js
• Mobile WebKit browsers + Safari, Chrome,
  Firefox, Opera
• Based on jQuery syntax (familiar selectors, and
  event binding)
• Very Small: 2KB – they care about speed.
• Adds Touch events:
  • swipeleft, swiperight, tap, doubletap, pinchin pinchout
    etc. that you can bind to elements
  • e.g. $(„some selector‟).swipeLeft(function(){
     });
Zepto.js
• Mobile WebKit browsers + Safari, Chrome,
  Firefox, Opera
Zepto.js
• Mobile WebKit browsers + Safari, Chrome,
  Firefox, Opera
• Based on jQuery syntax (familiar selectors, and
  event binding)
Zepto.js
• Mobile WebKit browsers + Safari, Chrome,
  Firefox, Opera
• Based on jQuery syntax (familiar selectors, and
  event binding)
• Very Small: 2KB – helps initial speed.
Zepto.js
• Mobile WebKit browsers + Safari, Chrome,
  Firefox, Opera
• Based on jQuery syntax (familiar selectors, and
  event binding)
• Very Small: 2KB – helps initial speed.
• Adds Touch events:
  • swipeleft, swiperight, tap, doubletap, pinchin pinchout
    etc. that you can bind to elements
  • e.g. $(„some selector‟).swipeLeft(function(){
     });
Cubiq iScroll – Matteo Spinelli


• http://cubiq.org/
• Various components + experiments you can use
• e.g. scrollable content, carousels very nice
  picker, full-page carousel, pull to refresh
• Small file sizes
• good examples and explanation of code
• Used on Nike.com, Apple and others
Other Frameworks to Checkout

• Other Frameworks:
   • DojoToolkit, jQuery Mobile,
• Compile to native apps:
   • PhoneGap, Appcelerator‟s Titanium,
     Rhomobile, and many others
How From The Ground Up

• Setup Web App mode
 <meta    name="viewport"
          content="width=device-width,
          initial-scale=1,
          maximum-scale=1,
          minimum-scale=1,
          user-scalable=0" />

 <meta name="apple-mobile-web-app-capable" content="yes">
 <meta name="apple-mobile-web-app-status-bar-style" content="black-
 translucent" />


 Checkout Viewporter: https://github.com/zynga/viewporter/
How From The Ground Up

• Built in Touch Events in Safari
  touchstart: a finger is placed on a DOM element.
  touchmove: a finger is dragged along a DOM element.
  touchend: a finger is removed from a DOM element.
  touches: a list of all fingers currently on the screen.
  targetTouches: a list of fingers on the current DOM element.
  changedTouches: a list of fingers involved in the current event. For
  example, in a touchend event, this will be the finger that was
  removed.
How From The Ground Up

• Built in Gesture Events
    –   E.g. pinch,
    –   Not available on all devices/browsers




•   Built in Orientation Events
How From The Ground Up

• More than touch:
 –       Accelerometer + Gyroscope APIs
 –       GeoLocation
 –       Other HTML 5 + CSS 3 goodness:
     •     E.g. WebSockets, onhashchange
     •     CSS 3 transforms for hardware acceleration,
           instead of javascript
How From The Ground Up

• More than touch:
 –       Accelerometer + Gyroscope APIs
 –       GeoLocation
 –       Other HTML 5 + CSS 3 goodness:
     •     E.g. WebSockets, onhashchange
     •     CSS 3 transforms for hardware acceleration,
           instead of javascript
Resources
•   Checkout Frame for an example of what’s possible:
     –   www.useframe.com
     –   Sample Store (browse on iPad) : www.shop.kindredclothiers.com
•   Frameworks and Libraries:
     –   Zepto: http://zeptojs.com/
     –   Sencha: http://www.sencha.com/products/touch/
     –   jQTouch: http://jqtouch.com/
     –   jQuery Mobile: http://jquerymobile.com/
     –   Cubiq (iScroll): http://cubiq.org/ (also has sample of Add to Homescreen code for webapps)
     –   Scrollability: http://joehewitt.github.com/scrollability/
•   Packaging as a Native App
     –   PhoneGap: http://phonegap.com/
     –   Titanium: http://www.appcelerator.com/
     –   AppMobi: http://www.appmobi.com/
•   Native Browser Events/ Doing things from scratch
     –   Great Intro Article and Resources: http://www.html5rocks.com/en/mobile/touch.html
     –   Apple documentation on webkit touch events:
         http://developer.apple.com/library/IOs/#documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/Han
         dlingEvents.html
     –   http://ross.posterous.com/2008/08/19/iphone-touch-events-in-javascript
•   Good Presentations
     –   Performance: http://www.slideshare.net/firt/mobile-web-html5-performance-optimization?from=ss_embed
     –   More About Why Perf Matters and Responsive Design: http://www.slideshare.net/bryanrieger/rethinking-the-mobile-web-by-
         yiibu
Future of Mobile Web?
2012:
Gap between native and web shrinks
Device APIs opened up to browsers.
A winning Framework?
Write Web Straight to Native?
Thanks for your time 


Resources will be online soon.

More Related Content

Recently uploaded

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 

Recently uploaded (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Featured (20)

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 

Mobile Web Apps in a Nutshell

  • 1. Mobile Web Apps in a Nutshell
  • 2. Who Am I? Frame useframe.com Nicolae Rusan Co-founder, Design/JS Engineer
  • 3. What Is Mobile Web? What Is Mobile Web? Optimized Sites up to Full Blown Apps in the Browser
  • 4. What Is Mobile Web? What Is Mobile Web? Design for a variety of screen sizes and devices
  • 5. What Is Mobile Web? Taking advantage of device capabilities
  • 6. What Is Mobile Web? Handling Limitations • Browser Memory • Slower Networks • Slower Hardware • Different Capabilities
  • 7. Why Mobile Web? Write once, works everywhere..
  • 8. Why Mobile Web? Write once, works everywhere.. (Still not there yet.)
  • 9. Why Mobile Web? People are used to browsers Customers • Do they know your site? • Specific use case: more likely to use browser than native app?
  • 10. Why Mobile Web? People are used to browsers Developers • Familiar technologies: • HTML, Javascript, CSS
  • 11. Why Mobile Web? Not competitive with Native Apps! Why not do both?
  • 12. Why Mobile Web? Some frameworks let you: write web code => compiled to native: e.g. PhoneGap, Appcelerator‟s Titanium etc.
  • 13. Why Not Mobile Web? Native Apps still have better performance and responsiveness.
  • 14. Why Not Mobile Web? The App Store is a good distribution channel • easier to charge
  • 15. Why Not Mobile Web? If you need Device APIs e.g. Camera, Voice - (Phone Gap Workaround)
  • 16. Why Not Mobile Web? It‟s good to be an app! • Homescreen real-estate • Push notifications
  • 18. Touch Full out MVC Framework w/ Touch • built on top of Ext JS
  • 20. Touch Don‟t write HTML, glue together “Components” • Lots of GUI Components : • E.g. Carousel, Picker, Toolbars, Animations, Charts and Graphs. • Lots of Touch Events
  • 22. Touch • Reasonably well documented • Free to use (unless you‟re making an app builder) • Can pay for support
  • 23. Touch For Examples: Sencha Kitchen Sink http://dev.sencha.com/deploy/touch/examples/kitchensink/ RedditUI (iPad Web App built by Frame CTO on Sencha 2.0) http://www.redditui.com
  • 24. Touch Cons: • Heavy • 365KB, >40K lines of code, DOM Bloat • Initial load time.
  • 25. Touch Cons: • Heavy • 365KB, >40K lines of code, DOM Bloat • Initial load time. • Weird Bugs, hard to identify best practices
  • 26. Touch Cons: • Heavy • 365KB, >40K lines of code, DOM Bloat • Initial load time. • Weird Bugs, hard to identify best practices • Hard to separate components
  • 27. Touch Cons: • Heavy • 365KB, >40K lines of code, DOM Bloat • Initial load time. • Weird Bugs, hard to identify best practices • Hard to separate components • Do you need all these browsers supported?
  • 28. Touch Cons: • Sencha 2.0 is out in developer preview, working to fix many of these issues
  • 29. Developed by Sencha Labs • Not full MVC (separate from Ext JS) • Touch events (swipe, tap) • Some UI Components (not as may as sencha) • Fairly performant, decent documentation, still crashes fairly often
  • 30. Zepto.js • Mobile WebKit browsers + Safari, Chrome, Firefox, Opera • Based on jQuery syntax (familiar selectors, and event binding) • Very Small: 2KB – they care about speed. • Adds Touch events: • swipeleft, swiperight, tap, doubletap, pinchin pinchout etc. that you can bind to elements • e.g. $(„some selector‟).swipeLeft(function(){ });
  • 31. Zepto.js • Mobile WebKit browsers + Safari, Chrome, Firefox, Opera • Based on jQuery syntax (familiar selectors, and event binding) • Very Small: 2KB – they care about speed. • Adds Touch events: • swipeleft, swiperight, tap, doubletap, pinchin pinchout etc. that you can bind to elements • e.g. $(„some selector‟).swipeLeft(function(){ });
  • 32. Zepto.js • Mobile WebKit browsers + Safari, Chrome, Firefox, Opera
  • 33. Zepto.js • Mobile WebKit browsers + Safari, Chrome, Firefox, Opera • Based on jQuery syntax (familiar selectors, and event binding)
  • 34. Zepto.js • Mobile WebKit browsers + Safari, Chrome, Firefox, Opera • Based on jQuery syntax (familiar selectors, and event binding) • Very Small: 2KB – helps initial speed.
  • 35. Zepto.js • Mobile WebKit browsers + Safari, Chrome, Firefox, Opera • Based on jQuery syntax (familiar selectors, and event binding) • Very Small: 2KB – helps initial speed. • Adds Touch events: • swipeleft, swiperight, tap, doubletap, pinchin pinchout etc. that you can bind to elements • e.g. $(„some selector‟).swipeLeft(function(){ });
  • 36. Cubiq iScroll – Matteo Spinelli • http://cubiq.org/ • Various components + experiments you can use • e.g. scrollable content, carousels very nice picker, full-page carousel, pull to refresh • Small file sizes • good examples and explanation of code • Used on Nike.com, Apple and others
  • 37. Other Frameworks to Checkout • Other Frameworks: • DojoToolkit, jQuery Mobile, • Compile to native apps: • PhoneGap, Appcelerator‟s Titanium, Rhomobile, and many others
  • 38. How From The Ground Up • Setup Web App mode <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=0" /> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black- translucent" /> Checkout Viewporter: https://github.com/zynga/viewporter/
  • 39. How From The Ground Up • Built in Touch Events in Safari touchstart: a finger is placed on a DOM element. touchmove: a finger is dragged along a DOM element. touchend: a finger is removed from a DOM element. touches: a list of all fingers currently on the screen. targetTouches: a list of fingers on the current DOM element. changedTouches: a list of fingers involved in the current event. For example, in a touchend event, this will be the finger that was removed.
  • 40. How From The Ground Up • Built in Gesture Events – E.g. pinch, – Not available on all devices/browsers • Built in Orientation Events
  • 41. How From The Ground Up • More than touch: – Accelerometer + Gyroscope APIs – GeoLocation – Other HTML 5 + CSS 3 goodness: • E.g. WebSockets, onhashchange • CSS 3 transforms for hardware acceleration, instead of javascript
  • 42. How From The Ground Up • More than touch: – Accelerometer + Gyroscope APIs – GeoLocation – Other HTML 5 + CSS 3 goodness: • E.g. WebSockets, onhashchange • CSS 3 transforms for hardware acceleration, instead of javascript
  • 43. Resources • Checkout Frame for an example of what’s possible: – www.useframe.com – Sample Store (browse on iPad) : www.shop.kindredclothiers.com • Frameworks and Libraries: – Zepto: http://zeptojs.com/ – Sencha: http://www.sencha.com/products/touch/ – jQTouch: http://jqtouch.com/ – jQuery Mobile: http://jquerymobile.com/ – Cubiq (iScroll): http://cubiq.org/ (also has sample of Add to Homescreen code for webapps) – Scrollability: http://joehewitt.github.com/scrollability/ • Packaging as a Native App – PhoneGap: http://phonegap.com/ – Titanium: http://www.appcelerator.com/ – AppMobi: http://www.appmobi.com/ • Native Browser Events/ Doing things from scratch – Great Intro Article and Resources: http://www.html5rocks.com/en/mobile/touch.html – Apple documentation on webkit touch events: http://developer.apple.com/library/IOs/#documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/Han dlingEvents.html – http://ross.posterous.com/2008/08/19/iphone-touch-events-in-javascript • Good Presentations – Performance: http://www.slideshare.net/firt/mobile-web-html5-performance-optimization?from=ss_embed – More About Why Perf Matters and Responsive Design: http://www.slideshare.net/bryanrieger/rethinking-the-mobile-web-by- yiibu
  • 44. Future of Mobile Web? 2012: Gap between native and web shrinks Device APIs opened up to browsers. A winning Framework? Write Web Straight to Native?
  • 45. Thanks for your time  Resources will be online soon.

Editor's Notes

  1. High level overview to get you started on HTML 5 mobile web development.What does Mobile Web mean, what frameworks are out there to help you out, what are useful resources?
  2. 5 minute way to turn your existing e-commerce site into beautiful, immersive touch experience for tablet visitors. I’ll talk a bit about why we focus on mobile web later in this presentation.Frame v1 built on top of Sencha (our experiences and lessons discussed here)
  3. Optimizes Sites + Apps in the BrowserReally when people talk about mobile web, they talk about a range of technologies: everything from just providing versions of a website that looks reasonable on a range of screen sizes to building something that feels a lot more like a native app.
  4. Designing for Screens of Various Sizes, and handling variety of device capabilityWhat APIs are available on that particular device, how do you handle the various APIs exposed for the devices in your code (e.g. they all perform some function differently). Frameworks can help here to abstract the differences between device APIs.You also have to design for the various screen sizes – which means more design time, and more testing time. One option here is to go with Responsive Design (e.g. start by designing for the smallest screen, and using only CSS 3 Media Queries, work your way up to enhancing the look for larger and larger screens).
  5. Taking Advantage of Device Capabilitiesit’s mobile so you can do interesting things: e.g. GPS, accelorometer, gyroscope, orientation detection, Camera API (available on some Android devices).As time passes, devices will have more and more sensors/device capabilities – always interesting to explore the API and think of unique ways to leverage them to enhance user experience.
  6. With the added opportunities that mobile presents, it also presents new limitations:e.g. slower internet speeds on 3G and other networks. Memory matters again (e.g. when working on Frame, we had to learn about how the mobile browsers handle memory, so that we could enable it to load more images without crashing).There’s not more Flash, so need to learn the equivalent HTML 5 technologies to replace itIn general, you will spend more time thinking about optimizing performance for mobile than for desktop – because the bottlenecks are larger.
  7. There’s many reasons to choose Mobile WebOne of the most often stated reasons, is less work:The holy grail of mobile web is to have a single code base, that works everywhere.
  8. Even though the aim is to have a single codebase, and even though frameworks exist that claim to support that, it still takes quite a bit of tweaking to get your codebase to work properly across all devices. But it’s improving.
  9. If you have a site with a large existing customer base, it is worthwhile to also optimize your site because lots of people will follow their usual behavior of browsing to your site.. You can still offer an app in parallel to optimizing your site, and creating an amazing touch experience there.In some specific use cases, people are more likely to browse your site than download an app. For example, for Frame, we have the hypothesis that for e-commerce stores that don’t have a large inventory, people are more likely to want to shop via
  10. I’ve watched my Mom use an iPad for example, and she always tends to go through the browser rather than the App Store. For older consumers, I think this is still their modus operandi.For web developers, it’s nice to be able to port years of experience in HTML, CSS and Javascript. You’ll have to likely learn a few new things (e.g. to support touch), and maybe learn a framework, but it’s definitely a smaller learning curve than learning Objective-C
  11. - PhoneGap and other frameworks that enable you to run as an app also give you a way to have access to some Device APIs you don’t get natively in the browser.
  12. Features:Built on top of Ext JS 4Entire MVC framework.Close integration with PhoneGap (although seen a bunch of issues with it)Supports lots of touch events.Kitchen Sink.Lots of components: Carousel, Picker, Toolbars, Animations, Charts and Graphs, Media etc.Cards to do Ajax, various animationsSeems to be most activeReasonably well documented (but found that in practice hit huge number of bugs), and it’s very heavyPay for SupportSencha 2.0 – could addresssomeof the cons (faster load times)- If you want to see an example app our CTO built while testing out Sencha 2.0 check out RedditUI the fully web browser UI.Works across Android, Desktop, Safari, BlackberryBunch of sample apps online that can help give you guidance on the code (would be nice if they walked through the reasoning of why they did things the way they did more)http://dev.sencha.com/deploy/touch/examples/kitchensink/Windows phone development is in works, smaller footpring, automanaged components (all this will make it easier) – they need to shed a lot of weight.Cons:Creates a heavy DOMSuper heavy, can be real overkill (partially because built on Ext 4.0Weird bugs and orientation issues300kb, 40K lines of code.Can’t take just components you want in an easy wayStill feels a bit closed because you pay for support, and lots of documentation is behind that wall in forums.Changing Quickly – what’s the right way to do it, what’s stable and what’s not?Full UI elements: Carousels,CostFree as long as not building an application builder.Support costs (299 forum access, – 1400 for phone and emergency bug fixes)
  13. Features:Built on top of Ext JS 4Entire MVC framework.Close integration with PhoneGap (although seen a bunch of issues with it)Supports lots of touch events.Kitchen Sink.Lots of components: Carousel, Picker, Toolbars, Animations, Charts and Graphs, Media etc.Cards to do Ajax, various animationsSeems to be most activeReasonably well documented (but found that in practice hit huge number of bugs), and it’s very heavyPay for SupportSencha 2.0 – could addresssomeof the cons (faster load times)- If you want to see an example app our CTO built while testing out Sencha 2.0 check out RedditUI the fully web browser UI.Works across Android, Desktop, Safari, BlackberryBunch of sample apps online that can help give you guidance on the code (would be nice if they walked through the reasoning of why they did things the way they did more)http://dev.sencha.com/deploy/touch/examples/kitchensink/Windows phone development is in works, smaller footpring, automanaged components (all this will make it easier) – they need to shed a lot of weight.Cons:Creates a heavy DOMSuper heavy, can be real overkill (partially because built on Ext 4.0Weird bugs and orientation issues300kb, 40K lines of code.Can’t take just components you want in an easy wayStill feels a bit closed because you pay for support, and lots of documentation is behind that wall in forums.Changing Quickly – what’s the right way to do it, what’s stable and what’s not?Full UI elements: Carousels,CostFree as long as not building an application builder.Support costs (299 forum access, – 1400 for phone and emergency bug fixes)
  14. Features:Built on top of Ext JS 4Entire MVC framework.Close integration with PhoneGap (although seen a bunch of issues with it)Supports lots of touch events.Kitchen Sink.Lots of components: Carousel, Picker, Toolbars, Animations, Charts and Graphs, Media etc.Cards to do Ajax, various animationsSeems to be most activeReasonably well documented (but found that in practice hit huge number of bugs), and it’s very heavyPay for SupportSencha 2.0 – could addresssomeof the cons (faster load times)- If you want to see an example app our CTO built while testing out Sencha 2.0 check out RedditUI the fully web browser UI.Works across Android, Desktop, Safari, BlackberryBunch of sample apps online that can help give you guidance on the code (would be nice if they walked through the reasoning of why they did things the way they did more)http://dev.sencha.com/deploy/touch/examples/kitchensink/Windows phone development is in works, smaller footpring, automanaged components (all this will make it easier) – they need to shed a lot of weight.Cons:Creates a heavy DOMSuper heavy, can be real overkill (partially because built on Ext 4.0Weird bugs and orientation issues300kb, 40K lines of code.Can’t take just components you want in an easy wayStill feels a bit closed because you pay for support, and lots of documentation is behind that wall in forums.Changing Quickly – what’s the right way to do it, what’s stable and what’s not?Full UI elements: Carousels,CostFree as long as not building an application builder.Support costs (299 forum access, – 1400 for phone and emergency bug fixes)
  15. Features:Built on top of Ext JS 4Entire MVC framework.Close integration with PhoneGap (although seen a bunch of issues with it)Supports lots of touch events.Kitchen Sink.Lots of components: Carousel, Picker, Toolbars, Animations, Charts and Graphs, Media etc.Cards to do Ajax, various animationsSeems to be most activeReasonably well documented (but found that in practice hit huge number of bugs), and it’s very heavyPay for SupportSencha 2.0 – could addresssomeof the cons (faster load times)- If you want to see an example app our CTO built while testing out Sencha 2.0 check out RedditUI the fully web browser UI.Works across Android, Desktop, Safari, BlackberryBunch of sample apps online that can help give you guidance on the code (would be nice if they walked through the reasoning of why they did things the way they did more)http://dev.sencha.com/deploy/touch/examples/kitchensink/Windows phone development is in works, smaller footpring, automanaged components (all this will make it easier) – they need to shed a lot of weight.Cons:Creates a heavy DOMSuper heavy, can be real overkill (partially because built on Ext 4.0Weird bugs and orientation issues300kb, 40K lines of code.Can’t take just components you want in an easy wayStill feels a bit closed because you pay for support, and lots of documentation is behind that wall in forums.Changing Quickly – what’s the right way to do it, what’s stable and what’s not?Full UI elements: Carousels,CostFree as long as not building an application builder.Support costs (299 forum access, – 1400 for phone and emergency bug fixes)
  16. Features:Built on top of Ext JS 4Entire MVC framework.Close integration with PhoneGap (although seen a bunch of issues with it)Supports lots of touch events.Kitchen Sink.Lots of components: Carousel, Picker, Toolbars, Animations, Charts and Graphs, Media etc.Cards to do Ajax, various animationsSeems to be most activeReasonably well documented (but found that in practice hit huge number of bugs), and it’s very heavyPay for SupportSencha 2.0 – could addresssomeof the cons (faster load times)- If you want to see an example app our CTO built while testing out Sencha 2.0 check out RedditUI the fully web browser UI.Works across Android, Desktop, Safari, BlackberryBunch of sample apps online that can help give you guidance on the code (would be nice if they walked through the reasoning of why they did things the way they did more)http://dev.sencha.com/deploy/touch/examples/kitchensink/Windows phone development is in works, smaller footpring, automanaged components (all this will make it easier) – they need to shed a lot of weight.Cons:Creates a heavy DOMSuper heavy, can be real overkill (partially because built on Ext 4.0Weird bugs and orientation issues300kb, 40K lines of code.Can’t take just components you want in an easy wayStill feels a bit closed because you pay for support, and lots of documentation is behind that wall in forums.Changing Quickly – what’s the right way to do it, what’s stable and what’s not?Full UI elements: Carousels,CostFree as long as not building an application builder.Support costs (299 forum access, – 1400 for phone and emergency bug fixes)
  17. Features:Built on top of Ext JS 4Entire MVC framework.Close integration with PhoneGap (although seen a bunch of issues with it)Supports lots of touch events.Kitchen Sink.Lots of components: Carousel, Picker, Toolbars, Animations, Charts and Graphs, Media etc.Cards to do Ajax, various animationsSeems to be most activeReasonably well documented (but found that in practice hit huge number of bugs), and it’s very heavyPay for SupportSencha 2.0 – could addresssomeof the cons (faster load times)- If you want to see an example app our CTO built while testing out Sencha 2.0 check out RedditUI the fully web browser UI.Works across Android, Desktop, Safari, BlackberryBunch of sample apps online that can help give you guidance on the code (would be nice if they walked through the reasoning of why they did things the way they did more)http://dev.sencha.com/deploy/touch/examples/kitchensink/Windows phone development is in works, smaller footpring, automanaged components (all this will make it easier) – they need to shed a lot of weight.Cons:Creates a heavy DOMSuper heavy, can be real overkill (partially because built on Ext 4.0Weird bugs and orientation issues300kb, 40K lines of code.Can’t take just components you want in an easy wayStill feels a bit closed because you pay for support, and lots of documentation is behind that wall in forums.Changing Quickly – what’s the right way to do it, what’s stable and what’s not?Full UI elements: Carousels,CostFree as long as not building an application builder.Support costs (299 forum access, – 1400 for phone and emergency bug fixes)
  18. Features:Built on top of Ext JS 4Entire MVC framework.Close integration with PhoneGap (although seen a bunch of issues with it)Supports lots of touch events.Kitchen Sink.Lots of components: Carousel, Picker, Toolbars, Animations, Charts and Graphs, Media etc.Cards to do Ajax, various animationsSeems to be most activeReasonably well documented (but found that in practice hit huge number of bugs), and it’s very heavyPay for SupportSencha 2.0 – could addresssomeof the cons (faster load times)- If you want to see an example app our CTO built while testing out Sencha 2.0 check out RedditUI the fully web browser UI.Works across Android, Desktop, Safari, BlackberryBunch of sample apps online that can help give you guidance on the code (would be nice if they walked through the reasoning of why they did things the way they did more)http://dev.sencha.com/deploy/touch/examples/kitchensink/Windows phone development is in works, smaller footpring, automanaged components (all this will make it easier) – they need to shed a lot of weight.Cons:Creates a heavy DOMSuper heavy, can be real overkill (partially because built on Ext 4.0Weird bugs and orientation issues300kb, 40K lines of code.Can’t take just components you want in an easy wayStill feels a bit closed because you pay for support, and lots of documentation is behind that wall in forums.Changing Quickly – what’s the right way to do it, what’s stable and what’s not?Full UI elements: Carousels,CostFree as long as not building an application builder.Support costs (299 forum access, – 1400 for phone and emergency bug fixes)
  19. Features:Built on top of Ext JS 4Entire MVC framework.Close integration with PhoneGap (although seen a bunch of issues with it)Supports lots of touch events.Kitchen Sink.Lots of components: Carousel, Picker, Toolbars, Animations, Charts and Graphs, Media etc.Cards to do Ajax, various animationsSeems to be most activeReasonably well documented (but found that in practice hit huge number of bugs), and it’s very heavyPay for SupportSencha 2.0 – could addresssomeof the cons (faster load times)- If you want to see an example app our CTO built while testing out Sencha 2.0 check out RedditUI the fully web browser UI.Works across Android, Desktop, Safari, BlackberryBunch of sample apps online that can help give you guidance on the code (would be nice if they walked through the reasoning of why they did things the way they did more)http://dev.sencha.com/deploy/touch/examples/kitchensink/Windows phone development is in works, smaller footpring, automanaged components (all this will make it easier) – they need to shed a lot of weight.Cons:Creates a heavy DOMSuper heavy, can be real overkill (partially because built on Ext 4.0Weird bugs and orientation issues300kb, 40K lines of code.Can’t take just components you want in an easy wayStill feels a bit closed because you pay for support, and lots of documentation is behind that wall in forums.Changing Quickly – what’s the right way to do it, what’s stable and what’s not?Full UI elements: Carousels,CostFree as long as not building an application builder.Support costs (299 forum access, – 1400 for phone and emergency bug fixes)
  20. Features:Built on top of Ext JS 4Entire MVC framework.Close integration with PhoneGap (although seen a bunch of issues with it)Supports lots of touch events.Kitchen Sink.Lots of components: Carousel, Picker, Toolbars, Animations, Charts and Graphs, Media etc.Cards to do Ajax, various animationsSeems to be most activeReasonably well documented (but found that in practice hit huge number of bugs), and it’s very heavyPay for SupportSencha 2.0 – could addresssomeof the cons (faster load times)- If you want to see an example app our CTO built while testing out Sencha 2.0 check out RedditUI the fully web browser UI.Works across Android, Desktop, Safari, BlackberryBunch of sample apps online that can help give you guidance on the code (would be nice if they walked through the reasoning of why they did things the way they did more)http://dev.sencha.com/deploy/touch/examples/kitchensink/Windows phone development is in works, smaller footpring, automanaged components (all this will make it easier) – they need to shed a lot of weight.Cons:Creates a heavy DOMSuper heavy, can be real overkill (partially because built on Ext 4.0Weird bugs and orientation issues300kb, 40K lines of code.Can’t take just components you want in an easy wayStill feels a bit closed because you pay for support, and lots of documentation is behind that wall in forums.Changing Quickly – what’s the right way to do it, what’s stable and what’s not?Full UI elements: Carousels,CostFree as long as not building an application builder.Support costs (299 forum access, – 1400 for phone and emergency bug fixes)
  21. Features:Built on top of Ext JS 4Entire MVC framework.Close integration with PhoneGap (although seen a bunch of issues with it)Supports lots of touch events.Kitchen Sink.Lots of components: Carousel, Picker, Toolbars, Animations, Charts and Graphs, Media etc.Cards to do Ajax, various animationsSeems to be most activeReasonably well documented (but found that in practice hit huge number of bugs), and it’s very heavyPay for SupportSencha 2.0 – could addresssomeof the cons (faster load times)- If you want to see an example app our CTO built while testing out Sencha 2.0 check out RedditUI the fully web browser UI.Works across Android, Desktop, Safari, BlackberryBunch of sample apps online that can help give you guidance on the code (would be nice if they walked through the reasoning of why they did things the way they did more)http://dev.sencha.com/deploy/touch/examples/kitchensink/Windows phone development is in works, smaller footpring, automanaged components (all this will make it easier) – they need to shed a lot of weight.Cons:Creates a heavy DOMSuper heavy, can be real overkill (partially because built on Ext 4.0Weird bugs and orientation issues300kb, 40K lines of code.Can’t take just components you want in an easy wayStill feels a bit closed because you pay for support, and lots of documentation is behind that wall in forums.Changing Quickly – what’s the right way to do it, what’s stable and what’s not?Full UI elements: Carousels,CostFree as long as not building an application builder.Support costs (299 forum access, – 1400 for phone and emergency bug fixes)
  22. Features:Built on top of Ext JS 4Entire MVC framework.Close integration with PhoneGap (although seen a bunch of issues with it)Supports lots of touch events.Kitchen Sink.Lots of components: Carousel, Picker, Toolbars, Animations, Charts and Graphs, Media etc.Cards to do Ajax, various animationsSeems to be most activeReasonably well documented (but found that in practice hit huge number of bugs), and it’s very heavyPay for SupportSencha 2.0 – could addresssomeof the cons (faster load times)- If you want to see an example app our CTO built while testing out Sencha 2.0 check out RedditUI the fully web browser UI.Works across Android, Desktop, Safari, BlackberryBunch of sample apps online that can help give you guidance on the code (would be nice if they walked through the reasoning of why they did things the way they did more)http://dev.sencha.com/deploy/touch/examples/kitchensink/Windows phone development is in works, smaller footpring, automanaged components (all this will make it easier) – they need to shed a lot of weight.Cons:Creates a heavy DOMSuper heavy, can be real overkill (partially because built on Ext 4.0Weird bugs and orientation issues300kb, 40K lines of code.Can’t take just components you want in an easy wayStill feels a bit closed because you pay for support, and lots of documentation is behind that wall in forums.Changing Quickly – what’s the right way to do it, what’s stable and what’s not?Full UI elements: Carousels,CostFree as long as not building an application builder.Support costs (299 forum access, – 1400 for phone and emergency bug fixes)
  23. Baby Sencha?No MVCHad a bad impression before, but quite responsiveNo carouselsGeoLocationOfflineSwipedetection
  24. Safari, Chrome, Firefox Opera – mbileWebkit browsersTried to make it as fast as pssible to download2KB ~ leverage mobile –webkit features Check out their presentationhttp://mir.aculo.us/2010/10/28/zepto-js-a-jquery-compatible-mobile-javascript-framework-in-2k-presentation/Jquery like syntax, animations, selection etc.Also touch events (swipeleft, swiperight, tap, doubletap, etc that you can bind to elements) pincinpinchout etc., aupport for ajax, nice support for environment.Active development.Their Websitehttp://zeptojs.com/
  25. Safari, Chrome, Firefox Opera – mbileWebkit browsersTried to make it as fast as pssible to download2KB ~ leverage mobile –webkit features Check out their presentationhttp://mir.aculo.us/2010/10/28/zepto-js-a-jquery-compatible-mobile-javascript-framework-in-2k-presentation/Jquery like syntax, animations, selection etc.Also touch events (swipeleft, swiperight, tap, doubletap, etc that you can bind to elements) pincinpinchout etc., aupport for ajax, nice support for environment.Active development.Their Websitehttp://zeptojs.com/
  26. Safari, Chrome, Firefox Opera – mbileWebkit browsersTried to make it as fast as pssible to download2KB ~ leverage mobile –webkit features Check out their presentationhttp://mir.aculo.us/2010/10/28/zepto-js-a-jquery-compatible-mobile-javascript-framework-in-2k-presentation/Jquery like syntax, animations, selection etc.Also touch events (swipeleft, swiperight, tap, doubletap, etc that you can bind to elements) pincinpinchout etc., aupport for ajax, nice support for environment.Active development.Their Websitehttp://zeptojs.com/
  27. Safari, Chrome, Firefox Opera – mbileWebkit browsersTried to make it as fast as pssible to download2KB ~ leverage mobile –webkit features Check out their presentationhttp://mir.aculo.us/2010/10/28/zepto-js-a-jquery-compatible-mobile-javascript-framework-in-2k-presentation/Jquery like syntax, animations, selection etc.Also touch events (swipeleft, swiperight, tap, doubletap, etc that you can bind to elements) pincinpinchout etc., aupport for ajax, nice support for environment.Active development.Their Websitehttp://zeptojs.com/
  28. Safari, Chrome, Firefox Opera – mbileWebkit browsersTried to make it as fast as pssible to download2KB ~ leverage mobile –webkit features Check out their presentationhttp://mir.aculo.us/2010/10/28/zepto-js-a-jquery-compatible-mobile-javascript-framework-in-2k-presentation/Jquery like syntax, animations, selection etc.Also touch events (swipeleft, swiperight, tap, doubletap, etc that you can bind to elements) pincinpinchout etc., aupport for ajax, nice support for environment.Active development.Their Websitehttp://zeptojs.com/
  29. Safari, Chrome, Firefox Opera – mbileWebkit browsersTried to make it as fast as pssible to download2KB ~ leverage mobile –webkit features Check out their presentationhttp://mir.aculo.us/2010/10/28/zepto-js-a-jquery-compatible-mobile-javascript-framework-in-2k-presentation/Jquery like syntax, animations, selection etc.Also touch events (swipeleft, swiperight, tap, doubletap, etc that you can bind to elements) pincinpinchout etc., aupport for ajax, nice support for environment.Active development.Their Websitehttp://zeptojs.com/
  30. Add to homescreenUsed by sites like Nike.com, appleGreat Load times – well written codeIscroll for scrollable areas. Some inertiaReally nice slide in menuPickerFull Page Carousel (Swipe View)Pull to refreshCarouselCustom scrollbarsVersion for just mobile as well (iscroll-lite.js)Used by apple, touchScroll is pretty nice.Accordian Hardware accelerated
  31. Add to homescreenUsed by sites like Nike.com, appleGreat Load times – well written codeIscroll for scrollable areas. Some inertiaReally nice slide in menuPickerFull Page Carousel (Swipe View)Pull to refreshCarouselCustom scrollbarsVersion for just mobile as well (iscroll-lite.js)Used by apple, touchScroll is pretty nice.Accordian Hardware accelerated
  32. Depending on your needs, may make sense for perf reasons to use no frameworks at all, and write from scratch. Here’s some starting points for how to write a web app.
  33. Do they know your site?Are they more likely to browse to your site than download an app for it? i.e. not enough for an app