Hi,
We have been experimenting with converting Apache Ripple into one of the
Cordova platforms. Apache Ripple is a great tool for emulating the mobile
devices.
Ripple currently supports some core built-in plugins. The idea of making it a
platform is for any plugin (including core plugins and third party plugins)
simulate the information when user code calls the plugin. The plug in would
just have to add the "Ripple" platform, and have a javascript file that emits
the required mock or real data.
This is also very similar to the cordova-browser where browser becomes a
cordova platform. For next steps, we are looking at how we could try to layer
Ripple on top of Cordova browser since the underlying platforms for both
systems are similar.
P.S: We would also need an API for plugins to display widgets that let users
manipulate the data a plugin returns. This prototype does not address that
issue, but is aware of it, and we are looking at community help to fix the
problem
Here is the project and the instructions on how to run it.
You can test it with following commands:
1. Install cordova-cli and cordova-lib
a. cd to d:\cordova
b. Get cordova-cli
git clone https://github.com/msopentech/cordova-cli
c. Get cordova-lib
git clone https://github.com/msopentech/cordova-lib
d. Link your cordova-lib repo to cordova-cli node-modules:
cd cordova-cli\node_modules
mklink /d cordova-lib d:\cordova\cordova-lib\cordova-lib (this should be run
with admin privileges)
e. Install dependencies to both cordova-cli and cordova-lib:
cd cordova-cli && npm install
cd cordova-lib\cordova-lib && npm install
f. Now you can run CLI with following:
D:\cordova\cordova-cli\bin\cordova.cmd
You can make alias for this command or run it any other way.
2. Create test project
cordova create test-project
3. Replace www folder inside the project with the one from the attachment
4. Add ripple platform
cordova platform add ripple
5. Add camera plugin
cordova plugin add https://github.com/MSOpenTech/cordova-plugin-camera.git
6. Start application
cordova emulate
Would love to hear your feedback and any other question you may have. Please
let us know if this sounds interesting.