SlideShare una empresa de Scribd logo
1 de 24
Developing for the
  “mobile web”


    Joey Simhon (@joeysim)
   CTO and Co-Founder DoAT
Hello World


Growing Internet & mobile babies since 2000
Owned and managed 2 web agencies (UX & Tech)
Served as acting CTO for several startup companies
Passionate about engineering and the culture around it
DoAT

1st search engine born mobile
Launched at TCD NYC in May 2011 (winner of the Bing choice award)
iPhone / US availability at first, expanded to Canada.
We’ve built and deployed over 50 mobile web apps in the past year+.
@DoATGeeks - a multidisciplinary team - Web, iOS / Android / WPhone,
Algorithms and all sorts of backend technologies
Follow us - @doatgeeks | geeks.doat.com
There’s no such thing as the
       “mobile web”
From a UX perspective
icon + full screen = app
We’re seeing HUGE progress
Mostly publishers adoption and
         some tech
We want you to hack it and
   innovate on top of it
As painlessly as possible
           :-)
Things we wish we had known
HTML5 Support
Device / Browser Capabilities
• We'll focus on 2 browser engines - webkit (iOS/Android) and
  trident (Windows Phone)
  • Stuff you’d want to use
    • Application Cache (cache.manifest)
    • Local storage
    • History - pushState()
    • CSS3
    • Geo Location
CSS
• No fixed positioning. Use JS libraries to imitate behavior -
  iScroll, Scrollability, TouchScroll
• CSS animations - some use hardware acceleration (iOS only).
  Offload to GPU.
  It’s limited to scale, rotation and translate (position), plan your
  layout accordingly.
  Different syntax for different browsers (-webkit / -moz- / -o)
• Pixel ratios to support Retina.
• Use spin.js to create great indicators at low cost
Javascript
• Slow - little resources (CPU/Interpreter)
• Prefer native (aka “vanilla”) code
  (e.g. $(".classname") vs. document.querySelector(".className"))
• Parsing can be slow too (jQuery takes several 100's ms to parse,
  blocky)
• Use mobile only libraries (zepto.js, xui.js, etc)
• Visible first strategy, load and render the rest on-demand
• Android vs iOS - can be up to x2-x10 faster in raw speed (eg LZW
  compression)
Network
• High latency
• When it's there (AT&T)
• 6 concurrent HTTP reqs (sometimes 4)
• Global (verified on iOS). Splitting hosts will be slower (DNS)
• A request is an order of a magnitude more expensive than desktop
• Inlining vs requesting (embed base64 images, scripts/styles)
• Unifying / Minifying (minify library for PHP can be useful)
• Image dimensions and compression level (proxy images, Cotendo AIC)
• Offload cookies to local storage when not needed on server
WebSocket
• Reduces round trips dramatically
• Supported on iOS only
• Important gotcha - doesn’t support gzip compression
• Still evolving (was removed when there was a security issue)
  so always have a fallback ready (there are libraries that
  handle this for you)
• Keeping it open and re-opening is your responsibility
HTTP caching

• Limited storage (RAM/Disk)
• Not persistent in some cases (iOS standalone /
  UIWebView / power cycles)
• Internally in iOS still occupies the HTTP pipe (response is
  faster around ~10ms)
• Application Cache can help persist your assets
Android specifics


No CSS fixed positioning on Android 2.1 and below
No hardware accelerated CSS transitions.
No hardware acceleration. Period.
No Standalone mode
Screen resolutions and ratios vary
iOS specifics
Standalone mode has some caveats
 No cache.manifest
 No HTTP caching
 No Nitro
 Splash is shown until load event is fired (looooong)
UIWebViews
 No Nitro (JIT JS) on UIWebView
 Sometimes only 4 concurrent HTTP reqs
Windows Phone specifics


Nothing much to say here
The v7.0 Browser is like IE ~6.5
Just build for Mango (WPhone v7.5)
Introducing Touchy Boilerplate
TouchyBP
You mobile web app starter kit
Encapsulates all of the lessons we’ve discussed
Simple page structure
CSS normalization
Hardware acceleration support
And JS goodies
Fork it on github
Y U No Give Me iPhone 5z?
Thank You.

 Joey Simhon (@joeysim)
CTO and Co-Founder DoAT

Más contenido relacionado

Destacado

Becoming a Credible Developer
Becoming a Credible DeveloperBecoming a Credible Developer
Becoming a Credible Developerjoeysim
 
iPhone App from concept to product
iPhone App from concept to productiPhone App from concept to product
iPhone App from concept to productjoeysim
 
Digitale trender 2012
Digitale trender 2012Digitale trender 2012
Digitale trender 2012Halogen AS
 
iPhone App from concept to product
iPhone App from concept to productiPhone App from concept to product
iPhone App from concept to productjoeysim
 
Champion Breakfast with DDB - TechHub Riga slides may 2014
Champion Breakfast with DDB - TechHub Riga slides may 2014Champion Breakfast with DDB - TechHub Riga slides may 2014
Champion Breakfast with DDB - TechHub Riga slides may 2014TechHubRiga
 
