Heya.

As you've probably noticed, I just flooded your inbox with elev8
commits. Sorry for that, but it's
for a good cause. For those that don't know, elev8 is the next gen
JavaScript bindings for EFL.
It is based on Google's V8 engine (hence the name), and includes a
module that allows creating
Elementary apps in a declarative way, greatly reducing the amount of
code necessary to build
the UI for your application.

There is a significant amount of examples included in
$REPO/data/javascript if you'd like to get
the gist of it.

Also of note is that we're talking with Node.js (http://nodejs.org --
essentially a popular framework
to create server-side web stuff) guys in order to integrade elev8 with
it. This latest batch of patches
actually makes Elev8's elementary module compatible with a hacked
Node.js that integrates with
our main loop. Eventually this hack won't be necessary anymore. This
will make it possible to reuse
most of their libraries, which is awesome.

For those that know what elev8 is, and are following its development:
there has been substantial
changes, specially in the Elementary module:

- The Javascript object inheritance model is now being used, instead
of the home-cooked one
that was rather inefficient (both in space and time).
- As a result of this, the API to declare things has changed. Please
refer to the examples and
each individual commit for details (or ask here, I'll be able to help).
- Memory management has improved: there should be no obvious sources
of memory leaks, although
that's quite tricky to find in a garbage-collected environment -- but
objects should release their
memory when V8 GC kicks in.
- HandleScope usage inside getters/setters has been reviewed. It's not
necessary to declare a
HandleScope anymore, the wrapper callbacks should take care of it.
- Widgets that permits creating subwidgets (boxes, tables, etc) had
their implementation heavily
changed. Mainly, one just need to override DidRealiseElement() if
there's a need to do something
extra with it (like packing it into a box). Javascript users don't
need to worry about this.
- Also from the C++ side, make_or_get(), get(), get_object(), etc, are
all dead. Better named
equivalents are in place now, like GetEvasObject(),
GetEvasObjectFromJavascript(), GetJSObject(),
etc. These might change slightly in the near future, but this is an
implementation detail and
Javascript users don't need to worry as well.
- Lots of widgets had their API changed as well. I'm too lazy right
now to see which ones that did,
but if you have any question for a particular widget, don't be afraid to ask.

I'm sure I'm forgetting something -- ask/question/criticize away.

Cheers,
    Leandro

------------------------------------------------------------------------------
Better than sec? Nothing is better than sec when it comes to
monitoring Big Data applications. Try Boundary one-second 
resolution app monitoring today. Free.
http://p.sf.net/sfu/Boundary-dev2dev
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to