Skip to content
Expose your C++ Libraries to Javascript with Google's V8
CoffeeScript C++ JavaScript Python Prolog Ruby Shell
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

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

Running bea

Install node.js and then Coffee-Script

    npm install -g coffee-script

Then, run:

    coffee bea fileName.bea [-o outputDir -m -f]

Bea file syntax

Please read the file.

Something went wrong with that request. Please try again.