makall

Don't take it personally

Running Elev8 – a JavaScript bindings for EFL

with 8 comments

JavaScript is an ubiquitous language with a large number of developers. Thinking of bringing EFL to the JavaScript ecosystem, a JavaScript bindings framework named Elev8 has been made. It’s still under development but there are a lot of widgets and modules that are ready for use.

The key feature of Elev8 is the declarative way to build a graphical interface. The declarations of widgets are like a recipe. Those declarations are passed to methods that realize the declared widgets and return a reference to them.

Under the hood, Elev8 uses the Google V8 JavaScript Engine to run its scripts. A module named ‘elm’ does all the GUI stuff and modules like ‘timer’ and ‘http’ bring in the functionalities of traditional JavaScript modules.

Elev8 is new on Enlightenment and it is on PROTO repository, this means that it isn’t installed by default. So it should be installed by hand the old fashioned way, autogen, make and make install. As it’s hard to create a tutorial to cover all Linux distros in the universe and its package systems, I’ll show here how to install the needed libraries on Ubuntu and ArchLinux.

Installing EFL and V8 on ArchLinux

sudo pacman -S elementary-svn v8

Installing EFL and V8 on Ubuntu

The EFL is outdated on Ubuntu, so here we need to do all the work without apt-get.

mkdir efl
cd efl

To avoid downloading all of Enlightenment, we’ll use a given script to download just the needed modules.

svn export -r71465 http://svn.enlightenment.org/svn/e/trunk/SCRIPTS/compile_efl.sh

There are a few changes to do on this script so everything works well. We’ll use sed to do it.

# use the actual directory to download sources
sed -i "s%^SRCDIR=.*$%SRCDIR=\"${PWD}\"%" compile_efl.sh

# remove the enlightenment from compilation
sed -i 's/\(PKGS=".*\) e\("\)/\1\2/' compile_efl.sh

This script identifies which distro it is running and downloads all dependencies of EFL. Then it downloads, compiles and installs all EFL modules. The EFL modules will be installed on /opt/e17-71465 and a script named e17-env.sh will be created. This created script points the environment variables to the EFL installed.

The compile_efl.sh script, should be ran as root. So, please, review the script to make sure your system will be safe.

sudo ./compile_efl.sh -r71465
source /opt/e17-env.sh
cd -

After that we’ll just install V8 on a debian way.

sudo apt-get install libv8-dev

Elev8

Downloading

svn checkout http://svn.enlightenment.org/svn/e/trunk/PROTO/elev8

Compile and install it

cd elev8
./autogen.sh
make
sudo make install
cd -

Running

By default, Elev8 is installed on /usr/local, so its scripts are in /usr/local/share/elev8/data/javascript. You can run some of those to test it.

elev8 /usr/local/share/elev8/data/javascript/anim.js

That’s all

Below are some screenshots and on the next post I’ll show a simple application using the ‘elm’ and ‘http’ modules.

Advertisements

Written by mello

May 29, 2012 at 6:41 pm

Posted in Elev8

Tagged with , , ,

8 Responses

Subscribe to comments with RSS.

  1. Great post! I’ve tried to follow your instructions on Ubuntu 12.10, but get a problem when the script tries to download ‘eina’:
    svn: E170000: URL ‘http://svn.enlightenment.org/svn/e/trunk/eina’ doesn’t exist

    Any idea what might be causing the wrong URL?

    Raju Bitter

    November 28, 2012 at 7:21 pm

    • Hi Raju, since this post was made, a lot of things was happen on EFL. At this moment the EFL repository is under restructuration and that’s why you received this error. Some coworkers are packaging EFL for ubuntu, but I don’t know if this work is finished. Tomorrow I’ll talk to then and I’ll update the post (or the comments). Tks.

      mello

      November 28, 2012 at 10:34 pm

      • Oh, thanks for the quick response. That’s what I guessed already. Still, Elev8 looks like an extremely cool technology. Can’t wait to play around with it! Thanks again!

        Raju Bitter

        November 28, 2012 at 10:44 pm

      • Hi, unfortunately I’m a little busy today, so I can’t made a decent post. But I had success on install Elev8 on Ubuntu 12.10 64bits at this morning. In resume:

        # add the ppa that contains the EFL packages and update the apt-get
        sudo add-apt-repository ppa:efl/trunk
        sudo apt-get update
        # install the required packages
        sudo apt-get install build-essential automake subversion libv8-dev libelementary-dev
        # checkout the code
        svn co http://svn.enlightenment.org/svn/e/trunk/PROTO/elev8
        # then build it
        cd elev8
        ./autogen.sh
        make
        sudo make install
        # run an example
        elev8 data/javascript/anim.js

        mello

        November 29, 2012 at 4:08 pm

  2. Thanks, mello, that worked like a charm for me! The last time I used the Enlightenment window manager was back in the 90’s, then I read that Tizen uses EFL – that’s how I ended up reading this blog post. Amazing how those Linux based projects from the 90’s are used for the latest generation of smartphones – combining JavaScript based UI development with the good performance of Linux.

    Raju Bitter

    November 29, 2012 at 10:05 pm

  3. hello, how to install elev8?
    svn: E170000: URL ‘http://svn.enlightenment.org/svn/e/trunk/PROTO/elev8’ doesn’t exist

    SidorenkoV

    April 5, 2013 at 12:48 pm


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: