Skip to content
Expose your C++ Libraries to Javascript with Google's V8
CoffeeScript C++ JavaScript Python Prolog Ruby Shell
Find file
New pull request
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
examples fix cmd line args

What is bea?

Bea helps you expose C++ libraries to Javascript.

What does it do ?

It generates the 'glue' code between your C++ classes and the V8 Javascript engine. The objects and functions which you want to expose are defined in special '.bea' files. Bea parses these files and generates a .h and .cpp which you include in your project and build it. Then you can write Javascript applications which use your C++ classes.

So far, bea has been successfully used to expose the OpenFrameworks C++ library to Javascript (, OpenGL 1.1 and the OpenCV library.

What is supported / Features ?

  • Static functions
  • C++ classes
  • Virtual functions -- allows you to subclass and override C++ virtual functions from Javascript
  • Multiple inheritance is supported
  • Raw pointers and buffers
  • Pointers from javascript Array and vice-versa
  • Javascript accessors from member variables
  • Object-notation js types to native C++ types

Installing & Running

Install node.js, then Coffee-Script, then run npm install to get bea dependencies:

npm install -g coffee-script
git clone 
cd bea
npm install

After that, you can run bea, like so:

coffee bea fileName.bea 

Bea file syntax

Please read the file.

Something went wrong with that request. Please try again.