You are previewing Programming the Mobile Web.

Programming the Mobile Web

Cover of Programming the Mobile Web by Maximiliano Firtman Published by O'Reilly Media, Inc.
  1. Programming the Mobile Web
    1. SPECIAL OFFER: Upgrade this ebook with O’Reilly
    2. Preface
      1. Who This Book Is For
      2. Who This Book Is Not For
      3. What You’ll Learn
      4. Other Options
      5. If You Like (or Don’t Like) This Book
      6. Conventions Used in This Book
      7. Using Code Examples
      8. How to Contact Us
      9. Safari® Books Online
      10. Acknowledgments
    3. 1. The Mobile Jungle
      1. Myths of the Mobile Web
      2. The Mobile Ecosystem
      3. Mobile Knowledge
      4. Brands, Models, and Platforms
      5. Technical Information
      6. Market Statistics
    4. 2. Mobile Browsing
      1. The Mobile Browsing Experience
      2. Mobile Web Eras
    5. 3. Architecture and Design
      1. Website Architecture
      2. Design and Usability
    6. 4. Setting Up Your Environment
      1. Setting Up a Development Environment
      2. Production Environment
    7. 5. Markups and Standards
      1. First, the Old Ones
      2. Current Standards
      3. XHTML Mobile Profile and Basic
      4. CSS for Mobile
      5. Confusion
    8. 6. Coding Markup
      1. Heading Structure
      2. The Document Body
      3. Plug-ins and Extensions
    9. 7. CSS for Mobile Browsers
      1. Where to Insert the CSS
      2. Selectors
      3. CSS Techniques
      4. Common Patterns
      5. CSS Sprites
      6. WebKit Extensions
    10. 8. JavaScript Mobile
      1. Supported Technologies
      2. Coding JavaScript for Mobile Browsers
    11. 9. Ajax, RIA, and HTML 5
      1. Ajax Support
      2. JavaScript Libraries
      3. WebKit CSS Extensions
      4. Mobile Rich Internet Applications
      5. HTML 5
    12. 10. Server-Side Browser Detection and Content Delivery
      1. Mobile Detection
      2. Content Delivery
      3. Multimedia and Streaming
      4. Content Adaptation
      5. Mobilizing WordPress and Other CMSs
    13. 11. Geolocation and Maps
      1. Location Techniques
      2. Detecting the Location
      3. Showing a Map
    14. 12. Widgets and Offline Webapps
      1. Mobile Widget Platforms
      2. Standards
      3. Platforms
      4. Widget Design Patterns
    15. 13. Testing, Debugging, and Performance
      1. Testing and Debugging
      2. Performance Optimization
    16. 14. Distribution and Social Web 2.0
      1. Mobile SEO
      2. Mobile Web Statistics
      3. Mobile Web Advertising
      4. Mobile Web Social Features
    17. A. MIME Types for Mobile Content
      1. Markup and Script MIME Types
      2. Image MIME Types
      3. Mobile Content MIME Types
      4. Audio and Video MIME Types
      5. Widget and Webapp MIME Types
    18. Index
    19. About the Author
    20. Colophon
    21. SPECIAL OFFER: Upgrade this ebook with O’Reilly
O'Reilly logo

Chapter 9. Ajax, RIA, and HTML 5

Wow! Ajax, HTML 5, and RIA? How do these things fit together on a mobile device? We all know that Ajax is just a JavaScript technique, so that part is obvious. For mobile browsers, HTML 5 is also more or less a JavaScript thing, with some bonus markup features (the new technologies borrowed by the mobile browsers from the HTML 5 draft are almost all new JavaScript APIs that will work with HTML). Rich Internet Application development also involves the implementation of some JavaScript UI pattern designs.

Ajax Support

Ajax is especially important for mobile devices. The ability to download only the data to be updated and avoid unnecessary page loads is key for mobile browsers. However, Ajax is not part of the official standards, and support can vary from device to device.

Note

If your mobile website gets content using Ajax, you should implement Google’s proposal for search engine optimization (SEO). You can find more information about this at http://code.google.com/web/ajaxcrawling.

Let’s first verify the browsers’ support for the XMLHttpRequest native object (see Table 9-1). Cross-domain requests are not compatible with mobile browsers today because of supposed security problems, but you can bypass this problem with a simple proxy on your server.

Table 9-1. XMLHttpRequest support compatibility table

Browser/platform

XMLHttpRequest support

Safari

Yes

Android browser

Yes

Symbian/S60

Yes since 3rd edition

Nokia Series 40

No before 6th edition

webOS

Yes

BlackBerry

No before ...

The best content for your career. Discover unlimited learning on demand for around $1/day.