Raciocínio 01
Raciocínio 01Raciocínio 01
Raciocínio 01resolvidos
 

Destacado (7)

Becoming a Credible Developer
Becoming a Credible DeveloperBecoming a Credible Developer
Becoming a Credible Developer
 
iPhone App from concept to product
iPhone App from concept to productiPhone App from concept to product
iPhone App from concept to product
 
Digitale trender 2012
Digitale trender 2012Digitale trender 2012
Digitale trender 2012
 
iPhone App from concept to product
iPhone App from concept to productiPhone App from concept to product
iPhone App from concept to product
 
Champion Breakfast with DDB - TechHub Riga slides may 2014
Champion Breakfast with DDB - TechHub Riga slides may 2014Champion Breakfast with DDB - TechHub Riga slides may 2014
Champion Breakfast with DDB - TechHub Riga slides may 2014
 
Raciocínio 01
Raciocínio 01Raciocínio 01
Raciocínio 01
 
SDC - Einführung in Scala
SDC - Einführung in ScalaSDC - Einführung in Scala
SDC - Einführung in Scala
 

Similar a Developing for the mobile web

Don't touch the mobile parts
Don't touch the mobile partsDon't touch the mobile parts
Don't touch the mobile partsFrancesco Fullone
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App DevelopmentChris Morrell
 
NU Web Steering Committee - Oct 11 - Web Performance
NU Web Steering Committee - Oct 11 - Web PerformanceNU Web Steering Committee - Oct 11 - Web Performance
NU Web Steering Committee - Oct 11 - Web PerformanceLee Roberson
 
State of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront ConferenceState of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront Conferencedmethvin
 
Building Real-World Dojo Web Applications
Building Real-World Dojo Web ApplicationsBuilding Real-World Dojo Web Applications
Building Real-World Dojo Web ApplicationsAndrew Ferrier
 
jQuery Conference 2012 keynote
jQuery Conference 2012 keynotejQuery Conference 2012 keynote
jQuery Conference 2012 keynotedmethvin
 
Real-world Dojo Mobile
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo MobileAndrew Ferrier
 
OSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web Simulator
OSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web SimulatorOSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web Simulator
OSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web SimulatorGail Frederick
 
Lesson learned from 3 years with hybrid apps
Lesson learned from 3 years with hybrid appsLesson learned from 3 years with hybrid apps
Lesson learned from 3 years with hybrid appsPatrik Malmquist
 
HTML5 - Let’s make the WEB more powerful
HTML5 - Let’s make the WEB more powerfulHTML5 - Let’s make the WEB more powerful
HTML5 - Let’s make the WEB more powerfulNaga Harish M
 
Videogram - Building a product with Sencha Touch
Videogram - Building a product with Sencha TouchVideogram - Building a product with Sencha Touch
Videogram - Building a product with Sencha TouchAlexander Wilhelm
 
Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Ivano Malavolta
 
Building Apps with React Native - Lessons Learned
Building Apps with React Native - Lessons LearnedBuilding Apps with React Native - Lessons Learned
Building Apps with React Native - Lessons LearnedAlexandra Anghel
 
How does the Internet Work?
How does the Internet Work?How does the Internet Work?
How does the Internet Work?Dina Goldshtein
 
Bruce lawson-over-the-air
Bruce lawson-over-the-airBruce lawson-over-the-air
Bruce lawson-over-the-airbrucelawson
 

Similar a Developing for the mobile web (20)

Don't touch the mobile parts
Don't touch the mobile partsDon't touch the mobile parts
Don't touch the mobile parts
 
Mobile native-hacks
Mobile native-hacksMobile native-hacks
Mobile native-hacks
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App Development
 
NU Web Steering Committee - Oct 11 - Web Performance
NU Web Steering Committee - Oct 11 - Web PerformanceNU Web Steering Committee - Oct 11 - Web Performance
NU Web Steering Committee - Oct 11 - Web Performance
 
State of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront ConferenceState of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront Conference
 
Building Real-World Dojo Web Applications
Building Real-World Dojo Web ApplicationsBuilding Real-World Dojo Web Applications
Building Real-World Dojo Web Applications
 
jQuery Conference 2012 keynote
jQuery Conference 2012 keynotejQuery Conference 2012 keynote
jQuery Conference 2012 keynote
 
Java script everywhere
Java script everywhereJava script everywhere
Java script everywhere
 
Real-world Dojo Mobile
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo Mobile
 
OSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web Simulator
OSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web SimulatorOSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web Simulator
OSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web Simulator
 
Project Timbit
Project TimbitProject Timbit
Project Timbit
 
Lesson learned from 3 years with hybrid apps
Lesson learned from 3 years with hybrid appsLesson learned from 3 years with hybrid apps
Lesson learned from 3 years with hybrid apps
 
HTML5 - Let’s make the WEB more powerful
HTML5 - Let’s make the WEB more powerfulHTML5 - Let’s make the WEB more powerful
HTML5 - Let’s make the WEB more powerful
 
