Apache Ripple(tm)

A browser based, platform agnostic mobile application development and testing tool.

Build Requirements

  • OSX / Linux
  • nodejs, npm
  • Windows
  • nodejs, npm
  • Python (v.2.7.x recommended, v.3.x.x is not supported)
  • Visual Studio 2010. The setup instructions can be found here
  • Ripple uses Bower for js libraries managing. In order to use Bower on Windows, msysgit must be installed in a proper way - see Bower's README.md

Getting Started

If you plan to dive into the source, be sure to check out the HACKING file.

To get started, you need to setup a few things, first- run (in the project root):


This script will pull down the needed npm packages and initialize the submodules.

Build Commands


This will build ripple to the pkg/ folder. In that folder there are various targets that can be used.

jake -T

This will describe all the available commands for building and running the tests, etc.

Running Inside Other Web Browsers

Ripple is (by-design) browser agnostic, and should be able to run inside any web browser.

If you want to run it inside other browsers, you will need to use the pkg/hosted target, paired with the CLI's emulate command.

Ex (using the NPM package):

ripple emulate --path to/my/app

# or

ripple emulate --remote http://remote-site.com

Then navigating to (your app's html file):


CLI & NPM Package

There is a command line interface that can be paired with the client (UI).

It can be used for various things, such as statically hosting an application, and running a local (cross origin) XHR proxy.

To install:

npm install -g ripple-emulator

This will install a global script called ripple. To see usage, run:

ripple help


The master branch is the latest (stable) release. The next branch is where all development happens.

If you like the project, and want to contribute code, please issue a pull request (on GitHub) into the next branch.

Note: You will need to submit an Apache ICLA (Individual Contributor License Agreement) for your contribution to be accepted.

Code Guidelines

  • 4 spaces per editor tab.
  • jake lint, no new lint errors introduced.
  • All unit tests are green.

Reference Material & Community