Javascript Bindings for the Enlightenment Foundation Libraries (EFL)

The EFL is a framework providing a great deal of functionality, from operating system abstraction to UI drawing abstractions and many others. The Javascript bindings for EFL are available in two flavors: A node.js module and direct embedding with libv8. Both are built on top of the libv8 JS engine.

Below follows a list of the EFL modules covered by the javascript bindings. For node.js users, all are available through the module efl.

var efl = require('efl');

Supported modules

  • Ecore - Operating system abstraction and integration.
  • Eio - Async input/output.
  • Eina - Data types and basic abstractions.
  • Ethumb - Generate thumbnail images of files.
  • Eldbus - Dbus-integration.

Under the hood

The Javascript binding is split into two big parts. The first is a manual binding, wich is described in this documentation. The automatic binding covers the Eo-based classes, built with automatically-generated code and will be covered later.

Due to the C++ being the native language of the libv8, it's was also used to write the bindings, with the help of the C++ bindings for EFL.