Hey folks,
About a month ago, I was contacted by a member of your forums concerning the Pender Project. What's a Pender? A few of the highlights:
- fast DOM-less JS execution environment
- Hardware acceleraned graphics through a HTML5 Canvas API
- Supports multitouch events
- compatible with PhoneGap/Cordova
In a mouthful: Pender exposes a hardware accelerated HTML5 Canvas API to a pure javascript environment. Write an app purely in javascript, and the Pender API run it on any droid device running OS 8 and up.
Pender is compatible with PhoneGap/Cordova, allowing several use cases:
- Cordova Drives - embed a canvas element as if it were a native canvas
- Pender Drives - leverage the Cordova WebView for GUI control of your app
You can find the project here:
github.com/lorinbeer/pender-android
requirements:
- updated android sdk on your path
- unix shell or equivalent (cygwin for windows)
- null
getting started:
navigate to the tools directory:
cd pender-android/tools
run the create script:
./create -c
The script will dump out what it's doing on the terminal, which is a lot.
It:
- finds latest android version installed on your system
- creates an Android Library Project, and copies over source
- downloads static library dependencies
- creates a Pender Example project
- updates example project with PenderLibrary link
- null
All you need to do is replace the MainActivity class in the example project with something like the following
package com.pender.client;
import android.app.Activity;
import android.os.Bundle;
import com.pender.Pender;
public class PenderActivity extends Activity
{
/** Called when the activity is first created. */
lww@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
mPender = new Pender(this);
mPender.init();
}
private Pender mPender;
}
The build tooling has a lot of options. "-c" indicates that it should build a "client" project. Please not that using many of the options (like specifying a path) will break portions of the build. That's ok. Ping me when you come across something, or report an issue on github, and I'll get to it asap. Or better yet, fix it and send me a pull request!
This seems like a great community, and I'm looking forward to working with you!