Project Pender provides a hardware accelerated 2D graphics api wit JS hooks for 
mobile devices. This provides a fast drawing context for platforms that lack 
hardware accelerated Canvas drawing in the native browser.  Currently supported 
are Android, iOS, Blackberry and Desktop Browser.

The graphics api emulates the html5 Canvas api, allowing Pender client projects 
to run on mobile or on desktop with the inclusion of a lightweight shim. No 
changes to the Pender client project itself are required.

I would like to propose including Pender under the cordova-labs repo.

https://github.com/doggerelverse/incubator-cordova-labs

Pender-android and Pender-desktop are the most developed, and are compatible 
with the contents of Pender-demo/client example project.

Pender-ios and Pender-blackberry are at an early 'proof-of-concept' phase, 
which means the components are in place, but the Canvas api has not been 
implemented.

The general architecture of a Pender implementation is:

 *   embedded JS Engine
    *   interprets pure JS in a DOMless execution environment
    *   provides js hooks to the native implementation of the Canvas api
 *   PenderCanvas
    *   Native class, exposed to js engine through PenderJS
    *   provides hardware accelerated 2D Canvas api
 *   PenderJS
    *   Native class, exposed to js engine
    *   provides Canvas context
    *   provides resource loading and communication with Native
 *   pender.platform.js
    *   platform specific js shim
    *   imports native functionality (Rhino)
    *   defines missing expected objects (console.log, etc)


Pender has been developed as a standalone project, but Early testing indicated 
that Pender is compatible with Cordova, and could be included as part of 
Cordova core, or as a separate Plugin.

Thanks for your time and attention!

- Lorin Beer

Reply via email to