You are previewing Supercharged JavaScript Graphics.

Supercharged JavaScript Graphics

Cover of Supercharged JavaScript Graphics by Raffaele Cecco Published by O'Reilly Media, Inc.
  1. Supercharged JavaScript Graphics
    1. SPECIAL OFFER: Upgrade this ebook with O’Reilly
    2. Preface
      1. Audience and Assumptions
      2. Organization
      3. Conventions Used in This Book
      4. Using Code Examples
      5. Safari® Books Online
      6. How to Contact Us
      7. Acknowledgments
    3. 1. Code Reuse and Optimization
      1. Keeping It Fast
      2. What and When to Optimize
      3. Homespun Code Profiling
      4. Optimizing JavaScript
      5. Optimizing jQuery and DOM Interaction
      6. Other Resources
    4. 2. DHTML Essentials
      1. Creating DHTML Sprites
      2. Converting into a jQuery Plug-in
      3. Timers, Speed, and Frame Rate
      4. Internet Explorer 6 Background Image Caching
    5. 3. Scrolling
      1. CSS-Only Scrolling Effects
      2. Scrolling with JavaScript
    6. 4. Advanced UI
      1. HTML5 Forms
      2. Using JavaScript UI Libraries
      3. Creating UI Elements from Scratch
    7. 5. Introduction to JavaScript Games
      1. Game Objects Overview
      2. The Game Code
    8. 6. HTML5 Canvas
      1. Canvas Support
      2. Bitmaps, Vectors, or Both?
      3. Canvas Limitations
      4. Canvas Versus SVG
      5. Canvas Versus Adobe Flash
      6. Canvas Exporters
      7. Canvas Drawing Basics
      8. Animating with Canvas
      9. Canvas and Recursive Drawing
      10. Replacing DHTML Sprites with Canvas Sprites
      11. A Graphical Chat Application with Canvas and WebSockets
    9. 7. Vectors for Games and Simulations
      1. Operations on Vectors
      2. Creating a JavaScript Vector Object
      3. A Cannon Simulation Using Vectors
      4. Rocket Simulation
    10. 8. Google Visualizations
      1. Limitations
      2. Chart Glossary
      3. Image Charts
      4. Interactive Charts
    11. 9. Reaching the Small Screen with jQuery Mobile
      1. jQuery Mobile
      2. TilePic: A Mobile-Friendly Web Application
      3. PhoneGap
    12. 10. Creating Android Apps with PhoneGap
      1. Installing PhoneGap
      2. Creating a PhoneGap Project in Eclipse
    13. Index
    14. About the Author
    15. Colophon
    16. SPECIAL OFFER: Upgrade this ebook with O’Reilly

Chapter 10. Creating Android Apps with PhoneGap

In the previous chapter, we developed a mobile-friendly web application using jQuery Mobile. In this chapter, we’ll convert the very same mobile application into a native Android mobile application using PhoneGap. At first glance, converting a humble JavaScript application into a native Android application seems like a miraculous metamorphosis: native Android apps are usually written in Java, Java is not JavaScript, and you can’t convert from one to the other. How does PhoneGap manage this? In fact, PhoneGap’s apparent magical abilities lie within the Android system itself. Android provides a facility called WebView that allows native applications to display regular web content. This includes the ability to execute JavaScript within the web content as normal.

One exciting feature of WebView is that it also allows interaction between a native Android application and the web content within the WebView. This is extremely useful, both for Android developers wanting to display and interact with web content within their applications and for web developers wanting to take advantage of Android device features like cameras and accelerometers. Essentially, PhoneGap is an Android application that uses a WebView for your web content, and also provides a JavaScript library for accessing some of the facilities of the Android device itself.

Other flavors of PhoneGap work in a similar way. For example, the Apple iPhone version of PhoneGap uses the iOS ...

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