Videogram - Building a product with Sencha Touch
Videogram - Building a product with Sencha TouchVideogram - Building a product with Sencha Touch
Videogram - Building a product with Sencha Touch
 
Mobile html5 v2
Mobile html5 v2Mobile html5 v2
Mobile html5 v2
 
Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app
 
Building Apps with React Native - Lessons Learned
Building Apps with React Native - Lessons LearnedBuilding Apps with React Native - Lessons Learned
Building Apps with React Native - Lessons Learned
 
DjangoSki
DjangoSkiDjangoSki
DjangoSki
 
How does the Internet Work?
How does the Internet Work?How does the Internet Work?
How does the Internet Work?
 
Bruce lawson-over-the-air
Bruce lawson-over-the-airBruce lawson-over-the-air
Bruce lawson-over-the-air
 

Último

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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
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
 
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
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
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
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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
 

Último (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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 ...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
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
 
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
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 

Developing for the mobile web

  • 1. Developing for the “mobile web” Joey Simhon (@joeysim) CTO and Co-Founder DoAT
  • 2. Hello World Growing Internet & mobile babies since 2000 Owned and managed 2 web agencies (UX & Tech) Served as acting CTO for several startup companies Passionate about engineering and the culture around it
  • 3. DoAT 1st search engine born mobile Launched at TCD NYC in May 2011 (winner of the Bing choice award) iPhone / US availability at first, expanded to Canada. We’ve built and deployed over 50 mobile web apps in the past year+. @DoATGeeks - a multidisciplinary team - Web, iOS / Android / WPhone, Algorithms and all sorts of backend technologies Follow us - @doatgeeks | geeks.doat.com
  • 4. There’s no such thing as the “mobile web”
  • 5. From a UX perspective icon + full screen = app
  • 8. We want you to hack it and innovate on top of it
  • 9. As painlessly as possible :-)
  • 10. Things we wish we had known
  • 12. Device / Browser Capabilities • We'll focus on 2 browser engines - webkit (iOS/Android) and trident (Windows Phone) • Stuff you’d want to use • Application Cache (cache.manifest) • Local storage • History - pushState() • CSS3 • Geo Location
  • 13. CSS • No fixed positioning. Use JS libraries to imitate behavior - iScroll, Scrollability, TouchScroll • CSS animations - some use hardware acceleration (iOS only). Offload to GPU. It’s limited to scale, rotation and translate (position), plan your layout accordingly. Different syntax for different browsers (-webkit / -moz- / -o) • Pixel ratios to support Retina. • Use spin.js to create great indicators at low cost
  • 14. Javascript • Slow - little resources (CPU/Interpreter) • Prefer native (aka “vanilla”) code (e.g. $(".classname") vs. document.querySelector(".className")) • Parsing can be slow too (jQuery takes several 100's ms to parse, blocky) • Use mobile only libraries (zepto.js, xui.js, etc) • Visible first strategy, load and render the rest on-demand • Android vs iOS - can be up to x2-x10 faster in raw speed (eg LZW compression)
  • 15. Network • High latency • When it's there (AT&T) • 6 concurrent HTTP reqs (sometimes 4) • Global (verified on iOS). Splitting hosts will be slower (DNS) • A request is an order of a magnitude more expensive than desktop • Inlining vs requesting (embed base64 images, scripts/styles) • Unifying / Minifying (minify library for PHP can be useful) • Image dimensions and compression level (proxy images, Cotendo AIC) • Offload cookies to local storage when not needed on server
  • 16. WebSocket • Reduces round trips dramatically • Supported on iOS only • Important gotcha - doesn’t support gzip compression • Still evolving (was removed when there was a security issue) so always have a fallback ready (there are libraries that handle this for you) • Keeping it open and re-opening is your responsibility
  • 17. HTTP caching • Limited storage (RAM/Disk) • Not persistent in some cases (iOS standalone / UIWebView / power cycles) • Internally in iOS still occupies the HTTP pipe (response is faster around ~10ms) • Application Cache can help persist your assets
  • 18. Android specifics No CSS fixed positioning on Android 2.1 and below No hardware accelerated CSS transitions. No hardware acceleration. Period. No Standalone mode Screen resolutions and ratios vary
  • 19. iOS specifics Standalone mode has some caveats No cache.manifest No HTTP caching No Nitro Splash is shown until load event is fired (looooong) UIWebViews No Nitro (JIT JS) on UIWebView Sometimes only 4 concurrent HTTP reqs
  • 20. Windows Phone specifics Nothing much to say here The v7.0 Browser is like IE ~6.5 Just build for Mango (WPhone v7.5)
  • 22. TouchyBP You mobile web app starter kit Encapsulates all of the lessons we’ve discussed Simple page structure CSS normalization Hardware acceleration support And JS goodies Fork it on github
  • 23. Y U No Give Me iPhone 5z?
  • 24. Thank You. Joey Simhon (@joeysim) CTO and Co-Founder DoAT

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n